Transactoid MCP 服务端
使用说明(Markdown格式)
-
项目简介
- 该仓库实现了一个 MCP 服务器,基于 FastMCP,将 Transactoid 的工具集、数据访问能力和提示模板通过 MCP 协议暴露给 AI 助手等客户端。核心能力包括:注册工具并提供执行、查询数据库的只读/只写能力,以及通过提示模板支持自定义对话模式。
-
主要功能点
- MCP 服务端实现:通过 FastMCP 注册工具(如同步 Plaid 数据、执行 SQL、连接新账户、列出 Plaid 账户、批量标签与重新归类等),并暴露给客户端调用。
- 工具执行与安全边界:工具执行由服务端持有的数据库与业务逻辑实现,客户端仅通过 MCP 调用工具。
- 数据库与权限封装:服务端封装了对本地数据库的只读/写操作,提供与 Prompts 相关的查询能力。
- 配置与启动:提供一个可通过 uv run python -m transactoid.ui.mcp.server 启动的 MCP 服务器入口,便于在不同环境部署。
- 与客户端的对接支持:符合 MCP 的工具、系统提示、以及能力声明等约定,能被 Claude Code 等 MCP 客户端识别与使用。
-
安装步骤
- 克隆仓库并安装依赖(Python 3.12+,依赖含 FastMCP、Plaid 客户端等)。
- 配置所需的环境变量,例如 DATABASE_URL、OPENAI_API_KEY、PLAID_API 等,确保后端服务能正常访问数据库与外部服务。
- 启动 MCP 服务器(示例入口):
- uv run python -m transactoid.ui.mcp.server
- 如需使用 Claude Code 等客户端,请在客户端配置中添加对应的 MCP 服务器信息(见下方“服务器配置”描述)。
-
服务器配置(给 MCP 客户端的配置示例,JSON格式,字段含义见注释) { "serverName": "transactoid", "command": "uv", "args": ["run", "python", "-m", "transactoid.ui.mcp.server"], "notes": "启动后该 MCP 服务器将暴露 Transactoid 的工具集(如 sync_transactions、list_plaid_accounts、run_sql 等)给客户端使用。请确保环境变量正确配置(DATABASE_URL、PLAID、OPENAI_API_KEY 等)。" }
-
基本使用方法
- 运行 MCP 服务器后,客户端(如 Claude Code 的 MCP 设置)将能按 MCP 协议向服务器发送请求,获取工具列表、调用工具、执行只读/只写 SQL、以及获取系统提示等能力。
- 客户端在需要使用 Transactoid 的上下文功能时,可以请求并调用暴露的 Tools,服务器端负责执行、返回结果与错误处理。
- 需要关注的安全点包括:访问控制、凭据管理、避免任意 SQL 注入等,确保工具执行在服务端有合理的权限与边界。
-
重要提醒
- 该 MCP 服务器入口位于 ui/mcp/server.py,作为模块直接运行即可,与 MFA/ACP 的实现不同,客户端通过 MCP 与之通信。
- 客户端需要的配置为简要的服务器信息(如 serverName、command、args),实际连接细节由 MCP 库处理。