Codex: Codex MCP

آخر تحديث: 2026-08-31

MCP (Model Context Protocol) هو جسر Codex إلى العالم الخارجي — قواعد البيانات، APIs، الخدمات السحابية، أنظمة التوثيق، والمزيد.

📋 المتطلبات المسبقة: فهم العمليات الأساسية لـ Codex والإعداد

1. ما ستتعلمه


2. ما هو MCP

MCP يرمز إلى Model Context Protocol، ويعرّف بروتوكولًا معياريًا لتواصل وكيل الذكاء الاصطناعي مع الأدوات الخارجية.

100%
graph LR
    A[Codex Agent] --> B[MCP Client]
    B --> C[MCP Server: Database]
    B --> D[MCP Server: GitHub]
    B --> E[MCP Server: Documentation]
    B --> F[MCP Server: Cloud Services]
المفهوم الوصف
MCP Server خدمة توفر أدوات وبيانات
MCP Client عميل Codex المدمج
Tool عملية يكشفها الخادم
Resource بيانات يوفرها الخادم

3. خوادم MCP المدمجة

يتضمن Codex خوادم MCP شائعة الاستخدام:

الخادم الوظيفة أمثلة الأدوات
filesystem عمليات الملفات read_file, write_file, list_dir
github عمليات GitHub create_pr, list_issues, review_pr
fetch طلبات الشبكة get_url, post_url
database عمليات قاعدة البيانات query, insert, update

4. إعداد خوادم MCP

(1) الإعداد العام

JSON
{
  "mcp_servers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_xxx"
      }
    }
  }
}

(2) إعداد على مستوى المشروع

JSON
// .codex/mcp.json
{
  "mcp_servers": {
    "database": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://localhost/mydb"
      }
    }
  }
}

▶ مثال 1: أليس تتصل بقاعدة بيانات

JSON
// Alice's project MCP config
{
  "mcp_servers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://localhost/ecommerce"
      }
    }
  }
}
TEXT 📖 للعرض فقط
# Alice has Codex query the database
> Query the order count and total amount for the last 7 days

# Codex calls the database via MCP
→ Connected to postgres MCP server
→ Executing: SELECT COUNT(*), SUM(amount) FROM orders WHERE created_at > NOW() - INTERVAL '7 days'
→ Result: 1,234 orders, $89,567.89 total

5. سيناريوهات MCP الشائعة

(1) عمليات قاعدة البيانات

TEXT 📖 للعرض فقط
> View the structure of the users table
> Query the number of active users
> Create a database migration for the new feature

(2) تكامل GitHub

TEXT 📖 للعرض فقط
> List pending Issues
> Create a PR and link it to Issue #15
> View review comments on PR #42

(3) استعلام التوثيق

TEXT 📖 للعرض فقط
> Look up the API design doc in Notion
> Read the technical spec from Confluence
> Search the project Wiki for deployment guide

(4) عمليات الخدمات السحابية

TEXT 📖 للعرض فقط
> View AWS S3 bucket list
> Check CloudWatch alerts
> List EC2 instance status

▶ مثال 2: سير عمل MCP لبوب

TEXT 📖 للعرض فقط
# Bob uses MCP for data-driven development
> 1. Query the structure of the products table in the database
> 2. Create TypeScript type definitions based on the Schema
> 3. Generate CRUD API endpoints
> 4. Write integration tests

# Codex via MCP:
→ Connected to postgres MCP server
→ Reading products table schema...
→ Creating TypeScript types...
→ Generating API endpoints...
→ Writing integration tests...
→ All done ✓

6. خادم MCP مخصص

(1) إنشاء خادم MCP بسيط

TYPESCRIPT
import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";

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

server.tool("search_docs", { query: { type: "string" } }, async ({ query }) => {
  const results = await searchDocumentation(query);
  return { content: [{ type: "text", text: JSON.stringify(results) }] };
});

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

(2) التسجيل في Codex

JSON
{
  "mcp_servers": {
    "my-docs": {
      "command": "node",
      "args": ["/path/to/my-mcp-server.js"]
    }
  }
}

7. أمان MCP

إجراء أمني الوصف
التحكم في الأذونات كل خادم MCP يكشف فقط الأدوات الضرورية
عزل البيئة خوادم MCP تعمل في عمليات مستقلة
تسجيل التدقيق تسجيل جميع استدعاءات أدوات MCP
القراءة فقط أولًا قواعد البيانات والخدمات الحساسة تفضل الوصول للقراءة فقط

❓ أسئلة شائعة

س ما الفرق بين MCP واستدعاءات API العادية؟
ج MCP هو بروتوكول معياري. يمكن لـ Codex اكتشاف واستخدام أدوات MCP تلقائيًا دون كتابة كود استدعاء API يدويًا. APIs العادية تتطلب تكاملًا يدويًا.
س ما قواعد البيانات التي يدعمها MCP؟
ج PostgreSQL، MySQL، SQLite، MongoDB، وقواعد بيانات رئيسية أخرى. المجتمع لديه خوادم MCP لمزيد من قواعد البيانات.
س هل إنشاء خادم MCP مخصص معقد؟
ج ليس كثيرًا. باستخدام MCP SDK، إنشاء خادم يتطلب بضعة عشرات من أسطر الكود فقط. العمل الرئيسي هو تنفيذ منطق الأدوات المحددة.
س هل يمكن لـ MCP كشف بيانات حساسة؟
ج يعتمد على الإعداد. يُوصى باستخدام حسابات قراءة فقط لـ MCP قاعدة البيانات، وتقييد نقاط النهاية القابلة للوصول لـ MCP API.
س هل يؤثر MCP على الأداء؟
ج كل خادم MCP هو عملية مستقلة مع تكلفة بدء التشغيل. الاستدعاء الأول أبطأ قليلًا؛ الاستدعاءات اللاحقة طبيعية.

📖 ملخص


📝 تمارين

  1. أساسي (⭐): إعداد خادم MCP (مثل filesystem)، اجعل Codex يستخدمه لعمليات الملفات.
  2. متوسط (⭐⭐): إعداد خادم MCP لقاعدة بيانات، اجعل Codex يستعلم عن البيانات ويولّد كود.
  3. متقدم (⭐⭐⭐): إنشاء خادم MCP مخصص يتصل بـ API الداخلي لشركتك.
Web-Tutorial.com

فريق Web-Tutorial التقني

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

100%