3.6 KiB
Model Context Protocol (MCP) Python-implementasjon
Dette depotet inneholder en Python-implementasjon av Model Context Protocol (MCP), som viser hvordan man kan lage både en server- og klientapplikasjon som kommuniserer ved hjelp av MCP-standarden.
Oversikt
MCP-implementasjonen består av to hovedkomponenter:
-
MCP Server (
server.py) – En server som eksponerer:- Verktøy: Funksjoner som kan kalles eksternt
- Ressurser: Data som kan hentes
- Prompter: Maler for å generere prompter til språkmodeller
-
MCP Klient (
client.py) – En klientapplikasjon som kobler til serveren og bruker dens funksjoner
Funksjoner
Denne implementasjonen demonstrerer flere viktige MCP-funksjoner:
Verktøy
completion– Genererer tekstfullføringer fra AI-modeller (simulert)add– Enkel kalkulator som legger sammen to tall
Ressurser
models://– Returnerer informasjon om tilgjengelige AI-modellergreeting://{name}– Returnerer en personlig hilsen til et gitt navn
Prompter
review_code– Genererer en prompt for kodegjennomgang
Installasjon
For å bruke denne MCP-implementasjonen, installer de nødvendige pakkene:
pip install mcp-server mcp-client
Kjøre Server og Klient
Starte Serveren
Kjør serveren i et terminalvindu:
python server.py
Serveren kan også kjøres i utviklingsmodus ved hjelp av MCP CLI:
mcp dev server.py
Eller installeres i Claude Desktop (hvis tilgjengelig):
mcp install server.py
Kjøre Klienten
Kjør klienten i et annet terminalvindu:
python client.py
Dette vil koble til serveren og demonstrere alle tilgjengelige funksjoner.
Bruk av Klient
Klienten (client.py) demonstrerer alle MCP-funksjonaliteter:
python client.py
Dette vil koble til serveren og teste alle funksjoner, inkludert verktøy, ressurser og prompter. Resultatet vil vise:
- Kalkulatorverktøyets resultat (5 + 7 = 12)
- Svar fra completion-verktøyet på "What is the meaning of life?"
- Liste over tilgjengelige AI-modeller
- Personlig hilsen til "MCP Explorer"
- Mal for kodegjennomgangsprompt
Implementasjonsdetaljer
Serveren er implementert ved hjelp av FastMCP API, som gir høynivåabstraksjoner for å definere MCP-tjenester. Her er et forenklet eksempel på hvordan verktøy defineres:
@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
Klienten bruker MCP-klientbiblioteket for å koble til og kalle serveren:
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})
Lær mer
For mer informasjon om MCP, besøk: https://modelcontextprotocol.io/
Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vennligst vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det opprinnelige dokumentet på originalspråket skal anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.