Files
2026-07-13 13:31:35 +08:00

3.7 KiB
Raw Permalink Blame History

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:

  1. MCP Server (server.py) Palvelin, joka tarjoaa:

    • Tools: Etäkäytettävät funktiot
    • Resources: Haettavat tiedot
    • Prompts: Mallipohjat kielimallien kehotteiden luomiseen
  2. 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älymalleista
  • greeting://{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ää:

  1. Laskintyökalun tuloksen (5 + 7 = 12)
  2. Completion-työkalun vastauksen kysymykseen "What is the meaning of life?"
  3. Luettelon saatavilla olevista tekoälymalleista
  4. Henkilökohtaisen tervehdyksen "MCP Explorer" -nimelle
  5. 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.