ਇਹ ਰਿਪੋਜ਼ਿਟਰੀ Model Context Protocol (MCP) ਦੀ Python ਵਿੱਚ ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ ਹੈ, ਜੋ ਦਿਖਾਉਂਦੀ ਹੈ ਕਿ ਕਿਵੇਂ ਇੱਕ ਸਰਵਰ ਅਤੇ ਕਲਾਇੰਟ ਐਪਲੀਕੇਸ਼ਨ ਬਣਾਈ ਜਾ ਸਕਦੀ ਹੈ ਜੋ MCP ਸਟੈਂਡਰਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਗੱਲਬਾਤ ਕਰਦੇ ਹਨ।
MCP ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ ਵਿੱਚ ਦੋ ਮੁੱਖ ਹਿੱਸੇ ਹਨ:
-
MCP Server (
server.py) - ਇੱਕ ਸਰਵਰ ਜੋ ਇਹ ਚੀਜ਼ਾਂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:- Tools: ਫੰਕਸ਼ਨ ਜੋ ਦੂਰੇ ਤੋਂ ਕਾਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ
- Resources: ਡਾਟਾ ਜੋ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ
- Prompts: ਭਾਸ਼ਾ ਮਾਡਲਾਂ ਲਈ ਪ੍ਰੰਪਟ ਬਣਾਉਣ ਦੇ ਟੈਂਪਲੇਟ
-
MCP Client (
client.py) - ਇੱਕ ਕਲਾਇੰਟ ਐਪਲੀਕੇਸ਼ਨ ਜੋ ਸਰਵਰ ਨਾਲ ਜੁੜਦਾ ਹੈ ਅਤੇ ਇਸ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ
ਇਹ ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ ਕੁਝ ਮੁੱਖ MCP ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਿਖਾਉਂਦੀ ਹੈ:
completion- AI ਮਾਡਲਾਂ ਤੋਂ ਟੈਕਸਟ ਪੂਰਾ ਕਰਦਾ ਹੈ (ਨਕਲੀ)add- ਸਧਾਰਣ ਕੈਲਕੁਲੇਟਰ ਜੋ ਦੋ ਨੰਬਰ ਜੋੜਦਾ ਹੈ
models://- ਉਪਲਬਧ AI ਮਾਡਲਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦਿੰਦਾ ਹੈgreeting://{name}- ਦਿੱਤੇ ਗਏ ਨਾਮ ਲਈ ਵਿਅਕਤੀਗਤ ਸਲਾਮਤੀਆਂ ਦਿੰਦਾ ਹੈ
review_code- ਕੋਡ ਸਮੀਖਿਆ ਲਈ ਪ੍ਰੰਪਟ ਬਣਾਉਂਦਾ ਹੈ
ਇਸ MCP ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ ਨੂੰ ਵਰਤਣ ਲਈ, ਲੋੜੀਂਦੇ ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰੋ:
pip install mcp-server mcp-clientਇੱਕ ਟਰਮੀਨਲ ਵਿੰਡੋ ਵਿੱਚ ਸਰਵਰ ਚਲਾਓ:
python server.pyਸਰਵਰ ਨੂੰ ਵਿਕਾਸ ਮੋਡ ਵਿੱਚ MCP CLI ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵੀ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ:
mcp dev server.pyਜਾਂ Claude Desktop ਵਿੱਚ ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ (ਜੇ ਉਪਲਬਧ ਹੋਵੇ):
mcp install server.pyਦੂਜੇ ਟਰਮੀਨਲ ਵਿੰਡੋ ਵਿੱਚ ਕਲਾਇੰਟ ਚਲਾਓ:
python client.pyਇਹ ਸਰਵਰ ਨਾਲ ਜੁੜੇਗਾ ਅਤੇ ਸਾਰੀਆਂ ਉਪਲਬਧ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਿਖਾਏਗਾ।
ਕਲਾਇੰਟ (client.py) ਸਾਰੀਆਂ MCP ਸਮਰੱਥਾਵਾਂ ਦਿਖਾਉਂਦਾ ਹੈ:
python client.pyਇਹ ਸਰਵਰ ਨਾਲ ਜੁੜੇਗਾ ਅਤੇ ਸਾਰੇ ਟੂਲ, ਰਿਸੋਰਸ ਅਤੇ ਪ੍ਰੰਪਟ ਸਮੇਤ ਸਾਰੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰੇਗਾ। ਨਤੀਜਾ ਇਹ ਹੋਵੇਗਾ:
- ਕੈਲਕੁਲੇਟਰ ਟੂਲ ਦਾ ਨਤੀਜਾ (5 + 7 = 12)
- "What is the meaning of life?" ਲਈ completion ਟੂਲ ਦਾ ਜਵਾਬ
- ਉਪਲਬਧ AI ਮਾਡਲਾਂ ਦੀ ਸੂਚੀ
- "MCP Explorer" ਲਈ ਵਿਅਕਤੀਗਤ ਸਲਾਮ
- ਕੋਡ ਸਮੀਖਿਆ ਲਈ ਪ੍ਰੰਪਟ ਟੈਂਪਲੇਟ
ਸਰਵਰ FastMCP API ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬਣਾਇਆ ਗਿਆ ਹੈ, ਜੋ MCP ਸੇਵਾਵਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ ਉੱਚ-ਸਤਰ ਦੇ ਅਬਸਟ੍ਰੈਕਸ਼ਨ ਦਿੰਦਾ ਹੈ। ਇੱਥੇ ਇੱਕ ਸਧਾਰਣ ਉਦਾਹਰਨ ਹੈ ਕਿ ਕਿਵੇਂ ਟੂਲ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + bਕਲਾਇੰਟ MCP ਕਲਾਇੰਟ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਰਵਰ ਨਾਲ ਜੁੜਦਾ ਅਤੇ ਕਾਲ ਕਰਦਾ ਹੈ:
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})MCP ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ, ਵੇਖੋ: https://modelcontextprotocol.io/
ਅਸਵੀਕਾਰੋਪਣ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਅਤ ਲਈ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਰੱਖੋ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸਮਰਥਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਆਪਣੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਪ੍ਰਮਾਣਿਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਅਸੀਂ ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਉਤਪੰਨ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।