Token导航 LogoToken导航TokenDH.com
Gamebuddy MCP logo
AI代理未说明官方级别未说明来源级核验

Gamebuddy MCP

MCP Server

GameBuddy MCP Server是一个展示如何通过工具、资源和提示为AI代理提供上下文能力的模型上下文协议(MCP)服务器,适用于教育和管理场景。

工具数

6

提示词数

0

GitHub Stars

1

资源数

0
AI代理教育工具C#开发工具上下文管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

royarin

提供方

royarin

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

GameBuddy MCP服务器

模型上下文协议(MCP)服务器,演示如何通过工具、资源和提示为AI代理提供上下文功能。

问题:没有上下文的代理

人工智能代理功能强大,但如果没有适当的工具和环境,它们的能力就会受到限制。随着应用程序复杂性的增加,管理多个单独的工具变得很麻烦。本项目演示了MCP如何通过以下方式解决此问题:

  1. 通过工具提供上下文 -将API端点公开为代理可以发现和使用的标准化MCP工具
  2. 集中工具管理 -将所有工具、资源和提示整合到单个MCP服务器中
  3. 介绍MCP图元 -利用资源制作静态/动态内容,并提示引导工作流程

项目结构

该存储库包含一个完整的GameBuddy学习系统,其中包含多个组件,展示了代理在有和没有工具的情况下的功能:

1.GameBuddy。应用程序编程接口

REST API后端,用于管理儿童的配置文件、首选项和测验进度跟踪。

  • 端口: https://localhost:5001
  • 端点:档案管理、偏好、进度跟踪、测验完成
  • 存储:基于文件的JSON存储
  • 开放应用程序接口:Swagger UI在根目录下可用(/)

2.GameBuddy(主机代理-无工具)

一个基于控制台的AI代理,试图在没有任何工具或上下文的情况下与GameBuddy进行交互。

演示:

  • 代理人如何在没有适当工具的情况下挣扎
  • 仅依赖常识时能力有限
  • 无法访问实时数据或执行操作

运行:

cd GameBuddy
dotnet run

该代理将展示在没有实际数据或功能的情况下提供有意义的帮助是多么困难。

3.GameBuddyTools(控制台代理-通过函数调用使用工具)

一个基于控制台的人工智能代理,使用函数调用与GameBuddy API交互。

演示:

  • 工具如何使代理能够访问真实数据
  • AI代理的函数调用模式
  • API与工具定义的直接集成

运行:

cd GameBuddyTools
dotnet run

该代理可以通过函数调用来调用API端点,从而成功地检索和操作数据。然而,随着应用程序的增长,管理和维护工具定义可能会变得很麻烦。

4.GameBuddy。MCP(MCP服务器-集中工具管理)

通过MCP原语公开GameBuddy API功能的MCP服务器:

工具(6):

  • list_all_children_by_nicknames -列出所有孩子
  • get_child_profile_by_nickname -按昵称获取个人资料
  • get_child_preferences_by_nickname -获取学习偏好
  • get_child_progress_by_nickname -为一个孩子取得进步
  • get_all_children_progress -为所有孩子取得进步
  • record_child_quiz_completion_by_nickname -记录测验结果

资源(2):

  • spelling-rules://age/{age} -适龄拼写规则和教学策略
  • capital-game://difficulty-strategy -适应性难度策略,涉及195个国家,分为3个级别

提示(2):

  • summarize_all_children_progress_by_period -对所有儿童的全面进展分析
  • summarize_child_progress_by_period -针对特定儿童的详细进度分析

运行MCP服务器

先决条件

  • .NET 8.0 SDK
  • 使用GitHub Copilot的Visual Studio代码

1.启动GameBuddy API

cd GameBuddy.Api
dotnet run

API将于 https://localhost:5001 Swagger UI位于根目录。

2.启动GameBuddy MCP服务器

cd GameBuddy.MCP
dotnet run

MCP服务器将通过HTTP传输启动并公开工具。

3.配置VSCode以使用MCP服务器

将MCP服务器配置添加到VSCode设置中。您可以使用HTTP传输或基于命令的执行:

选项A:HTTP传输(推荐)

工作区设置 (.vscode/settings.json):

{
  "github.copilot.chat.mcp.servers": {
    "gamebuddy-mcp": {
      "type": "http",
      "url": "http://localhost:5126/mcp",
      "headers": {}
    }
  }
}

优点:

  • 服务器独立运行
  • 更易于调试和监控
  • 可以在多个客户端之间共享
  • 更快的连接和重新连接

选项B:基于命令(自动启动)

工作区设置 (.vscode/settings.json):

{
  "github.copilot.chat.mcp.servers": {
    "gamebuddy": {
      "command": "dotnet",
      "args": ["run", "--project", "GameBuddy.MCP/GameBuddy.MCP.csproj"],
      "cwd": "${workspaceFolder}",
      "env": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

用户设置 (用于全球访问):

{
  "github.copilot.chat.mcp.servers": {
    "gamebuddy": {
      "command": "dotnet",
      "args": ["run", "--project", "D:/Demo/AgenCon/Oslo/MCP/GameBuddy.MCP/GameBuddy.MCP.csproj"],
      "env": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

优点:

  • VSCode自动启动MCP服务器
  • 无需手动运行服务器
  • 由VSCode管理的服务器生命周期

4.VSCode中的测试

  1. 在VSCode中打开GitHub Copilot聊天
  2. 开始新的聊天会话
  3. MCP服务器工具将自动可供Copilot使用

示例提示尝试:

Show me all available children in the system

Get Mila's profile and preferences

Analyze Mila's progress over the last 3 months

What are the spelling rules appropriate for a 7-year-old?

Record a quiz completion for Alex: France, Germany, Italy - 4 out of 5 correct

Compare the progress of all children

演示MCP图元

工具

代理可以调用的函数来执行操作或检索数据。所有6个工具都使用基于昵称的标识(例如“mila”、“alex”、“sam”),而不使用单独的ID。

例子:

{
  "name": "get_child_progress_by_nickname",
  "parameters": {
    "nickname": "mila"
  }
}

资源

为代理提供上下文的静态或动态内容。资源有URI模板,可以参数化。

例子:

spelling-rules://age/7
capital-game://difficulty-strategy

提示

指导代理完成复杂工作流程的预结构化指令。提示可以接受参数来自定义行为。

例子:

{
  "name": "summarize_child_progress_by_period",
  "parameters": {
    "nickname": "mila",
    "months": 3
  }
}

架构优势

MCP之前

  • 每个API端点都需要单独的工具定义
  • 工具管理分散在代码库中
  • 没有提供上下文的标准化方法
  • 版本和维护困难

MCP之后

  • 集中工具、资源和即时管理
  • 代理通信的标准化协议
  • 通过MCP自检易于发现
  • 版本控制和文档在一个地方

示例数据

该系统配有3个预配置的子系统:

  • 亚历克斯 (8岁)-喜欢简单的难度,对地理和科学感兴趣
  • 米拉 (6岁)-喜欢高难度,对拼写和数学感兴趣
  • 山姆 (10岁)-喜欢中等难度,对历史和地理感兴趣

进度数据存储在 GameBuddy.Api/Data/Progress/{nickname}_progress.json.

使用的技术

  • .NET 8.0 -应用框架
  • ASP。NET核心最低API -API端点
  • 模型上下文协议。服务器 -MCP-SDK
  • 旋扣。AspNetCore -OpenAPI/Swagger
  • Serilog -结构化日志记录
  • 系统。文本。JSON -JSON序列化

开发笔记

  • API在端口5001上使用HTTPS,并启用CORS进行开发
  • MCP服务器通过配置中的基本URL通过HttpClient连接到API
  • 所有工具都使用简单的字符串昵称(没有GUID或数字ID)来减少LLM混淆
  • 进度跟踪包括用于趋势分析的会话历史记录
  • 自适应难度资源提供完整的195个国家的数据集,以消除LLM猜测

了解更多

官方资源

需要探索的关键概念

  • MCP规范 -了解协议基础
  • 传输机制 -Stdio与HTTP传输模式
  • 服务器实现 -构建自定义MCP服务器
  • 客户端集成 -将LLM和代理连接到MCP服务器
  • 工具设计模式 -工具命名和描述的最佳实践

贡献

此存储库演示了MCP服务器实现模式。您可以自由探索、学习和适应您自己的MCP服务器。

许可证

MIT许可证-有关详细信息,请参阅许可证文件

目录标签

目录标签

AI代理教育工具C#开发工具上下文管理本地部署API集成开发效率

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP