支付处理MCP服务器

一个与GoCardless API集成的MCP服务器,用于支付处理,支持客户管理、账单请求创建和支付状态查询等功能。

  • by carlrad
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 carlrad/gocardless-mcp-server

使用说明

GoCardless MCP服务器

最小模型上下文协议(MCP)服务器,与GoCardless API集成用于支付处理。该项目演示了如何构建MCP服务器,人工智能助手可以使用这些服务器与外部支付API进行交互。

什么是MCP?

模型上下文协议(MCP)是一种标准,允许AI助手安全地连接到外部数据源和工具。MCP服务器公开了AI模型可以调用的特定工具来执行操作或检索信息。

此服务器提供以下工具:

  • 在GoCardless中管理客户
  • 创建支付设置流(传统重定向流)
  • 创建账单请求(现代收款)
  • 列出付款及其状态
  • 管理银行账户授权

先决条件

  • Node.js 18+
  • GoCardless帐户(提供免费沙盒)
  • GoCardless API访问令牌

快速开始

  1. 克隆和安装依赖关系:

    git clone <your-repo-url>
    cd gocardless-mcp-server-test
    npm install
    
  2. 获取您的GoCardless API代币:

    • 注册地址: GoCardless
    • 转到开发人员→ 仪表板中的API键
    • 复制您的沙盒访问令牌
  3. 配置环境:

    cp .env.example .env
    # Edit .env and add your access token
    
  4. 构建和测试:

    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助手:

  1. 构建项目: npm run build
  2. 配置您的AI助手以使用: node dist/index.js
  3. 助手将自动发现可用的工具

api参考

环境变量

  • GOCARDLESS_ACCESS_TOKEN -您的GoCardless API访问令牌
  • GOCARDLESS_ENVIRONMENT -“沙盒”或“实时”

工具架构

每个工具都包含详细的参数模式。看 src/index.ts 完整的定义。

使用GoCardless沙盒进行测试

沙盒环境非常适合测试:

  • 使用虚假银行账户信息
  • 模拟支付流程
  • 测试错误场景
  • 不涉及真钱

沙盒测试数据:

  • 排序代码:20-00-00
  • 账号:5577911
  • 任何有效的电子邮件和姓名

安全说明

  • 永远不要承诺你的 .env 文件
  • 使用沙盒令牌进行开发
  • 定期轮换访问令牌
  • 在GoCardless仪表板中监控API使用情况

后续步骤

熟悉此基本实现后,请考虑:

  1. 添加更多GoCardless功能:

    • 付款创建
    • 任务管理
    • Webhook 操作
    • 订阅管理
  2. 增强的错误处理:

    • API调用的重试逻辑
    • 更好的错误消息
    • 日志集成
  3. 测试:

    • 工具功能的单元测试
    • 与沙箱API的集成测试
    • 模拟API对CI/CD的响应
  4. 生产特点:

    • 速率限制
    • 请求验证
    • 审核日志记录
    • 健康检查

贡献

这是一个学习项目,您可以随时进行实验和扩展!

许可证

MIT许可证-有关详细信息,请参阅许可证文件