MCP server Python: بناء خادم للطلبات من الصفر إلى النشر
أنشئ خادم MCP للاستعلام عن الطلبات بلغة Python، واختبره في Inspector، ثم اربطه بـClaude Code وCursor وأضف مصادقة HTTP واختر الاستضافة المناسبة لفريقك.
نُشر في

بإنشاء خادم MCP بلغة Python (MCP server Python)، يمكنك إتاحة بيانات شركتك لـClaude Code أو Cursor للإجابة عن حالة طلب، دون نسخ سجله إلى المحادثة. ابدأ بأداة MCP واحدة للقراءة فقط، وتحقق من عملها في Inspector، ثم اختر تشغيلها محليًا أو تقديمها عبر خدمة HTTP محمية بالمصادقة يستطيع فريقك مشاركتها.
أفضل خادم تبدأ به يؤدي مهمة محددة: يستقبل معرّف الطلب ويعيد حالته. ابدأ بهذا النطاق. أما أداة الوصول العامة إلى قاعدة البيانات، فتُلقي على النموذج قرارات أكثر من اللازم وتمنحه صلاحيات تتجاوز حاجة هذا العمل.
يتبع هذا الدليل الشرح الرسمي الحالي لبناء الخوادم. حتى 7 أكتوبر 2026، تعتمد الوثائق مواصفة MCP 2026-07-28 وحزمة تطوير Python الرسمية، وهي المكتبة المسؤولة عن رسائل MCP، مع واجهة MCPServer. ويثبّت المثال الإصدار 2.3.0 من حزمة التطوير، حتى لا تؤدي تعليمات الاستيراد في دليل أقدم إلى تغيير ما تثبّته دون أن تنتبه.
ما الذي يتيحه خادم MCP للتطبيق؟
يمكن تصور خادم MCP كمكتب خدمة مضبوط الصلاحيات، يتوسط بين تطبيق الذكاء الاصطناعي وأنظمتك. يستطيع التطبيق الاستفسار عما هو متاح، وإرسال طلب، وتلقي النتيجة. أما ما يسمح به مكتب الخدمة، فيحدده الكود الذي تكتبه.
يوفر MCP، اختصارًا لـModel Context Protocol، صيغة مشتركة لهذا التواصل. المضيف هو التطبيق الذي تستخدمه، مثل Claude Code أو Cursor. ويتولى العميل التابع له التواصل مع خادمك وفق البروتوكول. هذه أدوار في النظام، وليست ثلاثة تطبيقات إضافية عليك تثبيتها.
يمكن أن تكون الأداة مخصصة للقراءة فقط. وتسمية شيء «موردًا» لا تُغني عن التحقق من صلاحيات الوصول. كما أن قالب التعليمات يوجّه العمل ولا يمنح إذنًا بتنفيذه. ويختلف دعم العملاء لهذه الإمكانيات وطريقة عرضها، لذا تحقق من الميزات التي تتيحها فعليًا. هذه هي اللبنات الثلاث التي يقدمها الخادم، ويحتاج الخادم أدناه إلى أداة فقط.

قبل أن تبدأ البناء، تحقق من وجود موصل يحظى بصيانة مستمرة ويغطي حاجتك. يمكنك البدء بدليلنا إلى أفضل خوادم MCP لعام 2026. يستحق الخادم المخصص الجهد عندما تختلف بياناتك الداخلية أو قواعد الصلاحيات أو طريقة العمل عما تدعمه تلك الموصلات.
إنشاء أداة للقراءة فقط باستخدام MCP server Python
دع حزمة التطوير الرسمية تتولى البروتوكول، وركّز كودك على الاستعلام. تحتاج إلى Python 3.10 أو أحدث، وإلى uv، مدير مشاريع Python المستخدم في الدليل الرسمي، وإلى Node.js لتشغيل Inspector. يتطلب الإصدار الحالي من Inspector استخدام Node 22.19.0 أو أحدث.
نفّذ الأوامر التالية بالترتيب في الطرفية:
uv init orders-mcpcd orders-mcpuv venvuv add "mcp[cli]==2.3.0"
أنشئ ملف orders.py داخل هذا المجلد، ثم ألصق فيه كود الخادم كاملًا. السجلات بيانات تدريب وهمية، ولا تتضمن أسماء عملاء أو بيانات دفع أو بيانات اعتماد لواجهات API.
import json
from mcp.server import MCPServer
mcp = MCPServer("orders")
# Fictional training data. No customer records or credentials.
ORDERS = {
"A100": {"status": "shipped", "carrier": "Demo Courier"},
"A101": {"status": "packing", "carrier": "not assigned"},
}
@mcp.tool()
def lookup_order(order_id: str) -> str:
"""Look up a fictional order by ID, such as A100. Read-only.
Args:
order_id: Exact order ID, for example A100 or A101.
"""
key = order_id.strip().upper()
order = ORDERS.get(key)
if order is None:
return json.dumps({"found": False, "order_id": key})
return json.dumps({"found": True, "order_id": key, **order})
if __name__ == "__main__":
mcp.run(transport="stdio")يستخدم المثال النمط الموثق في الدليل: MCPServer و@mcp.tool() وmcp.run(transport="stdio")، مع استبدال أدوات الطقس بأداة للاستعلام عن الطلبات. يوضح تلميح النوع النصي للحزمة أن order_id قيمة نصية مطلوبة. ويشرح نص توثيق الدالة للعميل متى تكون الأداة مفيدة. تتولى الحزمة إنشاء تعريف الأداة ومعالجة رسائل البروتوكول.
شغّل uv run orders.py. من الطبيعي أن تبقى العملية صامتة في انتظار الإدخال. stdio، أي الإدخال والإخراج القياسيان، هي قناة التواصل التي يستخدمها العميل للحديث مع هذه العملية. أوقف هذا التشغيل اليدوي قبل أن تتيح للعميل إطلاق نسخته الخاصة.
لا ترسل سجلات التطبيق إلى الإخراج القياسي. استخدم وحدة logging في Python، التي تكتب افتراضيًا إلى قناة الخطأ القياسي. قد يؤدي استدعاء عابر لـprint() إلى إفساد تدفق البروتوكول. هذا قيد موثق في stdio، وليس مجرد تفضيل لشكل السجلات.
عندما تستبدل القاموس بقاعدة بيانات، أبقِ واجهة الأداة محدودة كما هي. استخدم استعلامًا ذا معاملات، وحساب قاعدة بيانات لا يقرأ إلا الحقول المطلوبة، وتحقق من صلاحيات المستدعي قبل إعادة أي سجل. لا تقبل من النموذج عبارة SQL عشوائية لتنفيذ هذه المهمة.
كيف تختبر الخادم باستخدام MCP Inspector؟
تحقق من عمل الأداة قبل أن تطلب من النموذج استخدامها. من مجلد المشروع، شغّل uv run mcp dev orders.py. يطلق أمر التطوير في حزمة SDK تطبيق MCP Inspector. افتح عنوان المتصفح الذي يطبعه الأمر، ثم اتصل بالخادم إن لم يكن متصلًا بالفعل.
في قسم Tools، اختر lookup_order. يفترض أن يظهر في النموذج حقل order_id بوصفه حقلًا مطلوبًا. استدعِ الأداة بالقيمة A100: ينبغي أن تتضمن النتيجة found: true وstatus: shipped وcarrier: Demo Courier. استخدم A101 للحصول على packing. ثم جرّب DOES-NOT-EXIST: ينبغي أن تتضمن النتيجة found: false.
جرّب أيضًا إرسال طلب دون order_id. ينبغي أن يفشل التحقق من المدخلات قبل تنفيذ الاستعلام. تساعدك واجهتا Protocol وConsole في Inspector على التمييز بين طلب غير صحيح وتعطل عملية الخادم.
لإجراء فحص قابل للتكرار من الطرفية، استخدم npx @modelcontextprotocol/inspector --cli uv run orders.py --method tools/list. ولاستدعاء الأداة، استخدم npx @modelcontextprotocol/inspector --cli uv run orders.py --method tools/call --tool-name lookup_order --tool-arg order_id=A100. يستند الأمران إلى واجهة Inspector الموثقة لسطر الأوامر.
معيار النجاح واضح: أداة واحدة يمكن اكتشافها، وحالة متوقعة لطلب معروف، واستجابة صريحة عندما لا يوجد السجل. فقرة مقنعة يولدها النموذج لا تثبت أن الاستعلام نُفّذ.
ربط الخادم نفسه بـClaude Code وCursor
يطلق كل عميل محلي عملية خادم مستقلة. لا تحتاج إلى إبقاء Inspector قيد التشغيل. استخدم مسارات مطلقة حتى لا يعتمد إطلاق الخادم على المجلد الذي يفتحه العميل.
Claude Code: شغّل claude mcp add --transport stdio --scope local orders -- /ABSOLUTE/PATH/orders-mcp/.venv/bin/python /ABSOLUTE/PATH/orders-mcp/orders.py. في Windows، يكون مسار المفسّر .venv\Scripts\python.exe. يتبع هذا الأمر صيغة إعداد الخادم المحلي في Claude Code، بما فيها الفاصل -- الذي يسبق أمر التشغيل.
شغّل claude mcp get orders للتحقق من الاتصال. داخل جلسة Claude Code، افتح /mcp، ثم اطلب: «استخدم lookup_order للتحقق من A100. أعد فقط الحالة وشركة الشحن الواردتين في النتيجة». راجع استدعاء الأداة والوسائط التي أُرسلت إليها.
Cursor: أنشئ .cursor/mcp.json داخل مشروعك. أضف JSON التالي مع استبدال المسارين المطلقين: {"mcpServers":{"orders":{"type":"stdio","command":"/ABSOLUTE/PATH/orders-mcp/.venv/bin/python","args":["/ABSOLUTE/PATH/orders-mcp/orders.py"]}}}.
افتح Customize، وفعّل الخادم، ثم اطرح السؤال نفسه في Agent. راجع الاستدعاء وفق إعدادات الموافقة لديك. يتبع موضع الملف وحقول التشغيل وعناصر التحكم إعداد MCP في Cursor. إذا فشل الاتصال، افحص مسار الملف التنفيذي ومخرجات الخطأ القياسي للخادم قبل تغيير الأداة.
متى تختار stdio محليًا أو HTTP عن بُعد؟
استخدم التشغيل المحلي للعمل الفردي. واختر HTTP عن بُعد عندما يحتاج عدة أشخاص أو عملاء مستضافون إلى خدمة واحدة تديرها مركزيًا.
تحتاج الخدمة البعيدة أيضًا إلى اتصال شبكي ببيانات شركتك. نشر نقطة وصول لا يجعل قاعدة بيانات خاصة متاحة عبر الشبكة، ولا يضمن صحة صلاحياتها.
يستخدم بروتوكول HTTP في مواصفة 2026-07-28 طلبات مكتفية بذاتها. وتستطيع حزمة Python الحالية خدمة عملاء أقدم أيضًا؛ قد تحتاج جلساتهم إلى توجيه ثابت نحو النسخة نفسها عند إضافة نسخ أخرى من الخادم. استخدم الإعدادات الموثقة لدعم العملاء الأقدم عن قصد قبل التوسع، ولا تفترض أن كل عميل متصل يدعم أحدث مراجعة للمواصفة.

نقل أداة الاستعلام إلى HTTP مع المصادقة
احمِ الوصول عبر HTTP برموز وصول صادرة لهذه الخدمة. OAuth 2.1 هو إطار التفويض المعتمد في مواصفة MCP: يتولى موفر الهوية تسجيل دخول المستخدم وإصدار رمز وصول، بينما يتحقق خادم MCP من صحته. نطاق الصلاحية إذن له اسم، مثل orders:read. أما الجمهور المستهدف فيحدد الخدمة التي يجوز لها قبول الرمز.
تقدم الحزمة تكامل خادم الموارد، أما نظام تسجيل الدخول الخاص بشركتك فعليك توفيره. لهذا المثال، اضبط موفر هوية يدعم اكتشاف إعدادات OAuth، وتسجيل العملاء الذين اخترتهم، واستخدام PKCE لتسجيل دخول المستخدم، ونقطة وصول لفحص رموز الوصول. يثبت PKCE أن التطبيق الذي يُكمل تسجيل الدخول هو نفسه الذي بدأه. ويسأل فحص الرمز جهة الإصدار عما إذا كان الرمز نشطًا وما الصلاحيات التي يمنحها.
يفترض هذا المهايئ إجراء فحص الرمز عبر HTTPS، مع مصادقة العميل بطريقة HTTP Basic، واستجابة تتضمن active وaud وexp وclient_id وscope. اضبط جهة الإصدار بحيث تضع العنوان العام الدقيق لنقطة الوصول هذه في aud، وتمنح orders:read. إذا كان موفر الهوية يستخدم طريقة مختلفة لمصادقة طلب فحص الرمز، عدّل الطلب وفق وثائقه. وإذا كان يقدم JWTs، أي رموزًا موقعة، فنفّذ بدلًا من ذلك التحقق من التوقيع وجهة الإصدار ووقت الانتهاء والجمهور المستهدف عبر واجهة TokenVerifier نفسها.
أضف uvicorn بالأمر uv add uvicorn، ثم أنشئ remote.py بجوار orders.py. يتبع هذا الكود المثال الرسمي لفحص الرموز في حزمة SDK، وواجهاتها الموثقة لـHTTP والمصادقة. ويعيد استخدام أداة الاستعلام التي اختبرتها للتو.
import os
import time
from urllib.parse import urlsplit
import httpx2
from pydantic import AnyHttpUrl
from mcp.server import MCPServer
from mcp.server.auth.provider import AccessToken, TokenVerifier
from mcp.server.auth.settings import AuthSettings
from mcp.server.transport_security import TransportSecuritySettings
from orders import lookup_order as local_lookup
RESOURCE = os.environ["MCP_RESOURCE_URL"]
ISSUER = os.environ["MCP_ISSUER_URL"]
INTROSPECT = os.environ["MCP_INTROSPECTION_URL"]
if any(urlsplit(url).scheme != "https" for url in (RESOURCE, ISSUER, INTROSPECT)):
raise ValueError("Public auth and resource URLs must use HTTPS")
class OrderTokenVerifier(TokenVerifier):
async def verify_token(self, token: str) -> AccessToken | None:
try:
async with httpx2.AsyncClient(timeout=5.0) as client:
response = await client.post(
INTROSPECT,
data={"token": token},
auth=(os.environ["MCP_INTROSPECTION_CLIENT_ID"],
os.environ["MCP_INTROSPECTION_CLIENT_SECRET"]),
)
response.raise_for_status()
data = response.json()
audiences = data.get("aud", [])
if isinstance(audiences, str):
audiences = [audiences]
expiry = data.get("exp")
if (data.get("active") is not True or RESOURCE not in audiences
or not isinstance(expiry, int) or expiry <= time.time()):
return None
if data.get("iss", ISSUER) != ISSUER:
return None
return AccessToken(
token=token, client_id=data["client_id"],
scopes=data.get("scope", "").split(), expires_at=expiry,
resource=RESOURCE, subject=data.get("sub"),
)
except Exception:
return None
mcp = MCPServer(
"orders",
token_verifier=OrderTokenVerifier(),
auth=AuthSettings(
issuer_url=AnyHttpUrl(ISSUER),
resource_server_url=AnyHttpUrl(RESOURCE),
required_scopes=["orders:read"], validate_token_resource=True,
),
)
@mcp.tool()
def lookup_order(order_id: str) -> str:
"""Look up a fictional order by ID, such as A100. Read-only."""
return local_lookup(order_id)
hostname = urlsplit(RESOURCE).hostname
security = TransportSecuritySettings(
allowed_hosts=[hostname, f"{hostname}:*"],
allowed_origins=[os.environ["MCP_ALLOWED_ORIGIN"]],
)
app = mcp.streamable_http_app(transport_security=security)اضبط القيم التالية في بيئة النشر أو مخزن الأسرار:
تُحدد قائمة أسماء المضيفين المسموح بها صراحةً لأن الحزمة، في إعدادها الافتراضي، تقبل localhost وترفض اسم المضيف العام بخطأ 421 Misdirected Request. أما أصول المتصفح فتخضع لفحص مستقل؛ أدرج فقط الأصول التي تستخدمها فعليًا. ويتضمن التطبيق المُعاد دورة بدء التشغيل والإيقاف بالفعل. تتبع هذه التفاصيل وثائق نشر حزمة SDK وتطبيق ASGI. وASGI هي الواجهة التي تستخدمها خوادم الويب في Python لتشغيل هذا التطبيق.
شغّله خلف وكيل HTTPS لدى مزود الاستضافة باستخدام uv run uvicorn remote:app --host 0.0.0.0 --port 8000. يظل عنوان المورد العام عبر HTTPS حتى لو تواصل الوكيل مع العملية عبر HTTP. واضبط الثقة في الترويسات المُمررة وفق الحدود الفعلية للوكيل في تلك الاستضافة.
قبل استخدام سجلات حقيقية، نفّذ الفحوص التالية عبر HTTP:
- دون رمز وصول، أو برمز منتهي الصلاحية، أو برمز موجه إلى جمهور آخر: يُرفض الوصول.
- برمز صالح لا يتضمن
orders:read: يُرفض الوصول. - برمز صالح له الجمهور المستهدف ونطاق الصلاحية الصحيحان: تعيد
lookup_orderحالة الطلب التجريبي. - عند
/.well-known/oauth-protected-resource/mcp: تحدد البيانات الوصفية المورد وجهة الإصدار الصحيحين.
استخدم npx @modelcontextprotocol/inspector --server-url https://orders.example.com/mcp --transport http لفحص نقطة الوصول المنشورة وإكمال مسار المصادقة. اختبار الأداة داخل الذاكرة يتجاوز التفويض عبر HTTP، لذلك لا يثبت أن حدود الوصول هذه تعمل.
في Claude Code، أضف اتصالًا مستقلًا بالأمر claude mcp add --transport http orders-remote https://orders.example.com/mcp، ثم أكمل المصادقة عبر /mcp. وفي Cursor، أضف إدخالًا بعيدًا تحت mcpServers يتضمن "url":"https://orders.example.com/mcp"، ثم أكمل OAuth. توثق Cursor أيضًا كائن auth الذي يتضمن CLIENT_ID وscopes للعملاء المسجلين مسبقًا. سجّل عناوين رد الاتصال المناسبة للعملاء لدى جهة الإصدار. راجع المصادقة في Claude Code وإعداد OAuth للخوادم البعيدة في Cursor.
هذا مهايئ صغير مزود بالمصادقة، وتبقى منظومة الإنتاج بحاجة إلى عمل إضافي. قبل استبدال القاموس التجريبي، طبّق صلاحيات كل جهة وسجل استنادًا إلى هوية موثقة، وأضف حدث تدقيق لكل استدعاء، وأعد استخدام اتصالات HTTP، وضع حدودًا للطلبات. يتيح نطاق الصلاحية تنفيذ العملية، لكنه لا يثبت ملكية المستخدم لكل طلب.
استضافة الخادم على Render أو Cloudflare Workers
بالنسبة إلى خادم Python أعلاه، سأبدأ بـRender. تتيح خدمة ويب بلغة Python الاحتفاظ بالتطبيق الذي بنيته. وتُعد Cloudflare Workers خيارًا قويًا إذا أردت تنفيذ الأداة المحددة نفسها باستخدام معالج Worker الموثق لديها.
هذه أسعار منشورة لدى مزودي الخدمة، جرى التحقق منها في 7 أكتوبر 2026:
المصادر: أسعار Cloudflare Workers وأسعار Render. إذا اخترت ميزات الفريق، تضيف مساحة العمل Pro من Render رسومًا قدرها $25 شهريًا إلى تكلفة الحوسبة. خصص ميزانية مستقلة للتخزين وخدمات الهوية واستخدام النماذج وغيرها من الإضافات؛ هذه أسعار الاستضافة وحدها، وليست تكلفة سير عمل يعتمد على الذكاء الاصطناعي.
النشر على Render: ضع orders.py وremote.py وrequirements.txt في مستودعك. يحتاج ملف المتطلبات إلى mcp[cli]==2.3.0 وuvicorn، كل منهما في سطر مستقل. أنشئ خدمة Python Web Service، واستخدم أمر البناء pip install -r requirements.txt، وأمر التشغيل uvicorn remote:app --host 0.0.0.0 --port $PORT. أضف متغيرات البيئة المذكورة أعلاه، ثم استخدم اسم المضيف المخصص لك أو نطاقك الخاص في MCP_RESOURCE_URL. يكيّف هذا الإعداد طريقة Render الموثقة لنشر خدمة ويب بلغة Python لتشغيل تطبيق ASGI الذي تقدمه الحزمة.
تصلح خدمة Render المجانية للعرض التجريبي، لكنها تدخل وضع السكون بعد 15 دقيقة من الخمول، وتستغرق نحو دقيقة للعودة. سأختار موارد حوسبة مدفوعة لأداة تفاعلية مشتركة.
النشر على Cloudflare: استخدم الوثائق الحالية لمعالج MCP ودليل الخادم البعيد. يستخدم المسار الحالي في TypeScript الدالة createMcpHandler من agents/mcp/server مع @modelcontextprotocol/server. نفّذ أداة الاستعلام عن الطلبات نفسها هناك، واضبط المصادقة قبل مشاركة العنوان. أمر تشغيل uvicorn بلغة Python مخصص لاستضافة Python؛ نشر Worker له إعداداته الخاصة.
حصر حدود الأمان في حاجة الأداة
امنح الخادم الوصول الذي تتطلبه أداته فقط. للاستعلام عن حالة الطلب، يعني ذلك بيانات اعتماد للقراءة فقط في النظام الخلفي، وحقولًا محددة، والتحقق من الصلاحية لكل سجل. خصص أدوات وصلاحيات مستقلة لرد المبالغ وإلغاء الطلبات وتغيير العناوين. اختيار النموذج للوسائط لا يمنحه إذنًا بالوصول.
تحقق في رموز HTTP من جهة الإصدار ووقت الانتهاء والجمهور المستهدف ونطاق الصلاحية. استخدم HTTPS وبيانات اعتماد مستقلة عندما يستدعي الخادم واجهة API أخرى. تحظر إرشادات أمان MCP تمرير رموز الوصول كما هي: فالرمز المقدم إلى نقطة وصول MCP لا يصلح تلقائيًا كبيانات اعتماد لنظام الطلبات لديك. وفي stdio المحلي، قيّد العملية التي تطلق الخادم وبيئتها ووصولها إلى نظام الملفات.
سجّل هوية المستدعي الموثقة، واسم الأداة، ومرجعًا للسجل حُجبت منه المعلومات الحساسة بالقدر المناسب، والنتيجة، وزمن الاستجابة، ومعرّف الطلب. تجنب تسجيل الرموز والسجلات الكاملة للعملاء. أرسل السجلات إلى قناة الخطأ القياسي مع stdio، وإلى نظام سجلات الاستضافة مع HTTP. تعامل مع النص المسترجع من السجلات كبيانات؛ لا يجوز أن تمنح ملاحظة داخل طلب صلاحية لتنفيذ إجراء آخر.
ضع بوابة أمام الخوادم عندما تحتاج عدة خوادم أو فرق إلى سياسة مشتركة للهوية، أو حدود لمعدلات الطلبات، أو جمع أحداث التدقيق، أو إلغاء الوصول. تستطيع البوابة توحيد هذه الضوابط، مع بقاء كل نظام خلفي مسؤولًا عن صحة صلاحيات السجلات. يشرح دليلنا إلى بوابات MCP هذا القرار.

ستة استخدامات عملية مرتبة بحسب العائد المباشر
هذه توسعات محتملة للنمط نفسه. ابدأ بمهمة يسترجع فيها شخص معلومة محددة مرارًا، ويستطيع تمييز الإجابة الصحيحة.
ابدأ حساب الجدوى من طريقة عملك أنت. مثال توضيحي فقط: 80 استعلامًا يوميًا، يستغرق كل منها 2 دقيقة، تستهلك 160 دقيقة. إذا أظهر القياس لاحقًا أن العمل بعد الربط يوفر 1 دقيقة لكل استعلام، فهذا يعني استعادة 80 دقيقة يوميًا. هذه عملية حسابية وليست معيارًا لقياس الأداء. قِس صحة الإجابات والوقت الذي توفره قبل أن تنسب عائدًا إلى الإنفاق على الاستضافة.
فرصتان تستحقان البناء
أقوى فرصة هي بناء مهايئ يزوّد فرق الدعم بسياق الطلبات. قد يشتري فريق تكاملًا محدودًا يجلب معلومات الشحن الصحيحة داخل المساعد الذي يستخدمه بالفعل. تقدر DataForSEO حجم البحث عن «customer support automation» في Google بالولايات المتحدة بـ260 بحثًا شهريًا، وفق فحص بتاريخ 7 أكتوبر 2026. يشير هذا إلى اهتمام عام بالمهمة، ولا يمثل عدد المشترين المحتملين لخوادم MCP. تعلن Intercom سعر Fin عند $0.99 لكل نتيجة، ما يدل على وجود ميزانية بالفعل لأتمتة الدعم؛ يضيف هذا المهايئ الصغير السياق بدلًا من استبدال ذلك المنتج.
يمكن أن تشمل أصغر نسخة قابلة للبيع نظام طلبات خلفيًا واحدًا، وlookup_order، وتسجيل دخول بنطاقات صلاحيات، ومسار تدقيق، ومسودة رد تستشهد بالحقول المُعادة. تكمن ميزتها في ملاءمتها لبيانات شركة بعينها وقواعد الوصول لديها. لكن قد يكون لدى المزودين الحاليين موصل يؤدي هذه المهمة بالفعل، كما تبقى تراخيص النماذج للفريق وتنظيف البيانات والدعم تكاليف قائمة. تحقق من هذه الفجوة مع مسؤول دعم قبل إضافة أدوات أخرى.
الفرصة الثانية هي الاستعلام عن السياسات مع مراعاة الصلاحيات. يستطيع مسؤول تشغيل إتاحة مجموعة السياسات المعتمدة لدى شركة واحدة عبر الموارد أو أداة بحث محدودة. تقدر DataForSEO حجم البحث عن «enterprise search» في الولايات المتحدة بـ390 بحثًا شهريًا، وفق فحص في التاريخ نفسه. يمكن أن تتضمن النسخة الأولية القابلة للاستخدام مجموعة واحدة، وإسناد المعلومات إلى مصادرها، وفحوصًا لحداثة المحتوى، وتصفية النتائج بحسب صلاحيات الشخص المسجل دخوله. التحدي أن جودة الاسترجاع وضبط الوصول هما جوهر المنتج؛ من السهل تقليد إتاحة مجلد عبر MCP. ويمثل حجم البحث إشارة إلى الطلب على المهمة الأوسع، وليس دليلًا على استعداد المستخدمين للدفع مقابل هذا التنفيذ.
ما الذي يظل مسؤوليتك بعد بناء الخادم؟
يوحّد MCP طريقة الوصول. وتبقى جودة البيانات والتفويض وموثوقية النظام الخلفي وتحديد ما تستطيع الأداة فعله مسؤوليتك. قد يسيء النموذج فهم نتيجة صحيحة، وقد تختلف الإمكانيات المدعومة أو سياسات الموافقة لدى العميل المتصل.
ابنِ هذا الخادم عندما تحسن واجهة أدوات مشتركة سير عمل تستطيع قياسه. أما مهمة دفعية ثابتة لا تحتاج إلى مساعد يختار أداة، فقد يكون استدعاء API عادي أو سكربت تنفيذًا أنسب لها.
خطوتك ليوم الاثنين: اختر استعلامًا متكررًا واحدًا مع أحد موظفي الدعم، واستخدم سجلات وهمية لربط كلا العميلين، ثم استبدل مجموعة البيانات خلف حساب للقراءة فقط واختبر صلاحيات السجلات. أبقِ عمليات الكتابة خارج هذا الإطلاق الأول. انقل الأداة إلى HTTP مشترك عندما يصبح سير العمل وحدود الهوية جاهزين.
هل إنشاء خادم MCP صعب؟
إنشاء خادم صغير للقراءة فقط مباشر مع حزمة التطوير الرسمية: عرّف الدالة، وصف مدخلاتها، واختر وسيلة النقل. أما إتاحة بيانات الشركة بأمان فتحتاج إلى عمل إضافي لفرض الصلاحيات وإدارة بيانات الاعتماد وتشغيل الخدمة.
هل يمكنني استخدام خادم MCP مجاني للاختبار؟
يمكن تشغيل خادم الطلبات الوهمي في هذا الدليل محليًا دون رسوم استضافة. ويتيح MCP Inspector استدعاءه دون اشتراك في نموذج. أما الاستضافة السحابية وعميل الذكاء الاصطناعي الذي تختاره لاحقًا، فلكل منهما تسعيره.
كم تبلغ تكلفة خادم MCP؟
لا تحتاج العملية المحلية إلى خطة استضافة مستقلة. تعلن Cloudflare Workers فئة مجانية وحدًا أدنى قدره $5 شهريًا للخطة المدفوعة. وتعلن Render موارد حوسبة بسعر $7 شهريًا لخدمة الويب المدفوعة الصغيرة. لا تشمل هذه الأرقام استخدام النماذج أو خدمات الهوية أو التخزين أو العمل الهندسي.
هل أحتاج إلى تثبيت خادم MCP؟
مع stdio، يعمل الخادم على جهاز العميل، لذلك يجب أن يتوفر الكود وبيئة تشغيله هناك. ومع HTTP عن بُعد، تضبط نقطة الوصول وتُجري المصادقة، بينما يعمل الخادم لدى الاستضافة. اختر طريقة نشر يدعمها العميل الذي تستخدمه.
إذا أردت بناء خدمة MCP تتصل ببيانات شركتك وتشغيلها لفريقك، فإن خدمتنا لأنظمة الذكاء الاصطناعي في الإنتاج تشمل التكامل وضوابط الوصول إليه.
- تاريخ النشر
- التصنيف
- Build
- اللغة







