ਸ਼ੁਰੂ ਤੋਂ ਇੱਕ Python MCP Server ਬਣਾਉਣਾ

Model Context Protocol (MCP) ਹੁਣ ਇੱਕ ਉਦਯੋਗਿਕ ਮਿਆਰ (industry standard) ਬਣ ਚੁੱਕਾ ਹੈ। ਇਸਦੇ ਮਹੀਨਾਵਾਰ SDK ਡਾਊਨਲੋਡ 97 ਮਿਲੀਅਨ ਤੱਕ ਪਹੁੰਚ ਗਏ ਹਨ। ਹਰ ਵੱਡਾ AI ਟੂਲ ਇਸਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਜ਼ਿਆਦਾਤਰ ਗਾਈਡਾਂ ਤੁਹਾਨੂੰ ਸਿਰਫ਼ ਮੌਜੂਦਾ ਸਰਵਰਾਂ ਨੂੰ ਇੰਸਟਾਲ ਕਰਨਾ ਸਿਖਾਉਂਦੀਆਂ ਹਨ। ਇਹ ਗਾਈਡ ਤੁਹਾਨੂੰ Python ਅਤੇ GitHub API ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣਾ ਖੁਦ ਦਾ ਸਰਵਰ ਬਣਾਉਣਾ ਸਿਖਾਏਗੀ।

MCP ਕੀ ਹੈ? ਇਹ ਇੱਕ ਪ੍ਰੋਟੋਕੋਲ ਹੈ ਜੋ AI ਕਲਾਇੰਟਸ ਨੂੰ ਬਾਹਰੀ ਸੇਵਾਵਾਂ (external services) ਨੂੰ ਕਾਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਤੁਹਾਡਾ ਸਰਵਰ Claude ਜਾਂ Cursor ਵਰਗੇ ਟੂਲਸ ਤੋਂ ਆਉਣ ਵਾਲੀਆਂ ਰਿਕੁਐਸਟਾਂ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ।

MCP ਦੇ ਤਿੰਨ ਮੁੱਖ ਹਿੱਸੇ:

  • Tools: ਉਹ ਫੰਕਸ਼ਨ ਜਿਨ੍ਹਾਂ ਨੂੰ AI ਐਕਸ਼ਨ ਲੈਣ ਜਾਂ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕਾਲ ਕਰਦਾ ਹੈ।
  • Resources: ਰੀਡ-ਓਨਲੀ (read-only) ਡਾਟਾ ਐਂਡਪੁਆਇੰਟਸ ਜਿਵੇਂ ਕਿ ਫਾਈਲਾਂ ਜਾਂ ਡਾਟਾਬੇਸ ਰਿਕਾਰਡ।
  • Prompts: ਨਿਰੰਤਰ ਵਰਕਫਲੋਅ ਲਈ ਦੁਬਾਰਾ ਵਰਤੋਂਯੋਗ ਇੰਸਟ੍ਰਕਸ਼ਨ ਟੈਂਪਲੇਟਸ।

ਆਪਣਾ ਪ੍ਰੋਜੈਕਟ ਸੈੱਟਅੱਪ ਕਰੋ ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਬਣਾਓ ਅਤੇ uv ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲੋੜੀਂਦੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਇੰਸਟਾਲ ਕਰੋ:

mkdir github-mcp-server
cd github-mcp-server
uv init .
uv add "mcp[cli]" httpx

ਸਰਵਰ ਬਣਾਉਣਾ ਮੁੱਖ ਕੰਮਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ FastMCP ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇੱਕ ਵਧੀਆ MCP ਸਰਵਰ ਤਿੰਨ ਖਾਸ ਫਾਈਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ: server.py, pyproject.toml, ਅਤੇ ਤੁਹਾਡੇ GitHub ਟੋਕਨ ਲਈ ਇੱਕ ਵਿਕਲਪਿਕ .env ਫਾਈਲ।

ਡਿਵੈਲਪਮੈਂਟ ਲਈ ਪ੍ਰੋ ਟਿਪਸ:

  • Tool ਰਿਟਰਨ ਲਈ Pydantic ਮਾਡਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ AI ਨੂੰ ਅਸਪਸ਼ਟ ਸਟ੍ਰਿੰਗਾਂ ਦੀ ਬਜਾਏ ਸਟ੍ਰਕਚਰਡ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
  • ਸਾਫ਼ docstrings ਲਿਖੋ। AI ਇਹ ਫੈਸਲਾ ਕਰਨ ਲਈ ਇਹਨਾਂ ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਦੋਂ ਕਰਨੀ ਹੈ।
  • ਨੰਬਰ ਇਨਪੁੱਟਸ ਨੂੰ ਕਲੈਂਪ (clamp) ਕਰੋ। AI ਮਾਡਲ ਅਕਸਰ 0 ਜਾਂ 100 ਵਰਗੇ ਅਣਪਛਾਤੇ ਨੰਬਰ ਭੇਜਦੇ ਹਨ।
  • ਐਕਸੈਪਸ਼ਨਾਂ (exceptions) ਨੂੰ ਸੰਭਾਲੋ। ਤੁਹਾਡੇ ਸਰਵਰ ਵਿੱਚ ਕੋਈ ਕਰੈਸ਼ ਪੂਰੇ ਕਨੈਕਸ਼ਨ ਨੂੰ ਖਤਮ ਕਰ ਸਕਦਾ ਹੈ।

ਟੈਸਟਿੰਗ ਅਤੇ ਡਿਪਲਾਈਮੈਂਟ Claude ਵਿੱਚ ਟੈਸਟ ਕਰਨ ਦੀ ਉਡੀਕ ਨਾ ਕਰੋ। ਪਹਿਲਾਂ MCP Inspector ਦੀ ਵਰਤੋਂ ਕਰੋ। ਚਲਾਓ: uv run mcp dev server.py

ਇਹ http://localhost:5173 'ਤੇ ਇੱਕ ਲੋਕਲ ਇੰਟਰਫੇਸ ਖੋਲ੍ਹਦਾ ਹੈ। ਤੁਸੀਂ ਇੱਕੋ ਥਾਂ 'ਤੇ ਟੂਲਸ, ਰਿਸੋਰਸਿਸ ਅਤੇ ਪ੍ਰੋਂਪਟਸ ਦਾ ਟੈਸਟ ਕਰ ਸਕਦੇ ਹੋ।

Claude Desktop ਨਾਲ ਕਨੈਕਟ ਕਰਨਾ: ਆਪਣੇ ਸਰਵਰ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਆਪਣੀ ਕੌਂਫਿਗ ਫਾਈਲ ਨੂੰ ਅਪਡੇਟ ਕਰੋ। ਆਪਣੀ server.py ਫਾਈਲ ਦਾ ਪੂਰਾ ਪਾਥ (path) ਵਰਤੋ। ਐਨਵਾਇਰਨਮੈਂਟ ਗਲਤੀਆਂ ਤੋਂ ਬਚਣ ਲਈ ਹਮੇਸ਼ਾ ਸਿਰਫ਼ python ਕਮਾਂਡ ਦੀ ਬਜਾਏ uv run ਦੀ ਵਰਤੋਂ ਕਰੋ।

Claude Code ਨਾਲ ਕਨੈਕਟ ਕਰਨਾ: CLI ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ: claude mcp add github-tools -- uv run python /path/to/server.py

ਕਸਟਮ MCP ਸਰਵਰ ਬਣਾਉਣ ਨਾਲ ਤੁਸੀਂ ਆਪਣੇ AI ਵਰਕਫਲੋ ਵਿੱਚ ਲਾਈਵ ਡਾਟਾ ਲਿਆ ਸਕਦੇ ਹੋ।

Source: https://dev.to/moksh/building-a-python-mcp-server-from-scratch-a-practical-github-api-guide-397k

ਵਿਕਲਪਿਕ ਲਰਨਿੰਗ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi