Den här katalogen innehåller kompletta, fungerande exempel på MCP-klienter i olika programmeringsspråk. Varje klient demonstrerar den fullständiga funktionaliteten som beskrivs i huvudhandledningen README.md.
- Transport: SSE (Server-Sent Events) över HTTP
- Målsystem:
http://localhost:8080 - Funktioner:
- Upprätta anslutning och ping
- Verktygslistning
- Kalkylatoroperationer (addera, subtrahera, multiplicera, dividera, hjälp)
- Felhantering och resultatutvinning
För att köra:
# Ensure your MCP server is running on localhost:8080
javac client_example_java.java
java client_example_java- Transport: Stdio (Standard Input/Output)
- Målsystem: Lokal .NET MCP-server via dotnet run
- Funktioner:
- Automatisk serverstart via stdio-transport
- Verktygs- och resurslistning
- Kalkylatoroperationer
- JSON-resultatparsing
- Omfattande felhantering
För att köra:
dotnet run- Transport: Stdio (Standard Input/Output)
- Målsystem: Lokal Node.js MCP-server
- Funktioner:
- Fullt stöd för MCP-protokoll
- Verktygs-, resurs- och promptoperationer
- Kalkylatoroperationer
- Resursläsning och promptkörning
- Robust felhantering
För att köra:
# First compile TypeScript (if needed)
npm run build
# Then run the client
npm run client
# or
node client_example_typescript.js- Transport: Stdio (Standard Input/Output)
- Målsystem: Lokal Python MCP-server
- Funktioner:
- Async/await-mönster för operationer
- Upptäckt av verktyg och resurser
- Testning av kalkylatoroperationer
- Läsning av resursinnehåll
- Klassbaserad organisation
För att köra:
python client_example_python.pyVarje klientimplementering demonstrerar:
-
Anslutningshantering
- Upprätta anslutning till MCP-servern
- Hantera anslutningsfel
- Rätt städning och resursförvaltning
-
Serverupptäckt
- Lista tillgängliga verktyg
- Lista tillgängliga resurser (där det stöds)
- Lista tillgängliga prompts (där det stöds)
-
Verktygsanrop
- Grundläggande kalkylatoroperationer (addera, subtrahera, multiplicera, dividera)
- Hjälpkommando för serverinformation
- Korrekt argumentöverföring och resultatbehandling
-
Felhantering
- Anslutningsfel
- Fel vid verktygskörning
- Smidig hantering av fel och användarfeedback
-
Resultatbehandling
- Extrahera textinnehåll från svar
- Formatera utdata för läsbarhet
- Hantera olika svarformat
Innan du kör dessa klienter, se till att du har:
- Den motsvarande MCP-servern igång (från
../01-first-server/) - Nödvändiga beroenden installerade för ditt valda språk
- Korrekt nätverksanslutning (för HTTP-baserade transporter)
| Språk | Transport | Serverstart | Async-modell | Nyckelbibliotek |
|---|---|---|---|---|
| Java | SSE/HTTP | Extern | Synkron | WebFlux, MCP SDK |
| C# | Stdio | Automatisk | Async/Await | .NET MCP SDK |
| TypeScript | Stdio | Automatisk | Async/Await | Node MCP SDK |
| Python | Stdio | Automatisk | AsyncIO | Python MCP SDK |
| Rust | Stdio | Automatisk | Async/Await | Rust MCP SDK, Tokio |
Efter att ha utforskat dessa klientexempel:
- Modifiera klienterna för att lägga till nya funktioner eller operationer
- Skapa din egen server och testa den med dessa klienter
- Experimentera med olika transporter (SSE vs. Stdio)
- Bygg en mer komplex applikation som integrerar MCP-funktionalitet
- Anslutning nekad: Kontrollera att MCP-servern körs på den förväntade porten/sökvägen
- Modul saknas: Installera det nödvändiga MCP SDK för ditt språk
- Åtkomst nekad: Kontrollera filbehörigheter för stdio-transport
- Verktyg saknas: Verifiera att servern implementerar de förväntade verktygen
- Aktivera detaljerad loggning i ditt MCP SDK
- Kontrollera serverloggar för felmeddelanden
- Verifiera verktygsnamn och signaturer matchar mellan klient och server
- Testa med MCP Inspector först för att validera serverfunktionalitet
- Huvudhandledning för klienter
- Exempel på MCP-servrar
- MCP med LLM-integration
- Officiell MCP-dokumentation
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 notera att automatiserade översättningar kan innehålla fel eller inexaktheter. Det ursprungliga dokumentet på dess originalspråk 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.