银行MCP服务器
该项目实现了一个模型上下文协议(MCP)服务器,该服务器公开了包括账户和交易在内的银行资源。
特性
- 具有过滤功能的帐户资源
- 通过全面过滤与账户关联的交易资源
- 创建新帐户和交易的工具
- 遵循RFC6570的RESTful URI模板
入门指南
先决条件
- Node.js 18+
- npm
安装
npm install运行服务器
开发模式:
npm run dev生产方式:
npm run build
npm run startMCP检验员测试
您可以使用MCP检查器工具测试MCP服务器并与之交互:
npx @modelcontextprotocol/inspector node dist/index.js这将在浏览器中启动MCP Inspector UI,允许您探索可用资源、测试API调用并验证实现。
资源
账户
accounts-返回所有帐户accounts/{id}-按ID返回特定帐户
交易
accounts/{id}/transactions-返回特定账户的所有交易记录
工具
创建账户
创建一个新的银行账户。
参数:
name:账户持有人姓名type:“支票”、“储蓄”或“信贷”initialBalance:起始余额(可选,默认为0)
创建交易
为现有帐户创建新交易。
参数:
accountId:帐户IDamount:交易金额(存款/转账为正,取款/付款为负)transactionType:“存款”、“取款”、“转账”或“付款”recipient:收件人姓名(可选)sender:发件人姓名/帐户(可选)description:交易描述
示例用法
获取所有帐户:
accounts获取特定帐户:
accounts/acc-001获取账户“acc-001”的所有交易记录:
accounts/acc-001/transactions实现细节
此MCP服务器遵循RFC6570 URI模板规范,并使用MCP TypeScript SDK构建。
完工支持
服务器为资源参数提供自动补全功能:
- 特定帐户详细信息路径中的帐户ID(
accounts/{id}) - 交易资源路径中的帐户ID(
accounts/{id}/transactions)
这有助于LLM通过为帐户ID参数提供可能的值来准确构建有效的资源URL。
发展
地方发展
# Install dependencies
npm install
# Run in development mode with auto-reload
npm run dev
# Type check without emitting files
npm run typecheck
# Lint code
npm run lint
# Build for production
npm run build
# Run production build
npm run start使用MCP检查器进行调试
MCP检查器是调试和探索MCP服务器实现的强大工具:
# Run against the built version
npx @modelcontextprotocol/inspector node dist/index.js
# Run against the development version (using ts-node)
npx @modelcontextprotocol/inspector npm run devMCP检查器功能:
- 交互式用户界面,用于浏览可用资源和工具
- 测试完成和资源查找
- 查看请求/响应日志
- 执行工具调用
- 根据规范验证您的MCP实现
CI/CD
该项目使用GitHub Actions进行持续集成,工作流包括:
- 对每次主推送和拉取请求运行
- 在多个Node.js版本(18.x、20.x)上构建和测试项目
- 进行类型检查和梳理
- 使用npm审计运行安全扫描
- 检查漏洞的依赖关系
工作流在中定义 .github/workflows/ci.yml.
项目结构
src/index.ts-主服务器实现dist/-编译的JavaScript输出.github/workflows/-CI/CD配置
