Braintree MCP Server について
Braintree MCP Serverは、GraphQL APIを通じてAIシステムにBraintreeの決済機能への構造化アクセスを提供する非公式サーバーです。取引や顧客の操作に対応し、STDIOとSSEのトランスポートを備えています。
主な機能
- 01Braintree GraphQLクエリの実行
- 02認証情報の接続確認
- 03STDIOトランスポート対応
- 04SSEでの複数クライアント接続
活用シーン
- 01取引や顧客情報の取得
- 02決済取引の作成
- 03Braintree認証情報の確認
- 04複数クライアント向け決済アクセスの運用
MCP 対応
MCPクライアントに接続確認とGraphQL実行のツールを提供し、Braintreeの決済機能を利用できます。STDIOまたはSSEで接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Braintree MCP サーバー
PayPal Braintree の決済処理サービスと連携する、非公式の Model Context Protocol(MCP)サーバーです。
ライセンスと引用
このプロジェクトは、学術引用要件付きの MIT ライセンスで公開されています。つまり、コードは自由に使用、変更、配布できますが、このソフトウェアを使用した学術論文または科学論文では、適切なクレジットを明記する必要があります。
学術・研究目的での使用:
このソフトウェアを研究プロジェクトで使用し、その成果が論文、発表、またはレポートとして公開される場合は、CITATION.mdに記載された形式に従って、この成果を必ず引用してください。
商用・非学術目的での使用:
商用および非学術目的での使用には、引用要件を除き、標準の MIT ライセンス条項が適用されます。
このソフトウェアを使用することで、これらの条件に同意したものとみなされます。ライセンスの全文については、LICENSE.mdを参照してください。
サーバーのバージョン
Braintree MCP サーバーには、次の 2 つのバージョンがあります。
1. STDIO トランスポートサーバー(braintree_server.py)
- 標準入出力(STDIO)を使用して通信します
- Claude Desktop および STDIO をサポートするその他の MCP クライアントとの連携を想定しています
- クライアントのセッションごとに新しいサーバープロセスが起動します
- クライアントが切断すると、サーバーは終了します
Claude Desktop での使用方法:
claude_desktop_config.jsonを設定して、このサーバーを指定します- Claude Desktop を開き、Braintree ツールを選択します
2. SSE トランスポートサーバー(braintree_sse_server.py)
- Server-Sent Events(SSE)を使用して通信します
- 複数のクライアント接続を処理できる、スタンドアロンのウェブサーバーとして設計されています
- 手動で停止するまでサーバーは稼働し続けます
- デフォルトでは
127.0.0.1:8001にバインドします(変更可能)
手動での使用方法:
python braintree_sse_server.py
SSE サーバーへの接続:
SSE トランスポートをサポートする MCP クライアントを使用し、http://127.0.0.1:8001/sseに接続します。
概要
このサーバーは Model Context Protocol(MCP)仕様を実装し、GraphQL API を介して、AI アシスタントモデルが Braintree の決済処理機能に直接かつ構造化された形でアクセスできるようにします。AI システムは MCP ツールを使用して、取引の取得、決済の作成、顧客データの管理などの決済操作を実行できます。
インストール
- このリポジトリをクローンします
git clone https://github.com/yourusername/braintree-mcp-server.git
cd braintree-mcp-server
- Python 3.13 以上の環境を設定します
# If using pyenv
pyenv install 3.13.0
pyenv local 3.13.0
# Or using another method to ensure 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 # or production
これらの認証情報は、Braintree Control Panel から取得できます。
使用方法
サーバーの実行
デフォルトの STDIO トランスポート
python braintree_server.py
デフォルトでは、サーバーは stdio トランスポートを使用して実行されます。これは、MCP をサポートする AI アシスタントシステムとの連携に適しています。
Server-Sent Events(SSE)トランスポート
python braintree_sse_server.py
SSE サーバーは、複数のクライアントが持続的に接続できるウェブベースのトランスポートレイヤーを提供します。複数のクライアントから Braintree の機能にアクセスする必要があるスタンドアロン環境でのデプロイに適しています。
デフォルト設定:
- ホスト:127.0.0.1(ローカルホスト)
- ポート:8001
- 環境:
.envファイルで定義
必要な依存関係については、requirements.txtを参照してください。
利用可能な MCP ツール
braintree_ping
Braintree の認証情報が機能しているかを確認する、簡易的な接続テストです。
response = await braintree_ping()
# Returns "pong" if successful
braintree_execute_graphql
Braintree API に対して任意の GraphQL クエリを実行します。
query = """
query GetTransactionDetails($id: ID!) {
node(id: $id) {
... on Transaction {
id
status
amount {
value
currencyCode
}
createdAt
}
}
}
"""
variables = {"id": "transaction_id_here"}
response = await braintree_execute_graphql(query, variables)
# Returns JSON response from Braintree
一般的な GraphQL 操作
顧客の取得
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 の認証情報が正しいことを確認してください- ネットワーク接続から Braintree の API エンドポイントにアクセスできることを確認してください
- Braintree アカウントにレート制限や権限の問題がないか確認してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。