> ## Documentation Index
> Fetch the complete documentation index at: https://shinydapps-bd9fa40b.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# خادم MCP

> أضف l402-kit كأداة MCP حتى يتمكن Claude Desktop وCursor وأي ذكاء اصطناعي متوافق مع MCP من الدفع لـ Lightning APIs تلقائيًا.

## ما هو MCP؟

[Model Context Protocol](https://modelcontextprotocol.io) هو المعيار المفتوح من Anthropic لمنح نماذج اللغة الكبيرة إمكانية الوصول إلى الأدوات الخارجية. يأتي l402-kit مزودًا بخادم MCP جاهز للاستخدام يحتوي على فئتين من الأدوات:

### أدوات L402 العامة

| الأداة                 | الوصف                                   |
| ---------------------- | --------------------------------------- |
| `l402_fetch`           | جلب أي URL — يدفع تلقائيًا إذا أعاد 402 |
| `l402_balance`         | التحقق من الرصيد المتبقي في Lightning   |
| `l402_spending_report` | تفصيل كامل للمدفوعات في هذه الجلسة      |

### أدوات VERITY — خدمات مدفوعة، تدفع تلقائيًا

| الأداة                |       السعر | الوصف                                           |
| --------------------- | ----------: | ----------------------------------------------- |
| `verity_btc_price`    |     10 sats | سعر BTC الحي بالدولار واليورو والريال البرازيلي |
| `verity_worldstate`   |     80 sats | التوقيت UTC + الموقع الجغرافي + الطقس المحلي    |
| `verity_search`       |    100 sats | بحث على الويب، أفضل 10 نتائج عضوية              |
| `verity_summarize`    |     50 sats | تلخيص بالذكاء الاصطناعي لما يصل إلى 50,000 حرف  |
| `verity_sentiment`    |     30 sats | درجة المشاعر + الكلمات المفتاحية                |
| `verity_scrape`       |    200 sats | استخراج بيانات الويب إلى markdown نظيف          |
| `verity_domain_intel` |    500 sats | WHOIS + DNS + شهادات SSL                        |
| `verity_translate`    |     50 sats | ترجمة بالذكاء الاصطناعي إلى 11 لغة، يدعم MDX    |
| `verity_integration`  | 10,000 sats | تكامل l402-kit كامل لأي مستودع GitHub           |

تدفع أدوات VERITY باستقلالية — لا حاجة للتعامل اليدوي مع الفواتير.

***

## الإعداد في Claude Desktop

### 1. تثبيت Node.js ≥ 18

### 2. إعداد محفظتك

<Tabs>
  <Tab title="Blink">
    عدّل ملف `claude_desktop_config.json`:

    ```json theme={null}
    {
      "mcpServers": {
        "l402": {
          "command": "npx",
          "args": ["l402-kit-mcp"],
          "env": {
            "BLINK_API_KEY": "your-blink-api-key",
            "BLINK_WALLET_ID": "your-wallet-id",
            "BUDGET_SATS": "2000"
          }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Alby">
    ```json theme={null}
    {
      "mcpServers": {
        "l402": {
          "command": "npx",
          "args": ["l402-kit-mcp"],
          "env": {
            "ALBY_TOKEN": "your-alby-access-token",
            "BUDGET_SATS": "2000"
          }
        }
      }
    }
    ```

    لاستخدام Alby Hub المستضاف ذاتيًا، أضف:

    ```json theme={null}
    "ALBY_HUB_URL": "https://your-hub.example.com"
    ```
  </Tab>
</Tabs>

**موقع ملف الإعداد:**

* macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
* Windows: `%APPDATA%\Claude\claude_desktop_config.json`

### 3. أعد تشغيل Claude Desktop

ستظهر الأدوات `l402_fetch` و`l402_balance` و`l402_spending_report` في قائمة أدوات Claude.

***

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

| المتغير           |   مطلوب   | الوصف                                            |
| ----------------- | :-------: | ------------------------------------------------ |
| `BLINK_API_KEY`   | Blink فقط | مفتاح Blink API الخاص بك                         |
| `BLINK_WALLET_ID` | Blink فقط | معرّف محفظة Blink الخاصة بك                      |
| `ALBY_TOKEN`      |  Alby فقط | رمز وصول Alby                                    |
| `ALBY_HUB_URL`    |  اختياري  | عنوان URL مخصص لـ Alby Hub                       |
| `BUDGET_SATS`     |  اختياري  | الحد الأقصى للإنفاق لكل جلسة (الافتراضي: `2000`) |

***

## استخدام الأدوات

بمجرد تشغيل الخادم، يمكن لـ Claude استدعاء VERITY وأي API محمي بـ L402 باستقلالية:

```
You: What's the BTC price right now?

Claude: [calls verity_btc_price]
        [Paid 10 sats] {"bitcoin":{"usd":97500,"eur":89800,"brl":548000}}

        Bitcoin is currently $97,500 USD (Cost: 10 sats)
```

```
You: Summarize this article: <pastes 5,000 words>

Claude: [calls verity_summarize with text="..."]
        [Paid 50 sats] {"summary":"..."}
```

```
You: Search for "lightning network adoption 2026"

Claude: [calls verity_search with q="lightning network adoption 2026"]
        [Paid 100 sats] {"results":[...]}
```

```
You: How much have I spent so far?

Claude: [calls l402_spending_report]
        === L402 Spending Report ===
        Total spent:  160 sats
        Remaining:    1840 sats

        By domain:
          l402kit.com: 160 sats
```

***

## نقطة نهاية HTTP MCP

بالإضافة إلى حزمة stdio، تُتيح VERITY **خادم HTTP MCP** مباشرًا — لا يلزم أي تثبيت:

```
POST https://l402kit.com/api/mcp
Content-Type: application/json
```

يمكن لأي عميل MCP يدعم نقل HTTP القابل للبث الاتصال مباشرةً. مرّر بيانات اعتماد Blink كترويسات:

```
X-BLINK-API-KEY: your-blink-api-key
X-BLINK-WALLET-ID: your-wallet-id
```

**التهيئة:**

```json theme={null}
{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-agent","version":"1.0"}},"id":1}
```

**سرد الأدوات:**

```json theme={null}
{"jsonrpc":"2.0","method":"tools/list","params":{},"id":2}
```

**استدعاء أداة:**

```json theme={null}
{"jsonrpc":"2.0","method":"tools/call","params":{"name":"verity_btc_price","arguments":{}},"id":3}
```

تدفع نقطة النهاية فواتير Lightning تلقائيًا باستخدام بيانات اعتماد محفظتك وتُعيد نتيجة VERITY مباشرةً.

***

## سجلات MCP

يُدرج l402-kit في جميع سجلات MCP الرئيسية:

| السجل                           | الرابط                                                                                         |
| ------------------------------- | ---------------------------------------------------------------------------------------------- |
| Anthropic MCP Registry (الرسمي) | `io.github.ThiagoDataEngineer/l402-kit`                                                        |
| Glama                           | [glama.ai/mcp/servers/@ShinyDapps/l402-kit](https://glama.ai/mcp/servers/@ShinyDapps/l402-kit) |
| Smithery                        | [smithery.ai/servers/shinydapps/l402-kit](https://smithery.ai/servers/shinydapps/l402-kit)     |
| mcp.so                          | ابحث عن `l402-kit`                                                                             |

ملف البيان القابل للقراءة آليًا: `GET https://l402kit.com/.well-known/mcp.json`

***

## الإعداد مع Cursor

أضف نفس كتلة الإعداد إلى إعدادات MCP في Cursor ضمن **Settings → MCP Servers**.

***

## الإعداد مع أي عميل MCP

يقرأ الخادم من `stdin` ويكتب إلى `stdout` (نقل stdio):

```bash theme={null}
BLINK_API_KEY=xxx BLINK_WALLET_ID=yyy BUDGET_SATS=500 npx l402-kit-mcp
```

يمكن لأي عميل متوافق مع MCP الاتصال باستخدام نقل stdio.

***

## بناء خادم MCP مخصص

يمكنك أيضًا تضمين `L402Client` مباشرةً في خادم MCP الخاص بك:

```typescript theme={null}
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { L402Client, BlinkWallet } from "l402-kit";
import { z } from "zod";

const client = new L402Client({
  wallet: new BlinkWallet(process.env.BLINK_API_KEY!, process.env.BLINK_WALLET_ID!),
  budgetSats: 1000,
});

const server = new McpServer({ name: "my-agent", version: "1.0.0" });

server.tool(
  "fetch_weather",
  "Get current weather for a city — pays automatically",
  { city: z.string() },
  async ({ city }) => {
    const res = await client.fetch(`https://api.weather.com/current?city=${city}`);
    const text = await res.text();
    return { content: [{ type: "text", text }] };
  },
);

const transport = new StdioServerTransport();
await server.connect(transport);
```

***

## ملاحظات الأمان

* سقف الميزانية (`BUDGET_SATS`) هو ضمانتك الأساسية — اضبطه بتحفظ
* لكل عملية `npx l402-kit-mcp` ميزانيتها الخاصة في الذاكرة؛ تُعاد تهيئتها عند إعادة التشغيل
* للوكلاء في بيئات الإنتاج، احفظ سجل الإنفاق عبر دالة رد النداء `onSpend` في مخزن خارجي
