Skip to content

Latest commit

 

History

History
121 lines (81 loc) · 3.55 KB

File metadata and controls

121 lines (81 loc) · 3.55 KB

Model Context Protocol (MCP) Python implementacija

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.

Pregled

MCP implementacija sastoji se od dva glavna dijela:

  1. 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
  2. MCP Klijent (client.py) - Klijentska aplikacija koja se povezuje na server i koristi njegove funkcionalnosti

Značajke

Ova implementacija demonstrira nekoliko ključnih MCP značajki:

Alati

  • completion - Generira tekstualne dovršetke iz AI modela (simulirano)
  • add - Jednostavan kalkulator koji zbraja dva broja

Resursi

  • models:// - Vraća informacije o dostupnim AI modelima
  • greeting://{name} - Vraća personaliziranu pozdravnu poruku za zadano ime

Promptovi

  • review_code - Generira prompt za pregled koda

Instalacija

Za korištenje ove MCP implementacije, instalirajte potrebne pakete:

pip install mcp-server mcp-client

Pokretanje servera i klijenta

Pokretanje servera

Pokrenite server u jednom terminalu:

python server.py

Server se može pokrenuti i u razvojnom načinu rada koristeći MCP CLI:

mcp dev server.py

Ili instalirati u Claude Desktop (ako je dostupan):

mcp install server.py

Pokretanje klijenta

Pokrenite klijenta u drugom terminalu:

python client.py

Ovo će se povezati na server i demonstrirati sve dostupne značajke.

Korištenje klijenta

Klijent (client.py) demonstrira sve MCP mogućnosti:

python client.py

Ovo će se povezati na server i isprobati sve značajke uključujući alate, resurse i promptove. Izlaz će prikazati:

  1. Rezultat kalkulatora (5 + 7 = 12)
  2. Odgovor alata za dovršetak na pitanje "What is the meaning of life?"
  3. Popis dostupnih AI modela
  4. Personalizirani pozdrav za "MCP Explorer"
  5. Predložak prompta za pregled koda

Detalji implementacije

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 + b

Klijent 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})

Saznajte više

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.