使用说明
GoCardless MCP服务器
最小模型上下文协议(MCP)服务器,与GoCardless API集成用于支付处理。该项目演示了如何构建MCP服务器,人工智能助手可以使用这些服务器与外部支付API进行交互。
什么是MCP?
模型上下文协议(MCP)是一种标准,允许AI助手安全地连接到外部数据源和工具。MCP服务器公开了AI模型可以调用的特定工具来执行操作或检索信息。
此服务器提供以下工具:
- 在GoCardless中管理客户
- 创建支付设置流(传统重定向流)
- 创建账单请求(现代收款)
- 列出付款及其状态
- 管理银行账户授权
先决条件
- Node.js 18+
- GoCardless帐户(提供免费沙盒)
- GoCardless API访问令牌
快速开始
-
克隆和安装依赖关系:
git clone <your-repo-url> cd gocardless-mcp-server-test npm install -
获取您的GoCardless API代币:
- 注册地址: GoCardless
- 转到开发人员→ 仪表板中的API键
- 复制您的沙盒访问令牌
-
配置环境:
cp .env.example .env # Edit .env and add your access token -
构建和测试:
npm run build npm start
可用工具
客户管理
list_customers-列出现有客户create_customer-创建新客户get_customer-按ID获取客户详细信息list_customer_bank_accounts-列出客户的银行账户
付款设置(传统)
create_redirect_flow-为客户创建添加银行详细信息的安全流程list_payments-列出带有可选过滤功能的付款
账单请求(现代支付收款)
create_billing_request-创建收款账单请求create_billing_request_flow-创建客户授权流程get_billing_request-获取账单请求详细信息和状态list_billing_requests-列出带有过滤功能的计费请求fulfil_billing_request-处理账单请求以创建付款
示例用法
一旦通过MCP连接到AI助手,您就可以:
"Create a customer named John Doe with email john@example.com"
"List all customers"
"Create a billing request for £29.99 monthly subscription"
"Create a redirect flow for subscription setup" (legacy method)
"Show me all failed payments"
"List my billing requests and their statuses"
人工智能助手将使用适当的工具并自动处理API调用。
发展
项目结构
src/
index.ts # Main MCP server implementation
package.json # Dependencies and scripts
tsconfig.json # TypeScript configuration
.env.example # Environment template
建筑
npm run build # Compile TypeScript
npm run dev # Watch mode for development
npm run clean # Remove build files
关键概念
MCP工具:每个工具都有一个名称、描述和定义其参数的JSON模式。AI助手使用这些模式来理解如何调用工具。
认证:服务器使用通过环境变量传递的Bearer令牌来处理GoCardless API身份验证。
错误处理:当API调用失败或参数无效时,全面的错误处理提供了明确的反馈。
连接到AI助手
此MCP服务器通过stdio(标准输入/输出)进行通信。要将其连接到AI助手:
- 构建项目:
npm run build - 配置您的AI助手以使用:
node dist/index.js - 助手将自动发现可用的工具
api参考
环境变量
GOCARDLESS_ACCESS_TOKEN-您的GoCardless API访问令牌GOCARDLESS_ENVIRONMENT-“沙盒”或“实时”
工具架构
每个工具都包含详细的参数模式。看 src/index.ts 完整的定义。
使用GoCardless沙盒进行测试
沙盒环境非常适合测试:
- 使用虚假银行账户信息
- 模拟支付流程
- 测试错误场景
- 不涉及真钱
沙盒测试数据:
- 排序代码:20-00-00
- 账号:5577911
- 任何有效的电子邮件和姓名
安全说明
- 永远不要承诺你的
.env文件 - 使用沙盒令牌进行开发
- 定期轮换访问令牌
- 在GoCardless仪表板中监控API使用情况
后续步骤
熟悉此基本实现后,请考虑:
-
添加更多GoCardless功能:
- 付款创建
- 任务管理
- Webhook 操作
- 订阅管理
-
增强的错误处理:
- API调用的重试逻辑
- 更好的错误消息
- 日志集成
-
测试:
- 工具功能的单元测试
- 与沙箱API的集成测试
- 模拟API对CI/CD的响应
-
生产特点:
- 速率限制
- 请求验证
- 审核日志记录
- 健康检查
贡献
这是一个学习项目,您可以随时进行实验和扩展!
许可证
MIT许可证-有关详细信息,请参阅许可证文件