إنتقل إلى المحتوى الرئيسي

إعداد MCP وهياكل الخوادم

متوسط

قوالب بدء جاهزة للنسخ واللصق لربط Claude بالأدوات عبر MCP. هذّبها إلى ما تحتاجه.

.mcp.json — إعلان الخوادم (مشترك في المشروع)

{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "${DATABASE_URL}"]
}
}
}

:::warning أبقِ الأسرار خارج الملف أشِر إلى متغيرات البيئة (${GITHUB_TOKEN}) — لا تضع الرموز المميزة مباشرة في ملف مُلتزَم به. :::

خادم stdio بسيط (TypeScript)

خادم صغير يكشف أداة واحدة. كيّف المعالج ليناسب بياناتك.

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

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

server.tool(
"echo",
{ text: z.string().describe("Text to echo back") },
async ({ text }) => ({ content: [{ type: "text", text: `You said: ${text}` }] }),
);

await server.connect(new StdioServerTransport());

خادم stdio بسيط (Python)

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("echo")

@mcp.tool()
def echo(text: str) -> str:
"""Echo the text back."""
return f"You said: {text}"

if __name__ == "__main__":
mcp.run() # stdio transport

قبل أن تطلق خادماً

  • الحد الأدنى من الامتيازات — البيانات/الإجراءات التي يحتاجها فقط (تأمين الوكلاء).
  • تحقّق من صحة المدخلات؛ أعِد الأخطاء كنتائج، ولا تتعطّل.
  • راجع خوادم الطرف الثالث قبل الاتصال بها (مراجعة كود الطرف الثالث).

التالي