3.7 KiB
Model Context Protocol (MCP) Python -toteutus
Tämä repositorio sisältää Python-toteutuksen Model Context Protocolille (MCP), joka näyttää, miten luodaan sekä palvelin- että asiakasohjelma, jotka kommunikoivat MCP-standardin mukaisesti.
Yleiskatsaus
MCP-toteutus koostuu kahdesta pääosasta:
-
MCP Server (
server.py) – Palvelin, joka tarjoaa:- Tools: Etäkäytettävät funktiot
- Resources: Haettavat tiedot
- Prompts: Mallipohjat kielimallien kehotteiden luomiseen
-
MCP Client (
client.py) – Asiakasohjelma, joka yhdistyy palvelimeen ja käyttää sen ominaisuuksia
Ominaisuudet
Tämä toteutus esittelee useita keskeisiä MCP-ominaisuuksia:
Tools
completion– Tekstinkorjausten generointi tekoälymalleilta (simuloitu)add– Yksinkertainen laskin, joka laskee kahden luvun summan
Resources
models://– Palauttaa tietoa saatavilla olevista tekoälymalleistagreeting://{name}– Palauttaa henkilökohtaisen tervehdyksen annetulle nimelle
Prompts
review_code– Luo kehotteen koodin tarkistukseen
Asennus
Käyttääksesi tätä MCP-toteutusta, asenna tarvittavat paketit:
pip install mcp-server mcp-client
Palvelimen ja asiakkaan käynnistäminen
Palvelimen käynnistäminen
Aja palvelin yhdessä terminaali-ikkunassa:
python server.py
Palvelin voidaan myös käynnistää kehitystilassa MCP CLI:n avulla:
mcp dev server.py
Tai asentaa Claude Desktopiin (jos saatavilla):
mcp install server.py
Asiakkaan käynnistäminen
Aja asiakas toisessa terminaali-ikkunassa:
python client.py
Tämä yhdistää palvelimeen ja esittelee kaikki käytettävissä olevat ominaisuudet.
Asiakkaan käyttö
Asiakas (client.py) näyttää kaikki MCP:n toiminnot:
python client.py
Tämä yhdistää palvelimeen ja käyttää kaikkia ominaisuuksia, mukaan lukien työkalut, resurssit ja kehotteet. Tuloste näyttää:
- Laskintyökalun tuloksen (5 + 7 = 12)
- Completion-työkalun vastauksen kysymykseen "What is the meaning of life?"
- Luettelon saatavilla olevista tekoälymalleista
- Henkilökohtaisen tervehdyksen "MCP Explorer" -nimelle
- Koodin tarkistuksen kehotemallin
Toteutuksen yksityiskohdat
Palvelin on toteutettu FastMCP-API:n avulla, joka tarjoaa korkean tason abstraktioita MCP-palveluiden määrittelyyn. Tässä yksinkertaistettu esimerkki työkalujen määrittelystä:
@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
Asiakas käyttää MCP-asiakas kirjastoa yhdistääkseen palvelimeen ja kutsuakseen sitä:
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})
Lisätietoja
Lisätietoja MCP:stä löytyy osoitteesta: https://modelcontextprotocol.io/
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattikäännöksissä saattaa esiintyä virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäiskielellä tulee pitää virallisena lähteenä. Tärkeissä tiedoissa suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinymmärryksistä tai tulkinnoista.