MCP ریلیز کینڈیڈیٹ سروائیول گائیڈ
MCP ریلیز کینڈیڈیٹ پروٹوکول کے آغاز کے بعد سے سب سے بڑی اپ ڈیٹ ہے۔ یہ ان تمام لوگوں کے لیے ایک امتحان ہے جو clients، servers، اور tools بنا رہے ہیں۔ حتمی ورژن 28 جولائی، 2026 کو آئے گا۔ اس وقت کو مائیگریشن (migration) کے مسائل تلاش کرنے کے لیے استعمال کریں۔
سب سے بڑی تبدیلی یہ ہے کہ MCP اب stateless ہے۔
اگر آپ کی implementation میں session IDs یا initialization steps استعمال ہوتے ہیں، تو آپ کو اپنا کوڈ تبدیل کرنا ہوگا۔ اب ہر request کے metadata میں version اور capability کا ڈیٹا شامل ہوتا ہے۔
یہ تبدیلی انفراسٹرکچر (infrastructure) میں مدد دیتی ہے۔ Load balancers اب کسی بھی server instance کو requests بھیج سکتے ہیں۔ انہیں کسی ایک مخصوص server کے ساتھ کنکشن کھلا رکھنے کی ضرورت نہیں ہے۔
اسٹیٹ (state) کو کیسے سنبھالیں:
- اسٹیٹ کو کنکشن میں چھپائیں نہیں۔
- اسٹیٹ کو application handle میں منتقل کریں۔
- کسی tool کو basket_id جیسا ID واپس کرنے دیں۔
- ماڈل اس ID کو اگلی کال میں واپس بھیج سکتا ہے۔
Server-initiated requests میں بھی تبدیلی آئی ہے۔ ایک server صرف اس وقت request شروع کر سکتا ہے جب وہ client call کو process کر رہا ہو۔ اگر server کو مزید معلومات کی ضرورت ہو، تو وہ InputRequiredResult واپس کرتا ہے۔ اس کے بعد client نئے ڈیٹا کے ساتھ کال کو دوبارہ کوشش (retry) کرتا ہے۔
MCP Apps اب یہاں موجود ہیں۔ Servers اب HTML interfaces فراہم کر سکتے ہیں۔ Hosts انہیں sandboxed iframes میں رینڈر (render) کرتے ہیں۔ یہ صارف کے تجربے (user experience) کو بہتر بناتا ہے لیکن اس کے لیے سخت سیکیورٹی کی ضرورت ہوتی ہے۔
Authorization اب مزید سخت کر دی گئی ہے۔
- OAuth 2.0 اور OpenID Connect استعمال کریں۔
- Clients کے لیے issuer parameter کی تصدیق کرنا لازمی ہے۔
- Authorization servers کو اب issuer parameter بھیجنا ہوگا۔
ان چیزوں پر نظر رکھیں جنہیں ختم (deprecate) کیا جا رہا ہے:
- Roots، Sampling، اور Logging کو ختم (deprecate) کر دیا گیا ہے۔
- یہ فی الحال کام کرتے ہیں، لیکن نئے پروجیکٹس کے لیے انہیں استعمال نہ کریں۔
- Roots کو tool parameters میں منتقل کریں۔
- Sampling کو براہ راست model provider APIs میں منتقل کریں۔
- Logging کو OpenTelemetry یا stderr میں منتقل کریں۔
Schema اپ ڈیٹس:
- Tool schemas اب مکمل JSON Schema 2020-12 استعمال کرتے ہیں۔
- آپ oneOf یا anyOf جیسی پیچیدہ لاجک استعمال کر سکتے ہیں۔
- غلطیوں سے بچنے کے لیے servers کو schema کی گہرائی (depth) کو محدود کرنا چاہیے۔
- اپنی error handling کو اپ ڈیٹ کریں۔ اب missing resource error کے لیے معیاری JSON-RPC کوڈ -32602 استعمال ہوتا ہے۔
اگر آپ کو مسائل ملتے ہیں، تو specification repository میں ایک issue کھولیں یا Discord contributor channel میں پوچھیں۔
اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi
