> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server

> تمكين مساعدات الذكاء الاصطناعي من التفاعل مع واجهة برمجة تطبيقات Dodo Payments عبر وضع الكود—هيكلية عالية الأداء لتشغيل عمليات الدفع وإدارة الاشتراكات بسلاسة.

## Overview

The Model Context Protocol (MCP) is an open standard that enables AI applications to securely connect to external data sources and APIs. The Dodo Payments MCP Server provides AI assistants like Claude, Cursor, and other MCP-compatible clients with structured access to your payment infrastructure.

يستخدم خادم MCP الخاص بـ Dodo Payments بنية **وضع الكود**. بدلًا من الكشف عن مئات الأدوات الفردية لكل نقطة نهاية في واجهة البرمجة، يتيح وضع الكود لوكلاء الذكاء الاصطناعي كتابة وتنفيذ كود TypeScript باستخدام مجموعة تطوير البرامج الخاصة بـ Dodo Payments في بيئة معزولة.

### Key capabilities

* **Payment Operations**: Create, retrieve, and manage payments and refunds
* **Subscription Management**: Handle recurring billing, upgrades, and cancellations
* **Customer Administration**: Manage customer data and portal access
* **Product Catalog**: Create and update products, pricing, and discounts
* **License Management**: Activate, validate, and manage software licenses
* **Usage-Based Billing**: Track and bill for metered usage

## How Code Mode Works

يوفر خادم MCP الخاص بـ Dodo Payments لوكيل الذكاء الاصطناعي الخاص بك أداتين فقط:

1. **أداة البحث في الوثائق**: تستعلم عن التوثيق الخاص بواجهة برمجة تطبيقات Dodo Payments وSDK لفهم العمليات والمعاملات المتاحة.
2. **أداة تنفيذ الكود**: تكتب كود TypeScript ضد SDK ويتم تنفيذه في بيئة رملية آمنة.

تتيح هذه البنية للوكالات تنفيذ عمليات معقدة متعددة الخطوات في استدعاء واحد. على سبيل المثال، يمكن للوكيل سرد كل الاشتراكات النشطة، تصفيتها بناءً على معايير محددة، وتطبيق خصم على كل منها—كل ذلك داخل نص واحد.

<Tip>
  باستخدام وضع الكود، يمكن للوكلاء ربط استدعاءات API متعددة، ومعالجة المنطق الشرطي، وإجراء الحسابات دون الحاجة إلى جولات متعددة مع نموذج اللغة الكبير.
</Tip>

### الإعداد السريع

اتصل بخادم MCP الخاص بـ Dodo Payments في عميل الذكاء الاصطناعي الخاص بك:

<Tabs>
  <Tab title="Agent Plugin (recommended)">
    يُثبِّت [Dodo Agent Plugin](/developer-resources/build-with-ai-coding-agents) كلاً من خوادم MCP وجميع المهارات الثمانية في خطوة واحدة لـ Claude Code وCodex CLI وCursor وOpenCode. انظر [دليل وكلاء الذكاء الاصطناعي](/developer-resources/build-with-ai-coding-agents) لأوامر التثبيت الخاصة بكل وكيل.

    إذا لم يكن وكيلك في تلك القائمة، استخدم علامات التبويب أدناه لتكوين خادم MCP مباشرةً.
  </Tab>

  <Tab title="Cursor">
    أضف إلى `~/.cursor/mcp.json`:

    ```json theme={null}
    {
      "mcpServers": {
        "dodopayments": {
          "command": "npx",
          "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
        }
      }
    }
    ```
  </Tab>

  <Tab title="Claude Desktop">
    أضف إلى إعدادات Claude Desktop الخاصة بك:

    ```json theme={null}
    {
      "mcpServers": {
        "dodopayments": {
          "command": "npx",
          "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
        }
      }
    }
    ```

    مواقع ملفات التكوين:

    * **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
    * **ويندوز**: `%APPDATA%\Claude\claude_desktop_config.json`
    * **لينكس**: `~/.config/Claude/claude_desktop_config.json`
  </Tab>

  <Tab title="Windsurf">
    أضف إلى `~/.codeium/windsurf/mcp_config.json`:

    ```json theme={null}
    {
      "mcpServers": {
        "dodopayments": {
          "command": "npx",
          "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
        }
      }
    }
    ```
  </Tab>

  <Tab title="Claude Code">
    قم بتشغيل في الطرفية الخاصة بك:

    ```bash theme={null}
    claude mcp add dodopayments -- npx -y mcp-remote@latest https://mcp.dodopayments.com/sse
    ```
  </Tab>
</Tabs>

<Note>
  يتطلب Node.js 18 أو أعلى. يستخدم الخادم عن بُعد OAuth للمصادقة — سيُطلب منك إدخال مفتاح API الخاص بك واختيار بيئتك في الاتصال الأول.
</Note>

## Dodo Knowledge MCP

بالإضافة إلى خادم Dodo Payments MCP (لتنفيذ عمليات API)، نقدم **Dodo Knowledge MCP** — خادم بحث دلالي يتيح لمساعدي الذكاء الاصطناعي الوصول الفوري إلى وثائق Dodo Payments وقاعدة المعرفة.

<Info>
  **تم إنشاؤه باستخدام [ContextMCP.ai](https://contextmcp.ai)**: يتم تشغيل Dodo Knowledge MCP بواسطة ContextMCP، مما يمكّن البحث الدلالي السريع عبر الوثائق لدينا باستخدام تضمينات المتجهات.
</Info>

### ما هو Dodo Knowledge MCP؟

Dodo Knowledge MCP هو خادم MCP بعيد يوفر:

* **بحث وثائقي دلالي**: العثور على الوثائق ذات الصلة باستخدام استفسارات اللغة الطبيعية.
* **إجابات سياقية**: يحصل مساعدو الذكاء الاصطناعي على معلومات دقيقة ومحدثة حول Dodo Payments.
* **بدون إعداد**: لا حاجة إلى مفاتيح API أو تثبيت محلي — فقط قم بالاتصال وابدأ الاستفسار.

### إعداد سريع

قم بالاتصال بـ Dodo Knowledge MCP في عميل الذكاء الاصطناعي الخاص بك:

<Tabs>
  <Tab title="Cursor">
    أضف إلى `~/.cursor/mcp.json`:

    ```json theme={null}
    {
      "mcpServers": {
        "dodo-knowledge": {
          "command": "npx",
          "args": ["-y", "mcp-remote@latest", "https://knowledge.dodopayments.com/mcp"]
        }
      }
    }
    ```
  </Tab>

  <Tab title="Claude Desktop">
    أضف إلى إعدادات Claude Desktop الخاصة بك:

    ```json theme={null}
    {
      "mcpServers": {
        "dodo-knowledge": {
          "command": "npx",
          "args": ["-y", "mcp-remote@latest", "https://knowledge.dodopayments.com/mcp"]
        }
      }
    }
    ```

    مواقع ملفات التكوين:

    * **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
    * **ويندوز**: `%APPDATA%\Claude\claude_desktop_config.json`
    * **لينكس**: `~/.config/Claude/claude_desktop_config.json`
  </Tab>

  <Tab title="Windsurf">
    أضف إلى `~/.codeium/windsurf/mcp_config.json`:

    ```json theme={null}
    {
      "mcpServers": {
        "dodo-knowledge": {
          "command": "npx",
          "args": ["-y", "mcp-remote@latest", "https://knowledge.dodopayments.com/mcp"]
        }
      }
    }
    ```
  </Tab>

  <Tab title="Claude Code">
    قم بتشغيل في الطرفية الخاصة بك:

    ```bash theme={null}
    claude mcp add dodo-knowledge -- npx -y mcp-remote@latest https://knowledge.dodopayments.com/mcp
    ```
  </Tab>
</Tabs>

<Note>
  يتطلب Node.js 18 أو أعلى. تتولى الحزمة `mcp-remote` الاتصال بالخادم البعيد MCP.
</Note>

### استخدام كلا خادمي MCP معًا

لأفضل تجربة تطوير مدعومة بالذكاء الاصطناعي، نوصي باستخدام خادمي MCP معًا:

| خادم                   | الغرض          | حالة الاستخدام                                                |
| ---------------------- | -------------- | ------------------------------------------------------------- |
| **Dodo Knowledge MCP** | بحث في الوثائق | "كيف يمكنني التعامل مع الويب هوكس؟"، "ما طرق الدفع المدعومة؟" |
| **Dodo Payments MCP**  | عمليات API     | إنشاء مدفوعات، إدارة الاشتراكات، معالجة الاسترداد             |

```json theme={null}
{
  "mcpServers": {
    "dodo-knowledge": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://knowledge.dodopayments.com/mcp"]
    },
    "dodopayments": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
    }
  }
}
```

<Tip>
  مع تكوين كلا الخادمين، يمكن لمساعد الذكاء الاصطناعي البحث في الوثائق لفهم كيفية تنفيذ ميزة، ثم تنفيذ مكالمات API الفعلية — جميعها في محادثة واحدة.
</Tip>

### استكشاف الأخطاء في Knowledge MCP

إذا واجهت مشاكل في الاتصال:

1. **مسح ذاكرة التخزين المؤقت للمصادقة الخاصة بـ MCP**: `rm -rf ~/.mcp-auth`
2. **أعد تشغيل تطبيق العميل الخاص بك**
3. **تحقق من سجلات العميل** للرسائل الخطأ
4. **تحقق من إصدار Node.js**: يتطلب Node.js 18+

<Card title="Knowledge MCP Server" icon="book-open" href="https://knowledge.dodopayments.com">
  الوصول إلى صفحة إعدادات Dodo Knowledge MCP
</Card>

## التثبيت

اختر طريقة التثبيت التي تناسب سير العمل الخاص بك.

### خادم MCP عن بعد (موصى به)

الوصول إلى الخادم المستضاف بدون أي إعداد محلي أو تثبيت. هذه هي أسرع طريقة لبدء الاستخدام.

<Frame>
  <iframe className="w-full aspect-video rounded-md" src="https://www.youtube.com/embed/TxGgYxNmkT4" title="Using Dodo Payment's Remote MCP Server" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />
</Frame>

<Steps>
  <Step title="Access the remote server">
    انتقل إلى [https://mcp.dodopayments.com](https://mcp.dodopayments.com) في متصفحك.
  </Step>

  <Step title="Configure your MCP client">
    انسخ تكوين JSON المقدم للعميل الخاص بك. لكل من Cursor أو Claude Desktop، أضفه إلى إعدادات MCP الخاصة بك:

    ```json theme={null}
    {
      "mcpServers": {
        "dodopayments_api": {
          "command": "npx",
          "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
        }
      }
    }
    ```
  </Step>

  <Step title="Authenticate and configure">
    ستطلب منك عملية تدفق OAuth أن:

    * تدخل مفتاح API الخاص بك لـ Dodo Payments
    * تختار بيئتك (اختبار أو مباشر)
    * تختار نوع عميل MCP الخاص بك

    <Warning>
      احتفظ بمفتاح API الخاص بك آمنًا. استخدم مفاتيح وضع الاختبار أثناء التطوير.
    </Warning>
  </Step>

  <Step title="Complete setup">
    انقر على **تسجيل الدخول والموافقة** لأجل تأكيد الاتصال.

    <Check>
      بمجرد الاتصال، يمكن لمساعد الذكاء الاصطناعي الخاص بك التفاعل مع Dodo Payments API بالنيابة عنك.
    </Check>
  </Step>
</Steps>

### حزمة NPM

قم بتثبيت وتشغيل خادم MCP محليًا باستخدام NPM.

<Tabs>
  <Tab title="NPX (No Installation)">
    ```bash theme={null}
    # Set your environment variables
    export DODO_PAYMENTS_API_KEY="dodo_test_..."
    export DODO_PAYMENTS_WEBHOOK_KEY="your_webhook_key"
    export DODO_PAYMENTS_ENVIRONMENT="live_mode"

    # Run the latest version
    npx -y dodopayments-mcp@latest
    ```
  </Tab>

  <Tab title="MCP Client Configuration">
    ```json theme={null}
    {
      "mcpServers": {
        "dodopayments_api": {
          "command": "npx",
          "args": ["-y", "dodopayments-mcp@latest"],
          "env": {
            "DODO_PAYMENTS_API_KEY": "dodo_test_...",
            "DODO_PAYMENTS_WEBHOOK_KEY": "your_webhook_key",
            "DODO_PAYMENTS_ENVIRONMENT": "live_mode"
          }
        }
      }
    }
    ```
  </Tab>
</Tabs>

<Tip>
  استخدم `@latest` دائمًا لسحب أحدث إصدار، أو قم بتثبيت إصدار محدد مثل `@1.0.0` للاستقرار.
</Tip>

### Docker

قم بتشغيل خادم MCP في بيئة مخصصة للتوزيع المتسق.

<CodeGroup>
  ```bash Docker theme={null}
  # Pull the latest image
  docker pull ghcr.io/dodopayments/mcp:latest

  # Run the container
  docker run -e DODO_PAYMENTS_API_KEY="dodo_test_..." \
    -e DODO_PAYMENTS_WEBHOOK_KEY="your_webhook_key" \
    -e DODO_PAYMENTS_ENVIRONMENT="live_mode" \
    ghcr.io/dodopayments/mcp:latest
  ```

  ```yaml Docker Compose theme={null}
  services:
    dodopayments-mcp:
      image: ghcr.io/dodopayments/mcp:latest
      environment:
        - DODO_PAYMENTS_API_KEY=dodo_test_...
        - DODO_PAYMENTS_WEBHOOK_KEY=your_webhook_key
        - DODO_PAYMENTS_ENVIRONMENT=live_mode
      restart: unless-stopped
  ```
</CodeGroup>

<Note>
  صور Docker متاحة على [GitHub Container Registry](https://github.com/orgs/dodopayments/packages/container/package/mcp).
</Note>

## إعدادات العميل

قم بتكوين خادم Dodo Payments MCP في عميل الذكاء الاصطناعي المفضل لديك.

<Tabs>
  <Tab title="Cursor">
    قم بإعداد خادم Dodo Payments MCP في Cursor لتمكين الوصول المحادثي إلى بيانات المدفوعات الخاصة بك.

    **التثبيت بنقرة واحدة**

    استخدم الزر أدناه لتثبيت خادم MCP مباشرةً في Cursor:

    \[

    ![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)

    ]\([https://cursor.com/en-US/install-mcp?name=dodopayments-mcp\&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImRvZG9wYXltZW50cy1tY3AiXSwiZW52Ijp7IkRPRE9fUEFZTUVOVFNfQVBJX0tFWSI6IlNldCB5b3VyIERPRE9fUEFZTUVOVFNfQVBJX0tFWSBoZXJlLiIsIkRPRE9fUEFZTUVOVFNfV0VCSE9PS19LRVkiOiJTZXQgeW91ciBET0RPX1BBWU1FTlRTX1dFQkhPT0tfS0VZIGhlcmUuIn19](https://cursor.com/en-US/install-mcp?name=dodopayments-mcp\&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImRvZG9wYXltZW50cy1tY3AiXSwiZW52Ijp7IkRPRE9fUEFZTUVOVFNfQVBJX0tFWSI6IlNldCB5b3VyIERPRE9fUEFZTUVOVFNfQVBJX0tFWSBoZXJlLiIsIkRPRE9fUEFZTUVOVFNfV0VCSE9PS19LRVkiOiJTZXQgeW91ciBET0RPX1BBWU1FTlRTX1dFQkhPT0tfS0VZIGhlcmUuIn19))

    بعد الضغط، قم بتعيين متغيرات البيئة في `mcp.json` عبر **إعدادات Cursor** > **أدوات & MCP** > **خادم MCP جديد**.

    **التكوين اليدوي**

    <Steps>
      <Step title="Open Cursor settings">
        انتقل إلى **إعدادات Cursor** > **الخصائص** > **بروتوكول سياق النموذج** أو اضغط `Cmd/Ctrl + Shift + P` وابحث عن "إعدادات MCP".
      </Step>

      <Step title="Edit configuration">
        انقر على **تحرير التكوين** لفتح ملف `mcp_config.json`.
      </Step>

      <Step title="Add Dodo Payments configuration">
        اختر أحد التكوينات التالية:

        **الخادم البعيد (موصى به)**

        ```json theme={null}
        {
          "mcpServers": {
            "dodopayments": {
              "command": "npx",
              "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
            }
          }
        }
        ```

        **NPX محلي**

        ```json theme={null}
        {
          "mcpServers": {
            "dodopayments": {
              "command": "npx",
              "args": ["-y", "dodopayments-mcp@latest"],
              "env": {
                "DODO_PAYMENTS_API_KEY": "dodo_test_...",
                "DODO_PAYMENTS_WEBHOOK_KEY": "your_webhook_key"
              }
            }
          }
        }
        ```
      </Step>

      <Step title="Save and restart">
        احفظ ملف التكوين وأعد تشغيل Cursor.

        <Check>
          تحقق من الاتصال عن طريق سؤال مساعد الذكاء الاصطناعي حول بيانات Dodo Payments الخاصة بك.
        </Check>
      </Step>
    </Steps>
  </Tab>

  <Tab title="Claude Desktop">
    قم بإعداد خادم Dodo Payments MCP في Claude Desktop لتمكين الوصول المحادثي إلى بيانات المدفوعات الخاصة بك.

    <Steps>
      <Step title="Locate configuration file">
        اعثر على ملف التكوين لـ Claude Desktop:

        * **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
        * **ويندوز**: `%APPDATA%\Claude\claude_desktop_config.json`
        * **لينكس**: `~/.config/Claude/claude_desktop_config.json`
      </Step>

      <Step title="Edit configuration">
        افتح الملف في محرر نصوص وأضف إعدادات Dodo Payments:

        **الخادم البعيد (موصى به)**

        ```json theme={null}
        {
          "mcpServers": {
            "dodopayments": {
              "command": "npx",
              "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
            }
          }
        }
        ```

        **NPX محلي**

        ```json theme={null}
        {
          "mcpServers": {
            "dodopayments": {
              "command": "npx",
              "args": ["-y", "dodopayments-mcp@latest"],
              "env": {
                "DODO_PAYMENTS_API_KEY": "dodo_test_...",
                "DODO_PAYMENTS_WEBHOOK_KEY": "your_webhook_key"
              }
            }
          }
        }
        ```
      </Step>

      <Step title="Restart Claude Desktop">
        أغلق وأعد فتح Claude Desktop لتفعيل التغييرات.

        <Tip>
          ابحث عن أيقونة 🔌 في Claude Desktop لتأكيد اتصال خادم MCP.
        </Tip>
      </Step>
    </Steps>
  </Tab>

  <Tab title="Claude Code">
    قم بإعداد خادم Dodo Payments MCP في Claude Code CLI.

    قم بتشغيل الأمر التالي في الطرفية الخاصة بك:

    ```bash theme={null}
    claude mcp add --transport stdio dodopayments_api \
      --env DODO_PAYMENTS_API_KEY="dodo_test_..." \
      DODO_PAYMENTS_WEBHOOK_KEY="your_webhook_key" \
      -- npx -y dodopayments-mcp
    ```

    سيتم تخزين الإعدادات في ملف `.claude.json` في دليل المنزل الخاص بك.

    <Tip>
      يكتشف Claude Code تلقائيًا متغيرات البيئة من غلافك، لذا يمكنك تصديرها قبل تشغيل الأمر.
    </Tip>
  </Tab>

  <Tab title="VS Code">
    قم بإعداد خادم Dodo Payments MCP في VS Code.

    **التثبيت بنقرة واحدة**

    [Open VS Code](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22dodopayments-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22dodopayments-mcp%22%5D%2C%22env%22%3A%7B%22DODO_PAYMENTS_API_KEY%22%3A%22Set%20your%20DODO_PAYMENTS_API_KEY%20here.%22%2C%22DODO_PAYMENTS_WEBHOOK_KEY%22%3A%22Set%20your%20DODO_PAYMENTS_WEBHOOK_KEY%20here.%22%7D%7D)

    بعد الضغط، قم بتعيين متغيرات البيئة في `mcp.json` عبر **Command Palette** > **MCP: Open User Configuration**.

    **التكوين اليدوي**

    <Steps>
      <Step title="Open MCP configuration">
        افتح Command Palette (`Cmd/Ctrl + Shift + P`) وابحث عن "MCP: Open User Configuration".
      </Step>

      <Step title="Add server configuration">
        أضف خادم Dodo Payments MCP:

        ```json theme={null}
        {
          "mcpServers": {
            "dodopayments": {
              "command": "npx",
              "args": ["-y", "dodopayments-mcp@latest"],
              "env": {
                "DODO_PAYMENTS_API_KEY": "dodo_test_...",
                "DODO_PAYMENTS_WEBHOOK_KEY": "your_webhook_key"
              }
            }
          }
        }
        ```
      </Step>

      <Step title="Reload window">
        أعد تحميل VS Code (`Cmd/Ctrl + Shift + P` > "Reload Window") لتفعيل خادم MCP.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Cline (VS Code)">
    قم بإعداد خادم Dodo Payments MCP في Cline (VS Code) لتمكين الوصول المحادثي إلى بيانات المدفوعات الخاصة بك.

    <Steps>
      <Step title="Open Cline settings">
        حدد موقع ملف التكوين لـ Cline:

        * **macOS**: `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`
        * **ويندوز**: `%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json`
        * **لينكس**: `~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`
      </Step>

      <Step title="Configure MCP server">
        أضف تكوين خادم Dodo Payments MCP:

        ```json theme={null}
        {
          "mcpServers": {
            "dodopayments": {
              "command": "npx",
              "args": ["-y", "dodopayments-mcp@latest"],
              "env": {
                "DODO_PAYMENTS_API_KEY": "dodo_test_...",
                "DODO_PAYMENTS_WEBHOOK_KEY": "your_webhook_key"
              }
            }
          }
        }
        ```
      </Step>

      <Step title="Reload VS Code">
        أعد تحميل نافذة VS Code (`Cmd/Ctrl + Shift + P` > "Reload Window") لتفعيل اتصال خادم MCP.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Zed">
    قم بإعداد خادم Dodo Payments MCP في Zed لتمكين الوصول المحادثي إلى بيانات المدفوعات الخاصة بك.

    <Steps>
      <Step title="Open Zed settings">
        انتقل إلى **الإعدادات** > **المساعد** > **بروتوكول سياق النموذج**.
      </Step>

      <Step title="Add server configuration">
        أضف التكوين التالي:

        ```json theme={null}
        {
          "mcpServers": {
            "dodopayments": {
              "command": "npx",
              "args": ["-y", "dodopayments-mcp@latest"],
              "env": {
                "DODO_PAYMENTS_API_KEY": "dodo_test_...",
                "DODO_PAYMENTS_WEBHOOK_KEY": "your_webhook_key"
              }
            }
          }
        }
        ```
      </Step>

      <Step title="Save and verify">
        احفظ التكوين. يجب أن يكون خادم MCP متاحًا الآن في مساعد Zed الذكي.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Other Clients">
    قم بإعداد خادم Dodo Payments MCP في عملاء آخرين متوافقين مع MCP.

    **الخادم البعيد (موصى به)**

    ```json theme={null}
    {
      "mcpServers": {
        "dodopayments": {
          "command": "npx",
          "args": ["-y", "mcp-remote@latest", "https://mcp.dodopayments.com/sse"]
        }
      }
    }
    ```

    **NPX محلي**

    ```json theme={null}
    {
      "mcpServers": {
        "dodopayments": {
          "command": "npx",
          "args": ["-y", "dodopayments-mcp@latest"],
          "env": {
            "DODO_PAYMENTS_API_KEY": "dodo_test_...",
            "DODO_PAYMENTS_WEBHOOK_KEY": "your_webhook_key"
          }
        }
      }
    }
    ```

    <Info>
      انتقل إلى [modelcontextprotocol.io/clients](https://modelcontextprotocol.io/clients) للحصول على قائمة كاملة بالعملاء المتوافقين مع MCP وطرق التكوين الخاصة بهم.
    </Info>
  </Tab>
</Tabs>

## متغيرات البيئة

قم بتكوين سلوك خادم MCP باستخدام متغيرات البيئة.

| المتغير                     | الوصف                               | مطلوب |
| --------------------------- | ----------------------------------- | ----- |
| `DODO_PAYMENTS_API_KEY`     | مفتاح API الخاص بك لـ Dodo Payments | نعم   |
| `DODO_PAYMENTS_WEBHOOK_KEY` | مفتاح توقيع الويب هوك الخاص بك      | لا    |
| `DODO_PAYMENTS_ENVIRONMENT` | اضبط على `live_mode` للإنتاج        | لا    |

## التشغيل عن بُعد

قم بنشر خادم MCP كخادم HTTP بعيد للعمليات القائمة على الويب أو تدفقات العمل الوكيلة.

```bash theme={null}
# Start as remote server
npx -y dodopayments-mcp --transport=http

# Specify a custom port
npx -y dodopayments-mcp --transport=http --port=3000
```

### تكوين الخادم البعيد

بعد النشر، يمكن للعملاء الاتصال باستخدام عنوان URL للخادم:

```json theme={null}
{
  "mcpServers": {
    "dodopayments_api": {
      "url": "http://localhost:3000",
      "headers": {
        "Authorization": "Bearer your_api_key"
      }
    }
  }
}
```

### رؤوس التحقق

يقبل الخادم البعيد المصادقة عبر الرؤوس التالية:

| الرأس                     | الوصف                 |
| ------------------------- | --------------------- |
| `Authorization`           | مصادقة رمز Bearer     |
| `x-dodo-payments-api-key` | رأس مفتاح API المباشر |

## ممارسات الأمان المثلى

يوفر Code Mode أمانًا داخليًا من خلال تنفيذ الكود في بيئة معزولة وحقن مفاتيح API على جانب الخادم. اتبع هذه الممارسات المثلى الإضافية لحماية بيانات اعتمادك.

<AccordionGroup>
  <Accordion title="API Key Management">
    **لا تلتزم مطلقًا ببيانات الاعتماد في التحكم في الإصدار**

    قم بتخزين مفاتيح API في متغيرات البيئة أو أنظمة إدارة الأسرار الآمنة.

    ```bash theme={null}
    # Use environment variables
    export DODO_PAYMENTS_API_KEY="dodo_test_..."

    # Use a .env file (add to .gitignore)
    echo "DODO_PAYMENTS_API_KEY=dodo_test_..." > .env
    ```

    **قم بتدوير المفاتيح بانتظام**

    قم بإنشاء مفاتيح API جديدة دوريًا وألغِ المفاتيح القديمة عبر لوحة معلومات Dodo Payments الخاصة بك.

    **استخدم مفاتيح الاختبار للتطوير**

    استخدم دائمًا مفاتيح وضع الاختبار أثناء التطوير لتجنب التأثير على بيانات الإنتاج.
  </Accordion>

  <Accordion title="Access Control">
    **نفذ المصادقة للخوادم البعيدة**

    عند النشر عن بُعد، يجب دائمًا المطالبة بالمصادقة عبر الرأس `Authorization` أو الرأس `x-dodo-payments-api-key`.

    **مراقبة استخدام API**

    تتبع نشاط خادم MCP عبر لوحة معلومات Dodo Payments الخاصة بك وقم بإعداد تنبيهات لأنماط غير عادية.
  </Accordion>

  <Accordion title="Network Security">
    **استخدم HTTPS للخوادم البعيدة**

    قم دائمًا بنشر خوادم MCP البعيدة خلف نقاط نهاية HTTPS.

    **تنفيذ القيود الزمنية**

    احمَ ضد الإساءة من خلال تنفيذ قيود السرعة على كل من خادم MCP ومستويات API.

    **تقييد الوصول إلى الشبكة**

    قم بتكوين قواعد الجدار الناري لتحديد العملاء الذين يمكنهم الاتصال بخادم MCP الخاص بك.
  </Accordion>
</AccordionGroup>

## استكشاف الأخطاء وإصلاحها

<AccordionGroup>
  <Accordion title="Connection issues">
    **تحقق من صحة مفتاح API الخاص بك**

    تأكد من أن مفتاح API الخاص بك مضبوط بشكل صحيح ولديه الأذونات اللازمة.

    ```bash theme={null}
    # Test your API key
    curl -H "Authorization: Bearer dodo_test_..." \
      https://test.dodopayments.com/payments
    ```

    **تحقق من اتصال الشبكة الخاص بك**

    تأكد من إمكان وصولك إلى نقاط نهاية Dodo Payments API.

    **راجع سجلات العميل**

    قم بتمكين تسجيل الأحداث المفصل في عميل MCP الخاص بك لتشخيص مشاكل الاتصال.
  </Accordion>

  <Accordion title="Authentication errors">
    **تحقق من بيئة مفتاح API**

    تأكد من أنك تستخدم مفاتيح الاختبار مع نقاط نهاية الاختبار والمفاتيح المباشرة مع نقاط نهاية الإنتاج.

    **تحقق من متغير البيئة**

    تأكد من تعيين `DODO_PAYMENTS_ENVIRONMENT` بشكل صحيح (`live_mode` للإنتاج).

    **إعادة توليد بيانات الاعتماد**

    إذا استمرت المشاكل، قم بإنشاء مفتاح API جديد عبر لوحة التحكم الخاصة بك.
  </Accordion>

  <Accordion title="Tool execution failures">
    **التحقق من صحة معلمات المدخلات**

    تأكد من أن مساعد الذكاء الاصطناعي يوفر المعلمات بصيغة صحيحة لكل أداة.

    **مراجعة رسائل الخطأ**

    تحقق من استجابة الخطأ من API للحصول على إرشادات محددة حول ما حدث بشكل خاطئ.

    **الاختبار مع API مباشرة**

    تأكد من عمل العملية عند الاتصال بـ Dodo Payments API مباشرة عبر curl أو Postman.
  </Accordion>
</AccordionGroup>

## لماذا وضع الشيفرة

غالبًا ما تعاني تطبيقات MCP التقليدية من "تكاثر الأدوات" حيث يتم كشف كل نقطة نهاية API كأداة منفصلة. يعد وضع الشيفرة نهجًا متفوقًا لعدة أسباب:

### LLMs أفضل في كتابة الشيفرة من استدعاء الأدوات

تم تدريب LLMs على ملايين الأسطر من الشيفرة الفعلية، مما يجعلها تتمتع بمهارة طبيعية في كتابة البرامج. في المقابل، يعتمد استدعاء الأدوات غالبًا على أمثلة اصطناعية.

<Info>
  "جعل LLM يؤدي مهامًا باستخدام استدعاء الأدوات يشبه وضع شكسبير في فصل دراسي لمدة شهر لدراسة الماندرين ثم طلب كتابته لمسرحية بها." — [Cloudflare](https://blog.cloudflare.com/code-mode/)
</Info>

### يقضي على تضخم نافذة السياق

في النهج التقليدي، يستهلك تعريف كل أداة الرموز قبل أن تبدأ المحادثة حتى. يمكن أن يؤدي كشف أكثر من 50 أداة بسهولة إلى استنزاف 55K–100K+ رمز. وجد Anthropic أن تعريفات الأدوات يمكن أن تستهلك حتى 134K رمز قبل التحسين.

مع وضع الشيفرة، يتم تحميل تعريفي الأدوات فقط (\~1K رمز). يقوم الوكيل بالبحث عن الوثائق المطلوبة حسب الطلب. حافظت أداة بحث الأدوات من Anthropic على 95% من نافذة السياق، مما قلل من التحميل من 77K إلى 8.7K رمز.

### يقلل من التأخير عبر التنظيم البرمجي

يتطلب استدعاء الأدوات التقليدي جولة كاملة للاستنتاج مع النموذج لكل عملية واحدة. إذا كانت المهمة تتطلب 20 مكالمة API، فهذا يعني 20 جولة متكررة. في وضع الشيفرة، يكتب الوكيل برنامجًا واحدًا ينفذ جميع المكالمات ويعود بالنتيجة النهائية فقط.

لاحظ Anthropic انخفاضًا بنسبة 37% في الرموز وتحسينًا في الدقة (تحسن استرجاع المعرفة من 25.6% إلى 28.5%) باستخدام هذا النهج البرمجي.

### أكثر أمانًا بالتصميم

يوفر وضع الشيفرة فوائد أمان بطبيعة الحال:

* **لا مفاتيح API في المعلمات**: يتم حقن مفاتيح API على جانب الخادم ولا يتم الكشف عنها في المعلمات المرسلة إلى نموذج اللغة الكبير.
* **بيئة معزولة**: يتم تشغيل الشيفرة في بيئة آمنة دون إمكانية الوصول إلى الشبكة أو نظام الملفات المحلي.
* **SDK محكوم**: لا يمكن للوكيل الوصول إلا إلى أساليب SDK المصرح بها.

### يتكيف مع أي حجم API

عندما ينمو واجهة برمجة التطبيقات، تتدهور أداء MCP التقليدي لأنه يجب تحميل المزيد من الأدوات في السياق. يبقى وضع الشيفرة ثابتًا بأداة 2 بغض النظر عن حجم واجهة برمجة التطبيقات. نجحت Cloudflare في طي أكثر من 2500 نقطة نهاية API في أداة 2 وحوالي 1000 رمز من السياق.

<Info>
  لمزيد من التفاصيل حول فوائد هذا الهيكل، ارجع إلى مدونات الهندسة من [Anthropic](https://www.anthropic.com/engineering/advanced-tool-use) و[Cloudflare](https://blog.cloudflare.com/code-mode/)، و[برنامج استدعاء الأدوات البرمجية](https://platform.claude.com/docs/en/agents-and-tools/tool-use/programmatic-tool-calling) من Claude.
</Info>

## الموارد

<CardGroup cols={2}>
  <Card title="API Reference" icon="book" href="/api-reference/introduction">
    استكشف وثائق Dodo Payments API الكاملة
  </Card>

  <Card title="MCP Protocol" icon="link" href="https://modelcontextprotocol.io">
    تعلم المزيد عن معيار بروتوكول سياق النموذج
  </Card>

  <Card title="GitHub Repository" icon="github" href="https://github.com/dodopayments/dodopayments-typescript/tree/main/packages/mcp-server">
    شاهد كود المصدر لخادم MCP وساهم
  </Card>

  <Card title="NPM Package" icon="npm" href="https://www.npmjs.com/package/dodopayments-mcp">
    قم بتثبيت خادم MCP من NPM
  </Card>
</CardGroup>
