ఈ రిపోజిటరీలో మోడల్ కాంటెక్స్ట్ ప్రోటోకాల్ (MCP) యొక్క పైథాన్ అమలు ఉంది, ఇది MCP ప్రమాణాన్ని ఉపయోగించి కమ్యూనికేట్ చేసే సర్వర్ మరియు క్లయింట్ అప్లికేషన్లను ఎలా సృష్టించాలో చూపిస్తుంది.
MCP అమలు రెండు ప్రధాన భాగాలుగా ఉంటుంది:
-
MCP సర్వర్ (
server.py) - ఒక సర్వర్ ఇది అందిస్తుంది:- టూల్స్: రిమోట్గా పిలవగల ఫంక్షన్లు
- రిసోర్సెస్: పొందగలిగే డేటా
- ప్రాంప్ట్స్: భాషా మోడల్స్ కోసం ప్రాంప్ట్లను సృష్టించే టెంప్లేట్లు
-
MCP క్లయింట్ (
client.py) - సర్వర్కు కనెక్ట్ అయ్యి దాని ఫీచర్లను ఉపయోగించే క్లయింట్ అప్లికేషన్
ఈ అమలు కొన్ని ముఖ్యమైన MCP ఫీచర్లను చూపిస్తుంది:
completion- AI మోడల్స్ నుండి టెక్స్ట్ కంప్లీషన్స్ సృష్టిస్తుంది (సిమ్యులేటెడ్)add- రెండు సంఖ్యలను జోడించే సింపుల్ క్యాల్క్యులేటర్
models://- అందుబాటులో ఉన్న AI మోడల్స్ గురించి సమాచారం ఇస్తుందిgreeting://{name}- ఇచ్చిన పేరుకు వ్యక్తిగతీకరించిన అభివాదం ఇస్తుంది
review_code- కోడ్ సమీక్ష కోసం ప్రాంప్ట్ సృష్టిస్తుంది
ఈ MCP అమలును ఉపయోగించడానికి, అవసరమైన ప్యాకేజీలను ఇన్స్టాల్ చేయండి:
pip install mcp-server mcp-clientఒక టెర్మినల్ విండోలో సర్వర్ నడపండి:
python server.pyMCP 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?" అనే ప్రశ్నకు కంప్లీషన్ టూల్ స్పందన
- అందుబాటులో ఉన్న 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 ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. మూల పత్రం దాని స్వదేశీ భాషలోనే అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం వాడకంలో ఏర్పడిన ఏవైనా అపార్థాలు లేదా తప్పుదారితీసే అర్థాలు కోసం మేము బాధ్యత వహించము.