Sequence Banking MCP 服务器
使用说明(Markdown 格式)
- 项目简介
- 这是一个基于 MCP 协议规范的服务器实现,专注于将 Sequence 银行的账户数据资源和远程规则触发等功能暴露给 LLM 客户端。服务器通过 MCP 的工具接口提供可查询的资源、可执行的工具以及可渲染的提示模板,支持通过标准化的 JSON-RPC 方式进行通信。
- 主要功能点
- 列出工具(list_tools):向 LLM 客户端暴露可用工具,如 get_accounts 与 trigger_rule,以及它们的输入结构。
- 调用工具(call_tool):根据工具名称执行具体逻辑,内部处理包括获取账户、触发 Sequence 远程 API 等操作,并将结果以 MCP 兼容的文本内容返回。
- 账户获取(handle_get_accounts):通过 Sequence 的外部 API 获取账户及余额信息,返回结构化数据。
- 规则触发(handle_trigger_rule):通过 Sequence 的远程 API 触发规则,支持可选载荷和幂等性键。
- MCP 服务入口(main):通过标准输入/输出(stdio)流与客户端协作,启动并运行 MCP 服务器,处理会话和初始化选项。
- 安全与错误处理:提供错误代码和消息的封装,便于客户端进行错误判定与重试。
- 安装步骤
- 克隆仓库或下载源码。
- 创建并激活虚拟环境:
- python3 -m venv venv
- source venv/bin/activate
- 安装包及开发依赖:
- pip install -e .
- pip install -e ".[dev]"
- 依赖项包含 MCP 框架、HTTP 客户端、以及用于测试的工具。
-
服务器配置(JSON 配置示例,说明用途,实际路径按你的环境替换) { "servers": { "sequence": { "name": "sequence", "command": "/path/to/sequence-mcp/venv/bin/python", "args": ["-m", "sequence_mcp.server"], "env": { "SEQUENCE_ACCESS_TOKEN": "<your_sequence_access_token_here>" } // 注释:该配置指定了 MCP 服务器的启动命令和参数,客户端在启动时需提供令牌环境变量(如有需要)。 } } }
-
基本使用方法
- 启动服务器:在配置了合适的环境变量后,使用指定的命令启动服务器(如 python -m sequence_mcp.server)。
- 与 LLM 客户端对接:LLM 客户端通过 MCP 协议与服务器通讯,调用 get_accounts、trigger_rule 等工具,服务器返回符合 MCP 规范的响应文本。
- 常见流程:客户端请求工具列表 → 选择工具并提供参数 → 服务器执行并返回结果 → 客户端解析并展示给用户或继续对话。
- 运行与测试
- 服务器端测试主要覆盖工具注册、工具执行、请求/响应的正确性、以及对错误情形的处理。测试依赖 pytest、respx、httpx 等工具,可在开发环境中通过 pytest 进行运行。
- 其他注意事项
- 环境变量 SEQUENCE_ACCESS_TOKEN 为账户数据访问凭证,确保在生产环境中以安全方式配置。
- 客户端与服务器之间的传输通常为严格的 JSON-RPC 风格消息,服务器对异常进行捕获并返回结构化错误信息。