Acest depozit conține o implementare Python a Protocolului Model Context (MCP), demonstrând cum să creezi atât o aplicație server, cât și una client care comunică folosind standardul MCP.
Implementarea MCP constă în două componente principale:
-
Server MCP (
server.py) - Un server care expune:- Tools: Funcții care pot fi apelate de la distanță
- Resources: Date care pot fi accesate
- Prompts: Șabloane pentru generarea de prompturi pentru modelele de limbaj
-
Client MCP (
client.py) - O aplicație client care se conectează la server și folosește funcționalitățile acestuia
Această implementare demonstrează câteva caracteristici cheie ale MCP:
completion- Generează completări de text folosind modele AI (simulat)add- Calculator simplu care adună două numere
models://- Returnează informații despre modelele AI disponibilegreeting://{name}- Returnează un mesaj personalizat pentru un nume dat
review_code- Generează un prompt pentru revizuirea codului
Pentru a folosi această implementare MCP, instalează pachetele necesare:
pip install mcp-server mcp-clientRulează serverul într-o fereastră de terminal:
python server.pyServerul poate fi rulat și în modul dezvoltare folosind MCP CLI:
mcp dev server.pySau instalat în Claude Desktop (dacă este disponibil):
mcp install server.pyRulează clientul într-o altă fereastră de terminal:
python client.pyAceasta va conecta clientul la server și va demonstra toate funcționalitățile disponibile.
Clientul (client.py) demonstrează toate capabilitățile MCP:
python client.pyAceasta va conecta clientul la server și va testa toate funcțiile, inclusiv tools, resources și prompts. Rezultatul va afișa:
- Rezultatul tool-ului calculator (5 + 7 = 12)
- Răspunsul tool-ului completion la întrebarea „Care este sensul vieții?”
- Lista modelelor AI disponibile
- Mesaj personalizat pentru „MCP Explorer”
- Șablonul promptului pentru revizuirea codului
Serverul este implementat folosind API-ul FastMCP, care oferă abstracții de nivel înalt pentru definirea serviciilor MCP. Iată un exemplu simplificat despre cum sunt definite tools:
@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 + bClientul folosește biblioteca client MCP pentru a se conecta și a apela serverul:
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})Pentru mai multe informații despre MCP, vizitează: https://modelcontextprotocol.io/
Declinare de responsabilitate:
Acest document a fost tradus folosind serviciul de traducere AI Co-op Translator. Deși ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm răspunderea pentru eventualele neînțelegeri sau interpretări greșite rezultate din utilizarea acestei traduceri.