Pancake POS MCP 服务器

使用说明内容(Markdown格式)

  • 项目简介

    • 这是一个基于 MCP(Model Context Protocol)的后端服务实现,旨在向大语言模型客户端提供 Pancake POS 的资源数据、工具调用以及对话相关能力,支持通过标准的 JSON-RPC 进行通讯,提供本地 stdio 与远程 HTTP 两种传输方案。
  • 主要功能点

    • 资源管理:整合 Pancake 的商店、地理信息、库存等数据的访问接口。
    • 工具注册与执行:将订单、仓储、运输、会话等功能以工具形式注册,LLM 调用后端接口执行操作。
    • 对话与消息支持:提供聊天/消息相关工具,构建跨渠道的对话能力。
    • 支持两种传输模式:本地 stdio(Claude Desktop)和远端 HTTP(Claude AI/云端)。
    • 安全与会话:通过 API Key/Access Token 进行鉴权,支持请求上下文中的鉴权信息传递。
  • 安装步骤

    • 获取代码:克隆仓库,并进入项目目录。
    • 安装运行依赖:按需要安装 Python 环境和依赖包。
    • 运行方式二选一:
      • 本地 stdio 模式(推荐用于 Claude Desktop):
        • 以 pancake-mcp-stdio 命令启动服务,并通过环境变量 PANCAKE_API_KEY 和/或 PANCAKE_ACCESS_TOKEN 提供凭证。
      • 远程 HTTP 模式(适用于 Claude AI/Pro/Team 等远程连接):
        • 以 uvicorn 方式启动,访问 http://0.0.0.0:8000,必要时通过环境变量提供 Pancake 的 API Key。
    • 验证运行:在浏览器或 curl 请求下访问 health 接口,确认服务器正常启动。
  • 服务器配置 说明:MCP 客户端(如 Claude)连接 MCP 服务器时需要提供配置中的 server 名称、启动命令与参数等,但实际配置信息对客户端的需求较低。下面给出两种常用配置示例(JSON 形式,供参考):

    • 本地 stdio 模式( Claude Desktop 本地化连接) { "mcpServers": { "pancake-mcp-stdio": { "command": "pancake-mcp-stdio", "env": { "PANCAKE_API_KEY": "<你的 POS API Key>", "PANCAKE_ACCESS_TOKEN": "<你的 Chat Access Token>" } // 说明:使用本地 stdio 模式时,凭证通过环境变量传入,命令直接执行本地二进制 pancake-mcp-stdio。 } } }
    • 远程 HTTP 模式( Claude AI/Pro/Team 远程连接) { "mcpServers": { "pancake-http": { "command": "uvicorn", "args": [ "pancake_mcp.server:app", "--host", "0.0.0.0", "--port", "8000" ], "env": { "PANCAKE_API_KEY": "<你的 POS API Key>", "PANCAKE_ACCESS_TOKEN": "<你的 Chat Access Token>" } // 说明:通过 uvicorn 启动 HTTP 服务器,CLI 客户端仅需知道服务器 URL 即可连接。 } } }
  • 基本使用方法

    • 确保 Pancake API Key 和/或 Chat Access Token 已正确配置并可用。
    • 对于本地 stdio 模式,运行 pancake-mcp-stdio 即可,Claude Desktop 将在配置中引用该本地进程。
    • 对于远程 HTTP 模式,启动 uvicorn pancake_mcp.server:app,即获得 HTTP 端点供 Claude/其他客户端连接使用。
    • 测试健康接口:访问 /health,返回状态应为 status: ok、server: pancake-pos-mcp。
    • 调用工具示例:在 Claude 中调用注册的工具,如获取商店、查询订单、管理库存等,后端会通过 Pancake 的 POS 与 Chat 接口执行对应操作。

服务器信息