Ez a tároló tartalmaz egy Python megvalósítást a Model Context Protocol (MCP) számára, bemutatva, hogyan lehet létrehozni egy szerver és kliens alkalmazást, amelyek az MCP szabvány szerint kommunikálnak.
Az MCP megvalósítás két fő részből áll:
-
MCP szerver (
server.py) – Egy szerver, amely elérhetővé teszi:- Eszközök: Távolról hívható függvények
- Erőforrások: Lekérdezhető adatok
- Promptok: Nyelvi modellek számára generált prompt sablonok
-
MCP kliens (
client.py) – Egy kliens alkalmazás, amely kapcsolódik a szerverhez és használja annak funkcióit
Ez a megvalósítás több fontos MCP funkciót mutat be:
completion– Szövegkiegészítéseket generál AI modellektől (szimulált)add– Egyszerű kalkulátor, amely két számot ad össze
models://– Információkat ad vissza az elérhető AI modellekrőlgreeting://{name}– Személyre szabott üdvözletet ad megadott névhez
review_code– Kód átnézéséhez generál promptot
Az MCP megvalósítás használatához telepítsd a szükséges csomagokat:
pip install mcp-server mcp-clientIndítsd el a szervert egy terminál ablakban:
python server.pyA szerver fejlesztői módban is futtatható az MCP CLI segítségével:
mcp dev server.pyVagy telepíthető Claude Desktopba (ha elérhető):
mcp install server.pyIndítsd el a klienst egy másik terminál ablakban:
python client.pyEz csatlakozik a szerverhez és bemutatja az összes elérhető funkciót.
A kliens (client.py) bemutatja az MCP összes képességét:
python client.pyEz csatlakozik a szerverhez és használja az összes funkciót, beleértve az eszközöket, erőforrásokat és promptokat. A kimenet a következőket mutatja:
- Kalkulátor eszköz eredménye (5 + 7 = 12)
- Completion eszköz válasza a "What is the meaning of life?" kérdésre
- Elérhető AI modellek listája
- Személyre szabott üdvözlet "MCP Explorer" számára
- Kód átnéző prompt sablon
A szerver a FastMCP API-val készült, amely magas szintű absztrakciókat biztosít MCP szolgáltatások definiálásához. Íme egy egyszerűsített példa az eszközök definiálására:
@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 + bA kliens az MCP kliens könyvtárat használja a szerverhez való kapcsolódáshoz és hívásokhoz:
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})További részletekért az MCP-ről látogass el ide: https://modelcontextprotocol.io/
Jogi nyilatkozat:
Ez a dokumentum az AI fordító szolgáltatás, a Co-op Translator segítségével készült. Bár a pontosságra törekszünk, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az anyanyelvén tekintendő hiteles forrásnak. Fontos információk esetén professzionális emberi fordítást javaslunk. Nem vállalunk felelősséget a fordítás használatából eredő félreértésekért vagy téves értelmezésekért.