Hifadhi hii ina utekelezaji wa Python wa Model Context Protocol (MCP), unaoonyesha jinsi ya kuunda programu ya seva na mteja zinazozungumza kwa kutumia kiwango cha MCP.
Utekelezaji wa MCP unajumuisha vipengele viwili vikuu:
-
MCP Server (
server.py) - Seva inayotoa:- Zana: Kazi zinazoweza kuitwa kwa mbali
- Rasilimali: Data zinazoweza kupatikana
- Prompts: Violezo vya kuunda maelekezo kwa mifano ya lugha
-
MCP Client (
client.py) - Programu ya mteja inayounganisha na seva na kutumia vipengele vyake
Utekelezaji huu unaonyesha vipengele muhimu vya MCP:
completion- Inazalisha maandishi ya kukamilisha kutoka kwa mifano ya AI (imeigizwa)add- Kihesabu rahisi kinachoongeza nambari mbili
models://- Inarudisha taarifa kuhusu mifano ya AI inayopatikanagreeting://{name}- Inarudisha salamu ya kibinafsi kwa jina fulani
review_code- Inazalisha maelekezo ya kupitia msimbo
Ili kutumia utekelezaji huu wa MCP, sakinisha vifurushi vinavyohitajika:
pip install mcp-server mcp-clientEndesha seva kwenye dirisha moja la terminali:
python server.pySeva pia inaweza kuendeshwa katika hali ya maendeleo kwa kutumia MCP CLI:
mcp dev server.pyAu kusakinishwa kwenye Claude Desktop (ikiwa inapatikana):
mcp install server.pyEndesha mteja kwenye dirisha lingine la terminali:
python client.pyHii itaunganisha na seva na kuonyesha vipengele vyote vinavyopatikana.
Mteja (client.py) unaonyesha uwezo wote wa MCP:
python client.pyHii itaunganisha na seva na kutumia vipengele vyote ikijumuisha zana, rasilimali, na maelekezo. Matokeo yataonyesha:
- Matokeo ya zana ya kihesabu (5 + 7 = 12)
- Jibu la zana ya kukamilisha kwa "What is the meaning of life?"
- Orodha ya mifano ya AI inayopatikana
- Salamu ya kibinafsi kwa "MCP Explorer"
- Kiolezo cha maelekezo ya kupitia msimbo
Seva imetekelezwa kwa kutumia API ya FastMCP, inayotoa viwango vya juu vya kufafanua huduma za MCP. Hapa kuna mfano rahisi wa jinsi zana zinavyofafanuliwa:
@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 + bMteja anatumia maktaba ya mteja ya MCP kuungana na kuitisha seva:
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})Kwa taarifa zaidi kuhusu MCP, tembelea: https://modelcontextprotocol.io/
Kiarifu cha Kutotegemea:
Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI Co-op Translator. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kwamba tafsiri za kiotomatiki zinaweza kuwa na makosa au upungufu wa usahihi. Hati ya asili katika lugha yake ya asili inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu inayofanywa na binadamu inapendekezwa. Hatubebei dhamana kwa kutoelewana au tafsiri potofu zinazotokana na matumizi ya tafsiri hii.