GitHub Tamagotchi MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • 该工程实现了一个 MCP 服务器,面向 AI 助手提供“宠物资源”、“工具注册与执行”等能力。核心是将后端数据库中的宠物数据以及相关业务逻辑,通过 MCP 工具对外暴露,方便 LLM 客户端以统一的接口调用后端功能。
  • 主要功能点

    • 工具暴露:提供注册宠物、查询宠物状态、喂养宠物、列出全部宠物、查看和获取历史、以及根据仓库健康状态同步宠物状态等工具接口。
    • 与数据库交互:通过异步数据库会话读取和更新宠物数据,确保状态在不同请求之间的一致性。
    • 与 GitHub、健康逻辑整合:集成 GitHub 服务、宠物进化逻辑、健康/经验计算,以及简单的演化判断。
    • MCP 端点与协议:使用 FastMCP 框架,将工具以 MCP 的形式暴露给 AI 客户端,默认 MCP 入口为 /mcp/mcp。
    • 容错与日志:对外暴露的工具会捕获异常并返回结构化的结果,关键操作有日志输出。
  • 安装步骤

    • 安装依赖:确保环境安装 Python 及所需依赖(如 FastAPI、SQLAlchemy、FastMCP、httpx 等)。
    • 数据库准备:按项目要求配置并初始化数据库(PostgreSQL 或 SQLite 测试用内存数据库等)。
    • 安装并运行应用:
      • 启动 FastAPI 应用(默认入口为 app 对象,使用 uvicorn 启动)。
      • 通过 MCP 入口路径 /mcp/mcp 暴露 MCP 服务端接口。
    • 运行命令示例(请按你的环境替换参数):
      • uvicorn github_tamagotchi.main:app --reload
    • MCP 客户端配置通常在客户端侧完成,下面给出一个示例配置格式,便于你将 MCP 客户端指向该 MCP 服务器。
  • 服务器配置(MCP 客户端配置示例注释) 配置示例(非代码区,用于理解参数含义): { "mcpServers": { "github-tamagotchi": { "type": "streamable-http", "url": "http://localhost:8000/mcp/mcp", "server_name": "GitHub Tamagotchi MCP 服务器", "command": "uvicorn", "args": ["github_tamagotchi.main:app", "--reload"] } } } 说明:

    • server_name 表示 MCP 客户端识别的服务器名称,与服务端无强依赖关系,仅用于显示。
    • command/args 提供起动服务器时的命令与参数,帮助调试或文档化,但 MCP 客户端本身并不需要执行服务器命令,这里给出便于理解的参考信息。
    • 该示例中的 URL 指向本地 8000 端口的 /mcp/mcp 路径,请在生产环境中替换为实际的服务地址。
  • 基本使用方法

    • 启动服务后,MCP 客户端即可通过 MCP 端点调用暴露的工具,如注册宠物、查询状态、喂养等,返回 JSON-RPC 风格的响应。
    • 你可以在你的 AI 助手中定义需要的工作流,按工具名称和参数进行调度,服务端将返回宠物状态、健康、进化等信息,便于 LLM 做出决策或生成后续交互。

服务器信息