关于 authorize-net-mcp
authorize-net-mcp 是一个实验性的 Node.js TypeScript MCP 服务,将 Authorize.net 支付操作提供给 AI Agent 和其他 MCP 平台。它包含即时信用卡扣款和创建托管支付页面两种工具。
主要功能
- 01即时信用卡扣款
- 02创建托管支付页面
- 03通过 Authorize.net Node SDK 处理交易
- 04提供工具输入和输出结构
适用场景
- 01在 MCP 工作流中即时收取信用卡款项
- 02为客户生成在线支付页面
- 03由 MCP 客户端调用 Authorize.net 支付功能
MCP 相关
该 MCP 服务向客户端公布 takePayment 和 createInvoice 两个工具及其输入结构,并通过 stdio 接收调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
authorize-net-mcp
此项目是一个Model Context Protocol(MCP)服务,集成了 Authorize.net Node SDK,提供两项主要的支付操作:
takePayment– 立即向信用卡扣款(AUTH_CAPTURE)。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 处理付款。
工作原理
-
MCP Node SDK – 提供用于在 Node.js 中创建和运行 MCP 服务的框架。我们使用
Server、StdioServerTransport等类以及模式定义(ListToolsRequestSchema、CallToolRequestSchema)注册工具,并通过 stdio 接收请求并作出响应。 -
Authorize.net Node SDK – 管理底层支付交易调用。在 MCP 工具处理程序中,我们导入
authorizenet软件包,并使用你的 Authorize.net 凭据构建请求(例如CreateTransactionRequest)。 -
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:创建 MCPServer、注册工具处理程序,并通过 stdio 监听请求。src/models/authorizeNetModel.ts:以 JSON schema 格式定义这两个工具的输入/输出模式(MCP 客户端调用ListTools时会收到这些模式)。src/handlers/authorizeNetHandlers.ts:包含与 Authorize.net 集成的核心逻辑(向卡片扣款、创建托管发票)。
快速开始
1. 安装
-
克隆或下载此仓库。
-
安装依赖项:
npm install
2. 设置环境变量
你必须提供 Authorize.net API 凭据。测试时,可以使用 Authorize.net Sandbox 凭据。服务会查找以下变量:
AUTHORIZE_NET_API_LOGIN_IDAUTHORIZE_NET_TRANSACTION_KEYAUTHORIZE_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 聊天工具),工作流可能如下:
-
列出可用工具(服务会返回
[takePayment, createInvoice]及其架构)。 -
调用
takePayment工具并传入参数:{ "amount": 19.99, "cardNumber": "4242424242424242", "expirationDate": "0825", "cardCode": "123" }- 服务会返回付款是否成功,并在响应消息中包含交易详情。
-
调用
createInvoice工具并传入参数:{ "amount": 50.0, "invoiceNumber": "INV-1001", "description": "T-shirt order" }- 服务会返回托管付款页面的 URL。将此链接提供给客户,以便他们安全地输入银行卡详细信息。
生产环境使用须知
- 安全性:切勿将真实 API 密钥提交到源代码管理中。在生产环境中使用环境变量或密钥管理解决方案。
- HTTPS:在实际部署中,如果计划从 MCP 主机之外调用,请确保对任何入站请求使用 HTTPS 端点或安全隧道。
- 沙盒与生产环境:准备好上线后,将
authorizeNetHandlers.ts文件中的基础 URL 切换为生产端点。
延伸阅读
- MCP TypeScript SDK(GitHub) – 了解如何创建和托管 Model Context Protocol 工具。
- Authorize.net 示例代码(GitHub) – 查看使用 Authorize.net Node SDK 的示例。
- Authorize.net 开发者文档 – 有关构建交易、创建托管发票以及管理生产环境与沙盒凭据的官方文档。
许可证
本项目依据 MIT 许可证发布。详情请参阅仓库中的 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。