MCP ਪ੍ਰੋਟੋਕੋਲ ਟੀਮ ਨੇ 28 ਜੁਲਾਈ 2026 ਨੂੰ ਇੱਕ ਨਵਾਂ ਵਰਜ਼ਨ ਜਾਰੀ ਕੀਤਾ ਹੈ ਜੋ ਪ੍ਰੋਟੋਕੋਲ-ਲੇਵਲ ਸੈਸ਼ਨ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ ਅਤੇ ਹਰ ਰਿਕਵੈਸਟ ਨੂੰ stateless ਬਣਾਉਣ ਲਈ ਮਜਬੂਰ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ MCP ਕਲਾਇੰਟ, ਸਰਵਰ ਜਾਂ ਏਜੰਟ ਚਲਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਉਸ ਕੋਡ ਨੂੰ ਦੁਬਾਰਾ ਲਿਖਣਾ ਪਵੇਗਾ ਜੋ ਇੱਕ ਪਰਸਿਸਟੈਂਟ (persistent) ਸੈਸ਼ਨ ਆਈਡੀ (session ID) 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ—ਨਹੀਂ ਤਾਂ ਤੁਹਾਨੂੰ ਖਰਾਬ ਰੂਟਿੰਗ, ਕੈਸ਼ ਮਿਸਿਸ (cache misses) ਅਤੇ ਬੈਕਗ੍ਰਾਊਂਡ ਕੰਮਾਂ ਦੇ ਵਧਣ ਵਰਗੀਆਂ ਸਮੱਸਿਆਵਾਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪਵੇਗਾ।

Why the shift matters

ਪਹਿਲਾਂ MCP ਲਈ ਇੱਕ ਹੈਂਡਸ਼ੇਕ (handshake) ਦੀ ਲੋੜ ਹੁੰਦੀ ਸੀ ਜੋ ਇੱਕ ਸੈਸ਼ਨ ਆਈਡੀ (session identifier) ਤਿਆਰ ਕਰਦਾ ਸੀ। ਡਾਊਨਸਟ੍ਰੀਮ ਸੇਵਾਵਾਂ ਇਸ ਆਈਡੀ 'ਤੇ ਨਿਰਭਰ ਸਨ ਤਾਂ ਜੋ ਇਹ ਮੰਨਿਆ ਜਾ ਸਕੇ ਕਿ ਰਿਕਵੈਸਟਾਂ ਦੀ ਇੱਕ ਲੜੀ ਇੱਕੋ ਪ੍ਰੋਸੈਸ 'ਤੇ ਪਹੁੰਚੇਗੀ, ਲੋਡ ਬੈਲੇਂਸਰਾਂ ਨੂੰ ਸਟਿੱਕੀ ਰੂਟਿੰਗ (sticky routing) ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮਿਲੇ, ਅਤੇ ਮੈਮੋਰੀ ਵਿੱਚ ਪ੍ਰਤੀ-ਸੈਸ਼ਨ ਡੇਟਾ ਸਟੋਰ ਕੀਤਾ ਜਾ ਸਕੇ। ਜੁਲਾਈ ਦੀ ਰਿਲੀਜ਼ ਇਸ ਮਾਡਲ ਦੀ ਥਾਂ ਇੱਕ ਸ਼ੁੱਧ ਰਿਕਵੈਸਟ-ਰਿਸਪਾਂਸ ਫਲੋ (request-response flow) ਲੈ ਆਉਂਦੀ ਹੈ। ਹੁਣ ਇੱਕ ਸਰਵਰ ਨੂੰ ਗੁਆਚੇ ਹੋਏ ਸੈਸ਼ਨਾਂ ਦੀ ਚਿੰਤਾ ਕੀਤੇ ਬਿਨਾਂ ਜੋੜਿਆ ਜਾਂ ਹਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। ਪ੍ਰੋਟੋਕੋਲ ਹੁਣ ਕੰਟੈਕਸਟ (context) ਨੂੰ ਸੰਭਾਲਦਾ ਨਹੀਂ ਹੈ; ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਇਹ ਕਰਨਾ ਪਵੇਗਾ।

ਜੋ ਟੀਮਾਂ ਪੁਰਾਣਾ ਸੈਸ਼ਨ-ਕੇਂਦ੍ਰਿਤ ਕੋਡ ਰੱਖਦੀਆਂ ਹਨ, ਉਹ ਦੇਖਣਗੀਆਂ ਕਿ ਰਿਕਵੈਸਟਾਂ ਗਲਤ ਇੰਸਟੈਂਸ (instance) 'ਤੇ ਜਾ ਰਹੀਆਂ ਹਨ, ਕੈਸ਼ ਮਿਸ ਹੋ ਰਹੇ ਹਨ, ਅਤੇ ਬੈਕਗ੍ਰਾਊਂਡ ਕੰਮਾਂ ਦਾ ਢੇਰ ਲੱਗ ਰਿਹਾ ਹੈ। ਜੋ ਟੀਮਾਂ stateless ਪੈਟਰਨ ਨੂੰ ਅਪਣਾਉਂਦੀਆਂ ਹਨ, ਉਹ ਨਾਨ-ਸਟਿੱਕੀ (non-sticky) ਲੋਡ ਬੈਲੇਂਸਰਾਂ ਦੇ ਪਿੱਛੇ MCP ਚਲਾ ਸਕਦੀਆਂ ਹਨ ਅਤੇ ਪੂਰੀ ਰਿਕਵੈਸਟ ਚੇਨ ਵਿੱਚ ਬਿਹਤਰ ਨਿਗਰਾਨੀ (observability) ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੀਆਂ ਹਨ।

What’s really different

  • Protocol lifecycle – ਹੈਂਡਸ਼ੇਕ ਅਤੇ ਸੈਸ਼ਨ ਆਈਡੀ ਖਤਮ ਹੋ ਗਏ ਹਨ। ਹਰ ਰਿਕਵੈਸਟ ਵਿੱਚ ਉਹ ਸਾਰੀ ਜਾਣਕਾਰੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ ਜੋ ਸਰਵਰ ਨੂੰ ਚਾਹੀਦੀ ਹੈ; ਇਸ ਗੱਲ ਦੀ ਕੋਈ ਗਾਰੰਟੀ ਨਹੀਂ ਹੈ ਕਿ ਅਗਲੀ ਰਿਕਵੈਸਟ ਉਸੇ ਪ੍ਰੋਸੈਸ 'ਤੇ ਪਹੁੰਚੇਗੀ।
  • HTTP routing – ਗੇਟਵੇਜ਼ ਹੁਣ ਰਿਕਵੈਸਟ ਨੂੰ ਕਿੱਥੇ ਭੇਜਣਾ ਹੈ, ਇਹ ਫੈਸਲਾ ਕਰਨ ਲਈ ਦੋ ਨਵੇਂ ਹੈਡਰਜ਼, Mcp-Method ਅਤੇ Mcp-Name, ਪੜ੍ਹਦੇ ਹਨ। ਸੈਸ਼ਨ-ਕੂਕੀ ਰੂਟਿੰਗ ਹੁਣ ਕੰਮ ਨਹੀਂ ਕਰਦੀ।
  • Caching – ਸਪੈਕ (spec) ਰੀਡਸ ਲਈ ttlMs (ਮਿਲੀਸੈਕਿੰਡ ਵਿੱਚ time-to-live) ਅਤੇ cacheScope ਫੀਲਡਾਂ ਜੋੜਦਾ ਹੈ। ਤੁਸੀਂ ਫੈਸਲਾ ਕਰਦੇ ਹੋ ਕਿ ਕੀ ਪੁਰਾਣਾ (stale) ਡੇਟਾ ਸਵੀਕਾਰਯੋਗ ਹੈ ਅਤੇ ਉਸ ਅਨੁਸਾਰ ਕੈਸ਼ ਕੌਂਫਿਗਰ ਕਰਦੇ ਹੋ।
  • Observability – ਇੱਕ _meta ਬਲਾਕ ਹੁਣ W3C Trace Context ਪੇਲੋਡ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ, ਜੋ ਟ੍ਰੇਸਿੰਗ ਸਿਸਟਮਾਂ ਨੂੰ ਐਜ ਗੇਟਵੇਜ਼, ਟੂਲਿੰਗ ਅਤੇ ਬੈਕਐਂਡ ਕੰਮ ਨੂੰ ਇੱਕ ਸਿੰਗਲ end-to-end ਟ੍ਰੇਸ ਵਿੱਚ ਜੋੜਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
  • Composition – ਐਕਸਟੈਂਸ਼ਨਾਂ ਨੂੰ ਰਸਮੀ ਰੂਪ ਦਿੱਤਾ ਗਿਆ ਹੈ; ਕੋਰ ਸਪੈਕ ਨੂੰ ਛੇੜੇ ਬਿਨਾਂ ਨਵੀਆਂ ਸਮਰੱਥਾਵਾਂ ਜੋੜੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ, ਜੋ ਕਿ ਪਲੱਗ-ਇਨ ਸ਼ੈਲੀ ਦੀ ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਉਤਸ਼ਾਹਿਤ ਕਰਦੀਆਂ ਹਨ।
  • Long-running work – ਉਹ ਕੰਮ ਜੋ ਮਿੰਟਾਂ ਜਾਂ ਘੰਟਿਆਂ ਤੱਕ ਚੱਲਦੇ ਹਨ, ਉਹਨਾਂ ਲਈ ਸਧਾਰਨ ਰਿਕਵੈਸਟ/ਰਿਸਪਾਂਸ ਹੁਣ ਕਾਫ਼ੀ ਨਹੀਂ ਹੈ। ਪ੍ਰੋਟੋਕੋਲ ਹੁਣ ਅਸਿੰਕਰੋਨਸ (asynchronous) ਕੰਮ ਲਈ ਇੱਕ Task ਆਬਜੈਕਟ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ, ਜੋ ਲਾਈਫਸਾਈਕਲ ਕੰਟਰੋਲ ਦੇ ਨਾਲ ਆਉਂਦਾ ਹੈ।

Risks hidden in legacy code

ਇੱਕ ਤੇਜ਼ ਆਡਿਟ ਅਕਸਰ ਅਜਿਹੇ ਪੈਟਰਨਾਂ ਨੂੰ ਲੱਭ ਲੈਂਦਾ ਹੈ ਜੋ ਸਟੇਟਫੁੱਲਨੈੱਸ (statefulness) 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ:

  • ਸੈਸ਼ਨ ਆਈਡੀਜ਼ ਦੁਆਰਾ ਕੀਅਡ (keyed) ਇਨ-ਮੈਮੋਰੀ ਮੈਪਸ।
  • ਸਟਿੱਕੀ ਸੈਸ਼ਨਾਂ ਲਈ ਕੌਂਫਿਗ ਕੀਤੇ ਗਏ ਲੋਡ ਬੈਲੇਂਸਰ।
  • ਸਟਾਰਟਅੱਪ ਰੁਟੀਨ ਜੋ ਪ੍ਰਤੀ-ਸੈਸ਼ਨ ਡੇਟਾ ਨੂੰ ਲੋਕਲ ਮੈਮੋਰੀ ਵਿੱਚ ਪ੍ਰੀਲੋਡ ਕਰਦੇ ਹਨ।
  • ਕਲੀਨਅੱਪ ਲੌਜਿਕ ਜੋ ਸੈਸ਼ਨ ਖਤਮ ਹੋਣ 'ਤੇ ਬਿਜ਼ਨਸ ਡੇਟਾ ਨੂੰ ਡਿਲੀਟ ਕਰ ਦਿੰਦਾ ਹੈ।

ਜੇਕਰ ਮਾਈਗ੍ਰੇਸ਼ਨ ਦੌਰਾਨ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਚੀਜ਼ ਬਚ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਲੋਡ ਦੇ ਅਧੀਨ ਸਿਸਟਮ ਡੇਟਾ ਗੁਆਚ ਸਕਦਾ ਹੈ ਜਾਂ ਰਿਸੋਰਸ ਲੀਕ (leak) ਹੋ ਸਕਦੇ ਹਨ।

A concrete migration checklist

1. Inventory current assumptions

ਤੁਹਾਡੇ ਕੋਡ ਦੇ ਹਰ ਉਸ ਸਥਾਨ ਦੀ ਨਕਸ਼ੇਬੰਦੀ ਕਰੋ ਜਿੱਥੇ ਇਹ ਸੈਸ਼ਨ ਆਈਡੀ, ਸਟਿੱਕੀ-ਰੂਟਿੰਗ ਨਿਯਮ, ਜਾਂ ਪ੍ਰੋਸੈਸ-ਲੋਕਲ ਕੈਸ਼ ਨੂੰ ਛੂਹਦਾ ਹੈ। ਦਸਤਾਵੇਜ਼ ਬਣਾਓ ਕਿ ਕਿਹੜੇ ਕੰਪੋਨੈਂਟ ਕਿਸ 'ਤੇ ਨਿਰਭਰ ਹਨ।

2. Make identity explicit

ਹਰ ਰਿਕਵੈਸਟ ਪੇਲੋਡ ਜਾਂ ਹੈਡਰ ਵਿੱਚ ਟੈਂੈਂਟ ਆਈਡੀ (tenant IDs), ਰਨ ਆਈਡੀ (run IDs) ਅਤੇ ਯੂਜ਼ਰ ਆਈਡੀ (user IDs) ਜੋੜੋ। ਇਹਨਾਂ ਪਛਾਣਕਰਤਾਵਾਂ ਨੂੰ ਅਥੋਰਾਈਜ਼ੇਸ਼ਨ ਅਤੇ ਡੇਟਾ ਪਾਰਟੀਸ਼ਨਿੰਗ ਲਈ ਸੱਚਾਈ ਦੇ ਸਰੋਤ (source of truth) ਵਜੋਂ ਵਰਤੋ।

3. Update routing configuration

ਸੈਸ਼ਨ-ਅਧਾਰਤ ਰੂਟਿੰਗ ਨੂੰ ਅਜਿਹੇ ਨਿਯਮਾਂ ਨਾਲ ਬਦਲੋ ਜੋ Mcp-Method ਅਤੇ Mcp-Name ਨੂੰ ਪੜ੍ਹਦੇ ਹਨ। ਨਵੇਂ ਗੇਟਵੇ ਲੌਜਿਕ ਦਾ ਨਾਨ-ਸਟਿੱਕੀ ਲੋਡ ਬੈਲੇਂਸਰ ਦੇ ਪਿੱਛੇ ਇੱਕ ਨਿਊਨਲ (minimal) ਦੋ-ਇੰਸਟੈਂਸ ਡਿਪਲਾਈਮੈਂਟ ਨਾਲ ਟੈਸਟ ਕਰੋ।

4. Refactor caching logic

ਨਵੇਂ ttlMs ਅਤੇ cacheScope ਫੀਲਡਾਂ 'ਤੇ ਸਵਿਚ ਕਰੋ। ਇਹ ਦੇਖਣ ਲਈ ਪਰਫਾਰਮੈਂਸ ਟੈਸਟ ਚਲਾਓ ਕਿ ਵੱਖ-ਵੱਖ TTL ਮੁੱਲ ਹਿੱਟ ਰੇਟ ਅਤੇ ਤਾਜ਼ਗੀ ਦੀਆਂ ਲੋੜਾਂ ਨੂੰ ਕਿਵੇਂ ਪ੍ਰਭਾਵਿਤ ਕਰਦੇ ਹਨ।

5. Enable end-to-end tracing

_meta ਬਲਾਕ ਨੂੰ W3C Trace Context ਹੈਡਰ ਨਾਲ ਭਰੋ। ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਟ੍ਰੇਸ ਹੁਣ ਬਿਨਾਂ ਕਿਸੇ ਖਾਲੀ ਥਾਂ ਦੇ ਐਜ ਗੇਟਵੇ ਤੋਂ ਤੁਹਾਡੀਆਂ ਬੈਕਐਂਡ ਸੇਵਾਵਾਂ ਤੱਕ ਵਹਿੰਦੇ ਹਨ।

6. Adopt the Task model for async work

ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ਕਿ ਕੌਣ ਟਾਸਕ ਬਣਾ ਸਕਦਾ ਹੈ, ਵੱਧ ਤੋਂ ਵੱਧ ਰਨ-ਟਾਈਮ ਸੈੱਟ ਕਰੋ, ਅਤੇ ਕਿਊ (queue) ਦੀਆਂ ਸੀਮਾਵਾਂ ਨੂੰ ਲਾਗੂ ਕਰੋ। ਸਪੱਸ਼ਟ ਰੱਦ ਕਰਨ (cancellation) ਅਤੇ ਰੀਟ੍ਰਾਈ (retry) ਨੀਤੀਆਂ ਜੋੜੋ, ਅਤੇ ਇਸ ਗੱਲ 'ਤੇ ਰੋਕ ਲਗਾਓ ਕਿ ਟਾਸਕ ਪੈਂਡਿੰਗ ਹੋਣ ਦੌਰਾਨ ਇੱਕ ਏਜੰਟ ਕੀ ਕਰ ਸਕਦਾ ਹੈ।

7. Review SDK and client library release notes before July 28

ਜੁਲਾਈ 28 ਤੋਂ ਪਹਿਲਾਂ SDK ਅਤੇ ਕਲਾਇੰਟ ਲਾਇਬ੍ਰੇਰੀ ਰਿਲੀਜ਼ ਨੋਟਸ ਦੀ ਸਮੀਖਿਆ ਕਰੋ।

8. Run regression suites that target failure paths

ਅਜਿਹੇ ਰਿਗਰੈਸ਼ਨ ਸੂਟ ਚਲਾਓ ਜੋ ਫੇਲ੍ਹ ਹੋਣ ਵਾਲੇ ਰਸਤਿਆਂ (failure paths) ਨੂੰ ਟਾਰਗੇਟ ਕਰਦੇ ਹਨ: 'ਹੈਪੀ-ਪਾਥ' ਟੈਸਟਾਂ ਤੋਂ ਇਲਾਵਾ, ਗੁੰਮ ਹੋਏ ਹੈਡਰਜ਼, ਖਤਮ ਹੋਏ ਟਾਸਕਾਂ, ਅਤੇ ਗਲਤ ਕੈਸ਼ ਡਾਇਰੈਕਟਿਵਜ਼ ਨੂੰ ਇੰਜੈਕਟ ਕਰਕੇ ਦੇਖੋ। ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਸਿਸਟਮ ਸੁਚਾਰੂ ਢੰਗ ਨਾਲ ਡਿਗ੍ਰੇਡ ਹੁੰਦਾ ਹੈ।

What to watch next

ਜੋ ਟੀਮਾਂ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਮਾਈਗ੍ਰੇਟ ਕਰਨਗੀਆਂ, ਉਹ ਸਿਰਫ਼ 'ਹੈਪੀ ਪਾਥ' ਹੀ ਨਹੀਂ, ਸਗੋਂ ਸੀਮਾਵਾਂ (boundaries) ਦੀ ਵੀ ਜਾਂਚ ਕਰਨਗੀਆਂ। ਕੋਈ ਵੀ ਪ੍ਰੋਡਕਸ਼ਨ ਡਿਪਲਾਈਮੈਂਟ ਜੋ ਜੁਲਾਈ 28 ਤੋਂ ਬਾਅਦ ਵੀ ਸੈਸ਼ਨ ਆਈਡੀ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ, ਉਹ ਨਵੇਂ MCP ਸਰਵਰਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਹੋ ਸਕਦਾ ਹੈ।