MCP Server (deprecated) について
この非推奨の MCP サーバーは、統一インターフェースを通じて PayPal API に接続し、決済、サブスクリプション、請求書、業務操作を扱います。PayPal の開発者資格情報を使う MCP クライアント連携向けです。
主な機能
- 01注文の作成と決済処理
- 02決済トークンと異議申し立ての管理
- 03サブスクリプションと商品カタログの作成
- 04請求書と一括送金の作成
- 05ユーザーデータの取得とウェブプロフィールの管理
- 06入力検証と OAuth トークン更新
活用シーン
- 01MCP クライアントから注文を作成して決済
- 02サブスクリプション課金と商品カタログの管理
- 03請求書の作成や複数の受取人への送金
MCP 対応
PayPal の決済、請求書、サブスクリプション、業務管理ツールを MCP クライアントに公開します。このプロジェクトは非推奨です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバー(非推奨)
PayPal の API と包括的に連携する Model Context Protocol(MCP)サーバーです。このサーバーは、標準化されたインターフェースを通じて、PayPal の決済処理、請求書発行、サブスクリプション管理、業務運営をシームレスに操作できるようにします。
機能
決済処理
- 注文管理:注文の作成、更新、追跡
- 決済処理:さまざまな方法で決済を処理
- 決済トークン:今後使用する決済トークンの作成と管理
- 異議申し立て管理:決済に関する異議申し立てと解決への対応
業務運営
- 商品管理:商品カタログの作成と管理
- 請求書発行:プロフェッショナルな請求書の作成と送信
- 支払い:複数の受取人への一括支払いを処理
- サブスクリプション管理:継続課金の作成と管理
ユーザー管理
- 本人確認:ユーザーの本人確認
- ユーザー情報:ユーザーデータの取得と管理
- ウェブプロフィール管理:チェックアウト体験のカスタマイズ
アーキテクチャ
graph TB
subgraph "MCP Environment"
Client[MCP Client]
Server[PayPal MCP Server]
Validation[Input Validation]
Auth[OAuth Authentication]
Cache[Token Cache]
ErrorHandler[Error Handler]
end
subgraph "PayPal APIs"
Orders[Orders API]
Payments[Payments API]
Payouts[Payouts API]
Invoicing[Invoicing API]
Products[Products API]
Subscriptions[Subscriptions API]
Disputes[Disputes API]
Identity[Identity API]
end
Client --> |Request| Server
Server --> |Response| Client
Server --> Validation
Server --> Auth
Auth --> Cache
Auth --> |Access Token| PayPal
Server --> ErrorHandler
Server --> Orders
Server --> Payments
Server --> Payouts
Server --> Invoicing
Server --> Products
Server --> Subscriptions
Server --> Disputes
Server --> Identity
style Client fill:#f9f,stroke:#333,stroke-width:2px
style Server fill:#bbf,stroke:#333,stroke-width:2px
style Auth fill:#bfb,stroke:#333,stroke-width:2px
style Validation fill:#bfb,stroke:#333,stroke-width:2px
style Cache fill:#fbb,stroke:#333,stroke-width:2px
style ErrorHandler fill:#fbb,stroke:#333,stroke-width:2px
インストール
前提条件
- Node.js 16.x 以降
- API 認証情報を設定した PayPal Developer アカウント
手動インストール
-
リポジトリをクローンします
git clone https://github.com/arbuthnot-eth/PayPal-MCP.git cd PayPal-MCP -
依存関係をインストールします
npm install -
プロジェクトをビルドします
npm run build -
MCP 設定ファイルで PayPal の認証情報を設定します。
{ "mcpServers": { "paypal": { "command": "node", "args": ["path/to/paypal-mcp/build/index.js"], "env": { "PAYPAL_CLIENT_ID": "your_client_id", "PAYPAL_CLIENT_SECRET": "your_client_secret", "PAYPAL_ENVIRONMENT": "sandbox" // or "live" }, "disabled": false, "autoApprove": [] } } }
利用可能なツール
決済操作
create_payment_token
今後使用する決済トークンを作成します。
{
customer: {
id: string;
email_address?: string;
};
payment_source: {
card?: {
name: string;
number: string;
expiry: string;
security_code: string;
};
paypal?: {
email_address: string;
};
};
}
create_order
PayPal で新しい注文を作成します。
{
intent: 'CAPTURE' | 'AUTHORIZE';
purchase_units: Array<{
amount: {
currency_code: string;
value: string;
};
description?: string;
reference_id?: string;
items?: Array<{
name: string;
quantity: string;
unit_amount: {
currency_code: string;
value: string;
};
}>;
}>;
application_context?: {
brand_name?: string;
shipping_preference?: 'GET_FROM_FILE' | 'NO_SHIPPING' | 'SET_PROVIDED_ADDRESS';
user_action?: 'CONTINUE' | 'PAY_NOW';
};
}
capture_order
承認済みの注文の決済を確定します。
{
order_id: string;
payment_source?: {
token?: {
id: string;
type: string;
};
};
}
create_subscription
継続課金のサブスクリプションを作成します。
{
plan_id: string;
subscriber: {
name: {
given_name: string;
surname: string;
};
email_address: string;
};
application_context?: {
brand_name?: string;
shipping_preference?: 'GET_FROM_FILE' | 'NO_SHIPPING' | 'SET_PROVIDED_ADDRESS';
user_action?: 'CONTINUE' | 'SUBSCRIBE_NOW';
payment_method?: {
payer_selected?: string;
payee_preferred?: string;
};
};
}
業務操作
create_product
カタログに新しい商品を作成します。
{
name: string;
description: string;
type: 'PHYSICAL' | 'DIGITAL' | 'SERVICE';
category: string;
image_url?: string;
home_url?: string;
}
create_invoice
新しい請求書を作成します。
{
invoice_number: string;
reference: string;
currency_code: string;
recipient_email: string;
items: Array<{
name: string;
quantity: string;
unit_amount: {
currency_code: string;
value: string;
};
description?: string;
tax?: {
name: string;
percent: string;
};
}>;
note?: string;
terms_and_conditions?: string;
memo?: string;
payment_term?: {
term_type: 'DUE_ON_RECEIPT' | 'DUE_ON_DATE' | 'NET_10' | 'NET_15' | 'NET_30' | 'NET_45' | 'NET_60' | 'NET_90';
due_date?: string;
};
}
create_payout
一括支払いを処理します。
{
sender_batch_header: {
sender_batch_id: string;
email_subject?: string;
recipient_type?: string;
};
items: Array<{
recipient_type: string;
amount: {
value: string;
currency: string;
};
receiver: string;
note?: string;
}>;
}
エラー処理
このサーバーでは、包括的なエラー処理を実装しています。
- 入力検証:具体的なメッセージを含む詳細な検証エラー
- PayPal API エラー:PayPal のエラー詳細を含む構造化されたエラーレスポンス
- ネットワークエラー:一時的なネットワーク障害に対する再試行ロジック
- 認証エラー:トークンの自動更新と明確なエラーメッセージ
- レート制限:API のレート制限に対するバックオフ戦略
セキュリティに関する考慮事項
- すべての機密データを検証およびサニタイズします
- PayPal に対する OAuth 2.0 認証
- 環境変数による安全な認証情報の管理
- すべての API パラメーターに対する入力検証
- エラーメッセージに機密情報を含めません
開発
ビルド
npm run build
開発モードでの実行
npm run dev
テスト
npm test
静的解析
npm run lint
フォーマット
npm run format
コントリビューション
- リポジトリをフォークします
- フィーチャーブランチを作成します
- 変更をコミットします
- ブランチにプッシュします
- プルリクエストを作成します
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。