Det här arkivet innehåller en Python-implementation av Model Context Protocol (MCP), som visar hur man skapar både en server- och klientapplikation som kommunicerar med MCP-standarden.
MCP-implementationen består av två huvudkomponenter:
-
MCP Server (
server.py) – En server som tillhandahåller:- Tools: Funktioner som kan anropas på distans
- Resources: Data som kan hämtas
- Prompts: Mallar för att generera prompts till språkmodeller
-
MCP Client (
client.py) – En klientapplikation som ansluter till servern och använder dess funktioner
Denna implementation visar flera viktiga MCP-funktioner:
completion– Genererar textkompletteringar från AI-modeller (simulerat)add– Enkel kalkylator som adderar två tal
models://– Returnerar information om tillgängliga AI-modellergreeting://{name}– Returnerar en personlig hälsning för ett givet namn
review_code– Genererar en prompt för kodgranskning
För att använda denna MCP-implementation, installera de nödvändiga paketen:
pip install mcp-server mcp-clientKör servern i ett terminalfönster:
python server.pyServern kan även köras i utvecklingsläge med MCP CLI:
mcp dev server.pyEller installeras i Claude Desktop (om tillgängligt):
mcp install server.pyKör klienten i ett annat terminalfönster:
python client.pyDetta ansluter till servern och demonstrerar alla tillgängliga funktioner.
Klienten (client.py) visar alla MCP-funktioner:
python client.pyDetta ansluter till servern och testar alla funktioner inklusive tools, resources och prompts. Utdata visar:
- Resultatet från kalkylatorn (5 + 7 = 12)
- Svar från completions-tool på "What is the meaning of life?"
- Lista över tillgängliga AI-modeller
- Personlig hälsning för "MCP Explorer"
- Mall för kodgranskningsprompt
Servern är implementerad med FastMCP API:et, som erbjuder högre abstraktioner för att definiera MCP-tjänster. Här är ett förenklat exempel på hur tools definieras:
@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 + bKlienten använder MCP client-biblioteket för att ansluta till och anropa servern:
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})För mer information om MCP, besök: https://modelcontextprotocol.io/
Ansvarsfriskrivning:
Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, vänligen var medveten om att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.