Ta repozitorij vsebuje Python implementacijo protokola modelnega konteksta (MCP), ki prikazuje, kako ustvariti tako strežniško kot odjemalsko aplikacijo, ki komunicirata z uporabo standarda MCP.
Implementacija MCP je sestavljena iz dveh glavnih komponent:
-
MCP strežnik (
server.py) - Strežnik, ki omogoča:- Orodja: Funkcije, ki jih je mogoče klicati na daljavo
- Viri: Podatki, ki jih je mogoče pridobiti
- Pozivi: Predloge za ustvarjanje pozivov za jezikovne modele
-
MCP odjemalec (
client.py) - Odjemalska aplikacija, ki se poveže s strežnikom in uporablja njegove funkcije
Ta implementacija prikazuje več ključnih funkcij MCP:
completion- Ustvarja besedilne zaključke iz AI modelov (simulirano)add- Preprost kalkulator, ki sešteje dve števili
models://- Vrne informacije o razpoložljivih AI modelihgreeting://{name}- Vrne personaliziran pozdrav za dano ime
review_code- Ustvari poziv za pregled kode
Za uporabo te MCP implementacije namestite zahtevane pakete:
pip install mcp-server mcp-clientStrežnik zaženite v enem terminalskem oknu:
python server.pyStrežnik lahko zaženete tudi v razvojni načinu z uporabo MCP CLI:
mcp dev server.pyAli pa ga namestite v Claude Desktop (če je na voljo):
mcp install server.pyOdjemalca zaženite v drugem terminalskem oknu:
python client.pyS tem se povežete s strežnikom in preizkusite vse razpoložljive funkcije.
Odjemalec (client.py) prikazuje vse zmogljivosti MCP:
python client.pyS tem se povežete s strežnikom in preizkusite vse funkcije, vključno z orodji, viri in pozivi. Izhod bo prikazal:
- Rezultat orodja kalkulatorja (5 + 7 = 12)
- Odgovor orodja za dokončanje na vprašanje "Kaj je smisel življenja?"
- Seznam razpoložljivih AI modelov
- Personaliziran pozdrav za "MCP Explorer"
- Predlogo poziva za pregled kode
Strežnik je implementiran z uporabo API-ja FastMCP, ki zagotavlja visokorazredne abstrakcije za definiranje MCP storitev. Tukaj je poenostavljen primer, kako so orodja definirana:
@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 + bOdjemalec uporablja MCP odjemalsko knjižnico za povezavo in klic strežnika:
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 več informacij o MCP obiščite: https://modelcontextprotocol.io/
Omejitev odgovornosti:
Ta dokument je bil preveden z uporabo AI prevajalske storitve Co-op Translator. Čeprav si prizadevamo za natančnost, vas opozarjamo, da avtomatizirani prevodi lahko vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku velja za avtoritativni vir. Za ključne informacije priporočamo strokovni človeški prevod. Za morebitna nesporazume ali napačne interpretacije, ki izhajajo iz uporabe tega prevoda, ne odgovarjamo.