一个非官方的模型上下文协议(MCP)服务器,用于通过GraphQL API与PayPal Braintree支付处理服务进行交互,让AI助理模型能直接利用Braintree的支付处理功能。
此服务器实现模型上下文协议(MCP)规范,以便AI助理模型能够直接访问Braintree的支付处理功能。它使AI系统能够执行诸如获取交易、创建支付和管理客户数据等操作。
git clone https://github.com/yourusername/braintree-mcp-server.git
cd braintree-mcp-server
# 如果使用pyenv
pyenv install 3.13.0
pyenv local 3.13.0
# 或使用其他方法确保使用Python 3.13+
pip install -e .
在项目根目录中创建一个.env文件,其中包含您的Braintree凭证:
BRAINTREE_MERCHANT_ID=your_merchant_id
BRAINTREE_PUBLIC_KEY=your_public_key
BRAINTREE_PRIVATE_KEY=your_private_key
BRAINTREE_ENVIRONMENT=sandbox # 或 production
您可以在Braintree控制面板中获取这些凭证。
python braintree_server.py
该服务器使用stdio传输默认运行,适合与支持MCP的AI助理系统集成。
简单的连通性测试,用于检查Braintree凭证是否正常工作。
响应 = await braintree_pong()
# 成功返回“pong”
对Braintree API执行任意GraphQL查询。
查询 = """
query GetTransactionDetails($id: ID!) {
node(id: $id) {
... on Transaction {
id
status
amount {
value
currencyCode
}
createdAt
}
}
}
"""
变量 = {"id": "transaction_id_here"}
响应 = await braintree_execute_graphql(查询, 变量)
# 返回Braintree的JSON响应
query GetCustomer($id: ID!) {
node(id: $id) {
... on Customer {
id
firstName
lastName
email
paymentMethods {
edges {
node {
id
details {
... on CreditCardDetails {
last4
expirationMonth
expirationYear
cardType
}
}
}
}
}
}
}
}
mutation CreateTransaction($input: ChargePaymentMethodInput!) {
chargePaymentMethod(input: $input) {
transaction {
id
status
amount {
value
currencyCode
}
}
}
}
带变量:
{
"input": {
"paymentMethodId": "payment_method_id_here",
"transaction": {
"amount": "10.00",
"orderId": "order123",
"options": {
"submitForSettlement": true
}
}
}
}
.env文件中的Braintree凭证正确无误。此为非官方集成,未经授权使用PayPal或Braintree的服务。