3.9 KiB
Protocolul Model Context (MCP) Implementare Python
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.
Prezentare generală
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
Funcționalități
Această implementare demonstrează câteva caracteristici cheie ale MCP:
Tools
completion- Generează completări de text folosind modele AI (simulat)add- Calculator simplu care adună două numere
Resources
models://- Returnează informații despre modelele AI disponibilegreeting://{name}- Returnează un mesaj personalizat pentru un nume dat
Prompts
review_code- Generează un prompt pentru revizuirea codului
Instalare
Pentru a folosi această implementare MCP, instalează pachetele necesare:
pip install mcp-server mcp-client
Pornirea Serverului și Clientului
Pornirea Serverului
Rulează serverul într-o fereastră de terminal:
python server.py
Serverul poate fi rulat și în modul dezvoltare folosind MCP CLI:
mcp dev server.py
Sau instalat în Claude Desktop (dacă este disponibil):
mcp install server.py
Pornirea Clientului
Rulează clientul într-o altă fereastră de terminal:
python client.py
Aceasta va conecta clientul la server și va demonstra toate funcționalitățile disponibile.
Utilizarea Clientului
Clientul (client.py) demonstrează toate capabilitățile MCP:
python client.py
Aceasta 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
Detalii de implementare
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 + b
Clientul 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})
Află mai multe
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.