Ovaj repozitorij sadrži Python implementaciju Model Context Protocol (MCP), koja pokazuje kako kreirati i serversku i klijentsku aplikaciju koje komuniciraju koristeći MCP standard.
MCP implementacija sastoji se od dva glavna dijela:
-
MCP Server (
server.py) - Server koji izlaže:- Alate: Funkcije koje se mogu pozivati na daljinu
- Resurse: Podatke koji se mogu dohvatiti
- Promptove: Predloške za generiranje promptova za jezične modele
-
MCP Klijent (
client.py) - Klijentska aplikacija koja se povezuje na server i koristi njegove funkcionalnosti
Ova implementacija demonstrira nekoliko ključnih MCP značajki:
completion- Generira tekstualne dovršetke iz AI modela (simulirano)add- Jednostavan kalkulator koji zbraja dva broja
models://- Vraća informacije o dostupnim AI modelimagreeting://{name}- Vraća personaliziranu pozdravnu poruku za zadano ime
review_code- Generira prompt za pregled koda
Za korištenje ove MCP implementacije, instalirajte potrebne pakete:
pip install mcp-server mcp-clientPokrenite server u jednom terminalu:
python server.pyServer se može pokrenuti i u razvojnom načinu rada koristeći MCP CLI:
mcp dev server.pyIli instalirati u Claude Desktop (ako je dostupan):
mcp install server.pyPokrenite klijenta u drugom terminalu:
python client.pyOvo će se povezati na server i demonstrirati sve dostupne značajke.
Klijent (client.py) demonstrira sve MCP mogućnosti:
python client.pyOvo će se povezati na server i isprobati sve značajke uključujući alate, resurse i promptove. Izlaz će prikazati:
- Rezultat kalkulatora (5 + 7 = 12)
- Odgovor alata za dovršetak na pitanje "What is the meaning of life?"
- Popis dostupnih AI modela
- Personalizirani pozdrav za "MCP Explorer"
- Predložak prompta za pregled koda
Server je implementiran koristeći FastMCP API, koji pruža visoke apstrakcije za definiranje MCP servisa. Evo pojednostavljenog primjera kako se definiraju alati:
@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 + bKlijent koristi MCP klijentsku biblioteku za povezivanje i pozivanje servera:
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})Za više informacija o MCP-u, posjetite: https://modelcontextprotocol.io/
Odricanje od odgovornosti:
Ovaj dokument je preveden korištenjem AI usluge za prevođenje Co-op Translator. Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati službenim i autoritativnim izvorom. Za kritične informacije preporučuje se profesionalni ljudski prijevod. Ne snosimo odgovornost za bilo kakva nesporazuma ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda.