mcpField
A
authorize-net-mcp

authorize-net-mcp

本地服务
github.com/zmarty金融数据076 周前更新

关于 authorize-net-mcp

authorize-net-mcp 是一个实验性的 Node.js TypeScript MCP 服务,将 Authorize.net 支付操作提供给 AI Agent 和其他 MCP 平台。它包含即时信用卡扣款和创建托管支付页面两种工具。

主要功能

  1. 01即时信用卡扣款
  2. 02创建托管支付页面
  3. 03通过 Authorize.net Node SDK 处理交易
  4. 04提供工具输入和输出结构

适用场景

  1. 01在 MCP 工作流中即时收取信用卡款项
  2. 02为客户生成在线支付页面
  3. 03由 MCP 客户端调用 Authorize.net 支付功能

MCP 相关

该 MCP 服务向客户端公布 takePayment 和 createInvoice 两个工具及其输入结构,并通过 stdio 接收调用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

authorize-net-mcp

此项目是一个Model Context Protocol(MCP)服务,集成了 Authorize.net Node SDK,提供两项主要的支付操作:

  1. takePayment – 立即向信用卡扣款(AUTH_CAPTURE)。
  2. createInvoice – 生成托管支付页面(发票),供客户在线付款。

通过将这些操作作为 MCP 工具公开,AI Agent 和其他使用 MCP Node SDK 的平台可以无缝调用 Authorize.net 功能,而无需自行直接处理信用卡或交易逻辑。

什么是 Model Context Protocol(MCP)?

Model Context Protocol(MCP) 是一项规范和软件开发工具包(SDK),用于标准化 AI 模型(例如大模型)与外部工具和服务之间的通信方式。MCP 服务提供“工具”(方法),AI 助手或自动化平台可以发现这些工具并通过程序调用。MCP 的目标包括:

  • 可发现性:工具会公布其功能以及输入/输出模式。
  • 标准化 I/O:AI 模型或任何客户端都可以根据 JSON 模式调用工具并接收结构化输出,使自动化工作流更加可靠。
  • 安全性与兼容性:工具在隔离的进程中运行,并通过定义明确的通道(例如 stdio)通信,这有助于将它们与 AI 模型环境隔离。

在此项目中,takePayment 和 createInvoice 方法被定义为 MCP 工具,并提供输入模式(金额、卡片详情、发票信息)和结构化 JSON 输出。这意味着任何实现了 MCP 协议的 AI 模型或系统,都可以查询此服务以了解可用工具,然后使用正确的参数调用这些工具,通过 Authorize.net 处理付款。


工作原理

  1. MCP Node SDK – 提供用于在 Node.js 中创建和运行 MCP 服务的框架。我们使用 Server、StdioServerTransport 等类以及模式定义(ListToolsRequestSchema、CallToolRequestSchema)注册工具,并通过 stdio 接收请求并作出响应。

  2. Authorize.net Node SDK – 管理底层支付交易调用。在 MCP 工具处理程序中,我们导入 authorizenet 软件包,并使用你的 Authorize.net 凭据构建请求(例如 CreateTransactionRequest)。

  3. MCP 工具 –

    • takePayment:接收信用卡号、到期日期、CVV 和金额,然后立即向卡片扣款。
    • createInvoice:准备一笔不包含卡片数据的交易(卡片数据通过 Authorize.net 托管表单收集),并返回一个 URL,客户可以访问该网址以安全支付发票。

服务启动时,会向任何已连接的 MCP 客户端公布这两个工具及其输入模式。客户端随后可以按需调用它们。


项目结构

authorize-net-mcp/
├── package.json
├── tsconfig.json
├── src
│   ├── index.ts               # MCP server initialization
│   ├── models
│   │   └── authorizeNetModel.ts   # JSON schemas & tool specifications
│   └── handlers
│       └── authorizeNetHandlers.ts # Implementations of takePayment & createInvoice
└── README.md
  • src/index.ts:创建 MCP Server、注册工具处理程序,并通过 stdio 监听请求。
  • src/models/authorizeNetModel.ts:以 JSON schema 格式定义这两个工具的输入/输出模式(MCP 客户端调用 ListTools 时会收到这些模式)。
  • src/handlers/authorizeNetHandlers.ts:包含与 Authorize.net 集成的核心逻辑(向卡片扣款、创建托管发票)。

快速开始

1. 安装
  1. 克隆或下载此仓库。

  2. 安装依赖项:

    npm install
    
2. 设置环境变量

你必须提供 Authorize.net API 凭据。测试时,可以使用 Authorize.net Sandbox 凭据。服务会查找以下变量:

  • AUTHORIZE_NET_API_LOGIN_ID
  • AUTHORIZE_NET_TRANSACTION_KEY
  • AUTHORIZE_NET_SANDBOX(可选,设为 "true" 可启用沙盒模式)

在构建或启动服务前设置这些变量:

适用于 Linux/Mac:
export AUTHORIZE_NET_API_LOGIN_ID="YOUR_SANDBOX_LOGIN_ID"
export AUTHORIZE_NET_TRANSACTION_KEY="YOUR_SANDBOX_TRANSACTION_KEY"
export AUTHORIZE_NET_SANDBOX="true"
适用于 Windows(命令提示符):
set AUTHORIZE_NET_API_LOGIN_ID=YOUR_SANDBOX_LOGIN_ID
set AUTHORIZE_NET_TRANSACTION_KEY=YOUR_SANDBOX_TRANSACTION_KEY
set AUTHORIZE_NET_SANDBOX=true
适用于 Windows(PowerShell):
$env:AUTHORIZE_NET_API_LOGIN_ID="YOUR_SANDBOX_LOGIN_ID"
$env:AUTHORIZE_NET_TRANSACTION_KEY="YOUR_SANDBOX_TRANSACTION_KEY"
$env:AUTHORIZE_NET_SANDBOX="true"
适用于 Claude Desktop:

你可以在 Claude Desktop 设置中添加以下内容到 config.json,以配置此 MCP 服务:

{
  "mcpServers": {
    "authorize-net-mcp": {
      "command": "node",
      "args": ["C:\\git\\authorize-net-mcp\\build\\index.js"],
      "env": {
        "DEBUG": "*",
        "AUTHORIZE_NET_API_LOGIN_ID": "YOUR-LOGIN-ID-HERE",
        "AUTHORIZE_NET_TRANSACTION_KEY": "YOUR-KEY-HERE",
        "AUTHORIZE_NET_SANDBOX": "true"
      }
    }
  }
}

请确保将占位值替换为你实际的 Authorize.net 凭据。

3. 构建并运行
# Build the TypeScript
npm run build

# Start the MCP server (listening on stdio)
npm start

服务将运行并等待 MCP 请求。通常,理解 MCP 的 AI 助手或自动化工具会启动或连接到此进程,并按名称调用 takePayment 或 createInvoice 工具。


使用 MCP 工具

在兼容 MCP 的环境中(例如支持 MCP 的 AI 聊天工具),工作流可能如下:

  1. 列出可用工具(服务会返回 [takePayment, createInvoice] 及其架构)。

  2. 调用 takePayment 工具并传入参数:

    {
      "amount": 19.99,
      "cardNumber": "4242424242424242",
      "expirationDate": "0825",
      "cardCode": "123"
    }
    
    • 服务会返回付款是否成功,并在响应消息中包含交易详情。
  3. 调用 createInvoice 工具并传入参数:

    {
      "amount": 50.0,
      "invoiceNumber": "INV-1001",
      "description": "T-shirt order"
    }
    
    • 服务会返回托管付款页面的 URL。将此链接提供给客户,以便他们安全地输入银行卡详细信息。

生产环境使用须知

  • 安全性:切勿将真实 API 密钥提交到源代码管理中。在生产环境中使用环境变量或密钥管理解决方案。
  • HTTPS:在实际部署中,如果计划从 MCP 主机之外调用,请确保对任何入站请求使用 HTTPS 端点或安全隧道。
  • 沙盒与生产环境:准备好上线后,将 authorizeNetHandlers.ts 文件中的基础 URL 切换为生产端点。

延伸阅读


许可证

本项目依据 MIT 许可证发布。详情请参阅仓库中的 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。