freee-mcp
使用说明
-
项目简介
- freee-mcp 是一个基于 MCP(Model Context Protocol)的服务器端实现,设计目标是以标准化的 JSON-RPC 协议向 LLM 客户端提供上下文信息和能力。核心职责包括托管资源、注册并执行工具,以及定义/渲染 Prompt 模板,以实现对外部 API 的安全可控访问。它与 Claude 生态(Claude Desktop/Code 插件)紧密结合,允许从 Freee 的 API 进行实际调用并返回结果给 LLM 客户端。
-
主要功能点
- MCP 服务器核心:提供标准化的 MCP 服务端框架,通过 JSON-RPC 与客户端通信,支持会话管理、能力声明和多传输通道(当前实现基于 STDIO,未来可扩展为 SSE/WebSocket 等)。
- 资源管理与数据访问:后端通过 OpenAPI/目标 API(Freee API)进行数据拉取与查询,并对结果进行结构化渲染返回给客户端。
- 工具注册与执行:注册多种工具(如 OAuth 授权、获取当前用户、切换事业所、列出事业所等),并允许 LLM 通过工具接口完成对外部系统的操作。
- Prompt 模板与上下文注入:结合 Skill/参考文档实现对 API 用法的上下文注入和渲染,提升对话质量与一致性。
- 安全认证与会话管理:内置 OAuth2.0 PKCE 流程、令牌管理、授权回调服务以及会话超时控制,支持动态事业所切换。
- Claude 插件与 Skill 集成:提供针对 Claude 的技能与工具接入能力,便于在 Claude Code/Claude Desktop 中使用。
- 开发与测试友好:提供完整的单元测试、集成测试、CI 支持和本地开发脚本。
-
安装步骤
- 安装依赖与构建
- 下载安装依赖(推荐使用 pnpm 或 npm):安装项目依赖、进入开发模式、运行构建与类型检查。
- 运行与调试
- 启动开发环境:进入项目后,使用开发命令启动 MCP 服务器(如 pnpm dev)。
- 构建产物:使用构建命令打包为可执行入口(CLI),以便本地调试或在容器中运行。
- Claude 集成
- 在 Claude Desktop 的配置中添加 MCP 服务器条目,指向命令与参数,确保 Claude 能通过标准输入/输出等传输方式与 MCP 服务器通信。
- 授权与接入
- 通过 freee-mcp 提供的交互向导完成 OAuth2 授权流程、事业所切换与授权状态查询等操作。
- 安装依赖与构建
-
服务器配置(MCP 客户端需要的最小配置示例)
- 服务器启动配置(JSON 结构,注释文字说明如下)
- 配置字段要点
- mcpServers:键为服务器名称,值为启动该 MCP 服务器所需的命令及参数。名称在本实现中通常为 freee,对应服务器的 internal name,便于 Claude 客户端对应绑定。
- command:启动服务器所使用的命令(如 npx、node、tsx 等)。
- args:命令的参数数组,通常包含要执行的脚本或入口(如 ['freee-mcp'])。
- 精确示例(文字描述,不使用代码块)
- 配置文件示例:
- mcpServers
- freee:
- command: "npx"
- args: ["freee-mcp"]
- freee:
- mcpServers
- 说明:
- server 名称(freee)用于在 Claude 侧引用和区分不同 MCP 服务。
- command 与 args 指定了如何启动 MCP 服务器进程,例如通过 Node/PNPM 环境执行 freee-mcp 的入口。
- 配置文件示例:
- 说明:以上配置信息是给 MCP 客户端使用的配置,MCP 客户端需要读取该配置并启动对应 MCP 服务器进程,与服务器端建立连接并通过 MCP 协议进行通信。服务器端代码中已经实现了通过 STDIO 传输进行对接的能力。
-
基本使用方法
- 启动与交互
- 启动 MCP 服务器(本实现的默认传输为 STDIO,适合本地开发和 Claude 集成测试场景)。
- 通过 Claude 插件/Skill 调用注册的工具与 API,获取数据、执行操作并渲染结果。
- 身份与会话
- 使用 OAuth 2.0 PKCE 模式完成授权,获取访问令牌并对 Freee API 进行请求。
- 支持多事业所环境,当前所选事业所将对后续 API 请求产生影响。
- 常见操作
- 查询当前用户、切换事业所、列出事业所、调用 Freee API 的 GET/POST/PUT/DELETE 等工具。
- 使用 openapi/OpenAPI 参考工具,获取端点信息、执行端点测试。
- 启动与交互
-
关联与扩展
- 本实现提供了对 Client Mode Tool 的生成,支持 freee_api_get/freee_api_post/freee_api_put/freee_api_delete/freee_api_patch 与 freee_api_list_paths 等工具,便于通过 MCP 与外部 API 的交互。
- 具备 Tokens、OAuth、Token 迁移、配置管理等模块,支持多环境部署和持久化凭证。
-
结果与部署注意点
- MCP 服务端实现要确保依赖环境(Node/NPM、云端/本地 OpenAPI 方案、OAuth 回调端口等)按照项目要求配置好。
- Claude 插件/Skill 的版本兼容性需要与 MCP 服务端实现保持一致,以确保技能注入和工具调用的正确性。