مواد پر جائیں

MCP سرور استعمال کریں

یہ گائیڈ دکھاتی ہے کہ کسی بیرونی MCP کلائنٹ — Claude Code، کوئی ایڈیٹر یا MCP Inspector — کو Control Center کے اپنے ٹول سرور سے کیسے جوڑا جائے۔

Control Center 110 ٹولز رجسٹر کرتا ہے اور انہیں Model Context Protocol کے ذریعے پروٹوکول ورژن 2024-11-05 پر پیش کرتا ہے۔ آپ جن مکمل ٹول خاندانوں کی توقع کریں گے، وہ غائب ہیں: نہ میٹنگ یا کیلنڈر کے ٹولز ہیں اور نہ پروجیکٹ کے ٹولز۔

MCP سطح اسی مرکزی cc_server لسنر کو شیئر کرتی ہے۔ MCP کے لیے کوئی الگ پورٹ نہیں ہے۔

اینڈ پوائنٹ میتھڈ مقصد
/mcp POST Streamable HTTP ٹرانسپورٹ — کلائنٹ اسی سے بات کرتا ہے
/mcp DELETE سیشن ختم کریں
/sse GET سرور کی بھیجی ہوئی اطلاعات کا اسٹریم

چنانچہ ڈیفالٹ مقامی انسٹال http://127.0.0.1:9030/mcp پر ہوتا ہے۔

  1. ترتیبات → سرور → MCP سرورز پر جائیں
  2. MCP سرور کارڈ پڑھیں — یہ دکھاتا ہے کہ چل رہا ہے یا رک گیا، اور کس پورٹ پر سن رہا ہے

نئی انسٹال پر یہ سطح بطور ڈیفالٹ آن ہوتی ہے، چنانچہ loopback کلائنٹ بغیر ترتیبات چھوئے کام کر جاتا ہے۔ ایپ لانچ پر شروع کریں طے کرتا ہے کہ ری اسٹارٹ کے بعد یہ واپس آئے گا یا نہیں؛ شروع / روکیں سیشن کنٹرولز ہیں جو اس ترجیح کو نہیں بدلتے۔

سرور بطور ڈیفالٹ loopback پر بائنڈ ہوتا ہے، اس لیے یہ اینڈ پوائنٹ صرف اُسی مشین سے پہنچتا ہے جس پر cc_server چل رہا ہو، الا یہ کہ آپ نے اسے --bind any کے ساتھ شروع کیا ہو۔

اپنے کلائنٹ کو Streamable HTTP اینڈ پوائنٹ کی طرف لگائیں۔ کنفیگریشن کی صحیح شکل آپ کے کلائنٹ کی اپنی بات ہے؛ URL دونوں صورتوں میں ایک ہی رہتا ہے۔

{
"mcpServers": {
"control-center": {
"type": "http",
"url": "http://127.0.0.1:9030/mcp"
}
}
}

Claude Code اسے پروجیکٹ کی .mcp.json سے نہیں اٹھائے گا — وہ پروجیکٹ اسکوپ والے MCP سرورز کو ایک منظوری کے پرامپٹ کے پیچھے رکھتا ہے، جس کا جواب غیر تعاملی claude -p کبھی نہیں دیتا۔ کنفیگ واضح طور پر پاس کریں:

ٹرمنل ونڈو
claude --mcp-config /path/to/mcp.json --strict-mcp-config

--strict-mcp-config Claude کو صرف اسی فائل کے استعمال پر مجبور کرتا ہے، تاکہ وہی سرور پروجیکٹ سے بھی دریافت نہ ہو اور دو بار رجسٹر نہ ہو جائے۔

جانچ: کلائنٹ سے کہیں کہ اپنے ٹولز کی فہرست دے۔ آپ کو mcp__* اندراجات نظر آنے چاہئیں جو ٹکٹس، اسپیسز، میموری، کوڈ گراف اور ریویو کا احاطہ کرتے ہوں۔

  1. ترتیبات → سرور → MCP سرورز پر، تصدیقی ٹوکن قطار میں، سیٹ کریں دبائیں اور ٹوکن پیسٹ کریں
  2. اسے ہر POST /mcp درخواست پر Authorization: Bearer <token> کے طور پر بھیجیں

بغیر ٹوکن والی سطح loopback سے باہر کے کسی بھی کالر کو 403 کے ساتھ مسترد کر دیتی ہے۔ یہ جان بوجھ کر ایسا رکھا گیا ہے کہ شک کی صورت میں انکار کرے: ٹوکن ہی وہ چیز ہے جو ہوسٹ سے باہر خدمت کو ممکن بناتا ہے۔

ٹوکن کی تبدیلیاں زندہ سطح پر فوراً لاگو ہو جاتی ہیں — کوئی ری اسٹارٹ نہیں۔

ہر وہ ٹول جو ورک اسپیس اسکوپ والا ڈیٹا چھوتا ہے، workspace_id مانگتا ہے، اور اس کے بغیر کال کسی ”موجودہ“ ورک اسپیس کے خلاف حل کرنے کے بجائے مسترد کر دی جاتی ہے:

{
"workspace_id": "acme",
"title": "Fix login bug",
"priority": "high"
}

یہ id وہی ہے جو آپ کے براؤزر یا ایپ کے URL میں ہوتی ہے: /workspaces/<workspace_id>/…۔ واحد استثنا وہ ٹولز ہیں جو واقعی کئی ورک اسپیسز پر پھیلے ہوتے ہیں، مثلاً list_workspaces اور نیوز فیڈ ٹولز — نیوز فیڈ فی صارف ہوتی ہے اور ایجنٹ کا اپنا کوئی صارف نہیں ہوتا، اس لیے وہ ٹولز سرور کے مالک کی فیڈز پر کام کرتے ہیں۔

ریپو اسکوپ والے ٹولز اس کے علاوہ جانچتے ہیں کہ ریپو اُس ورک اسپیس سے لنک شدہ ہے۔

  • موڈ گیٹنگ۔ کال سرور کی طرف سے کال کرنے والے ایجنٹ کے اسپیس کے موڈ کے خلاف حل کی جاتی ہے۔ صرف پڑھنے والے موڈ میں موجود ایجنٹ space_id چھوڑ کر کسی لکھنے والے ٹول تک نہیں پہنچ سکتا — موڈ اس کے فعال رن سے دیکھا جاتا ہے۔
  • ایکشن گارڈریلز۔ تبدیل کرنے والے ٹولز اپنی ایفیکٹ کلاسز کا اعلان کرتے ہیں اور وہی پالیسی استعمال کرتے ہیں جو باقی پورا پروڈکٹ استعمال کرتا ہے۔ گارڈریلز کنفیگر کریں دیکھیں۔
  • تصدیق۔ کچھ تباہ کن ٹولز ایک تصدیقی پیلوڈ بناتے ہیں جسے کال کے آگے بڑھنے سے پہلے منظور کرانا ہوتا ہے۔

مکمل کیٹلاگ tools/list میں بغیر کسی ڈسکوری گیٹنگ کے ظاہر کیا جاتا ہے — کوئی بیرونی MCP کلائنٹ ایسا ٹول کال کرنے سے انکار کر دیتا ہے جو اس کی کیشڈ فہرست میں شامل نہ ہو، چنانچہ ٹولز چھپانا انہیں سنوارنے کے بجائے توڑ دیتا ہے۔

  • دیکھیں کہ MCP سرور کارڈ ”چل رہا ہے“ کہتا ہے
  • دیکھیں کہ پورٹ آپ کے cc_server پورٹ سے میل کھاتا ہے
  • Claude Code پر دیکھیں کہ آپ نے --mcp-config اور --strict-mcp-config پاس کیے ہیں

کوئی بیرر ٹوکن کنفیگر نہیں ہے۔ ایک سیٹ کریں اور بھیجیں۔

کوئی ٹول کال ”Missing or invalid argument: workspace_id“ کے ساتھ ناکام ہوتی ہے

سیکشن کا عنوان “کوئی ٹول کال ”Missing or invalid argument: workspace_id“ کے ساتھ ناکام ہوتی ہے”

workspace_id شامل کریں۔ کوئی مضمر ورک اسپیس نہیں ہوتی۔

کوئی ٹول کال نامعلوم قرار دے کر مسترد کر دی جاتی ہے

سیکشن کا عنوان “کوئی ٹول کال نامعلوم قرار دے کر مسترد کر دی جاتی ہے”

MCP ٹولز میں کیٹلاگ درج ہے۔ نام ٹھیک ویسے ہی کال کریں جیسے وہاں لکھا ہو۔