MCP Server (deprecated)

MCP Server (deprecated)

一个模型上下文协议 (MCP) 服务器,用于 PayPal API 集成,具有改进的错误处理、全面的 API 覆盖和详细的文档。

arbuthnot-eth

研究与数据
访问服务器

README

MCP 服务器 (已弃用)

License: MIT TypeScript Node.js

一个模型上下文协议 (MCP) 服务器,提供与 PayPal API 的全面集成。该服务器通过标准化接口实现与 PayPal 的支付处理、发票、订阅管理和业务运营的无缝交互。

功能

支付处理

  • 订单管理: 创建、更新和跟踪订单
  • 支付处理: 使用各种方法处理付款
  • 支付令牌: 创建和管理用于未来使用的支付令牌
  • 争议管理: 处理支付争议和解决方案

业务运营

  • 产品管理: 创建和管理产品目录
  • 发票: 生成和发送专业发票
  • 付款: 向多个收款人处理批量付款
  • 订阅管理: 创建和管理定期账单

用户管理

  • 身份验证: 验证用户身份
  • 用户信息: 检索和管理用户数据
  • Web 配置文件管理: 自定义结账体验

架构

graph TB
    subgraph "MCP 环境"
        Client[MCP 客户端]
        Server[PayPal MCP 服务器]
        Validation[输入验证]
        Auth[OAuth 身份验证]
        Cache[令牌缓存]
        ErrorHandler[错误处理程序]
    end

    subgraph "PayPal APIs"
        Orders[订单 API]
        Payments[支付 API]
        Payouts[付款 API]
        Invoicing[发票 API]
        Products[产品 API]
        Subscriptions[订阅 API]
        Disputes[争议 API]
        Identity[身份 API]
    end

    Client --> |请求| Server
    Server --> |响应| Client
    Server --> Validation
    Server --> Auth
    Auth --> Cache
    Auth --> |访问令牌| 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 开发者帐户

手动安装

  1. 克隆存储库

    git clone https://github.com/arbuthnot-eth/PayPal-MCP.git
    cd PayPal-MCP
    
  2. 安装依赖项

    npm install
    
  3. 构建项目

    npm run build
    
  4. 在您的 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

贡献

  1. Fork 存储库
  2. 创建一个功能分支
  3. 提交您的更改
  4. 推送到分支
  5. 创建一个 Pull Request

许可证

MIT 许可证

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python