Skip to content

Latest commit

 

History

History
171 lines (129 loc) · 5.81 KB

File metadata and controls

171 lines (129 loc) · 5.81 KB

Komplette MCP-klienteksempler

Denne mappe indeholder komplette, fungerende eksempler på MCP-klienter i forskellige programmeringssprog. Hver klient demonstrerer den fulde funktionalitet, der er beskrevet i hovedvejledningen README.md.

Tilgængelige klienter

1. Java-klient (client_example_java.java)

  • Transport: SSE (Server-Sent Events) over HTTP
  • Målserver: http://localhost:8080
  • Funktioner:
    • Oprettelse af forbindelse og ping
    • Liste over værktøjer
    • Regnefunktioner (plus, minus, gange, dividere, hjælp)
    • Fejlhåndtering og resultatudtrækning

Sådan køres:

# Ensure your MCP server is running on localhost:8080
javac client_example_java.java
java client_example_java

2. C#-klient (client_example_csharp.cs)

  • Transport: Stdio (Standard Input/Output)
  • Målserver: Lokal .NET MCP-server via dotnet run
  • Funktioner:
    • Automatisk serverstart via stdio-transport
    • Liste over værktøjer og ressourcer
    • Regnefunktioner
    • JSON-resultatparsing
    • Omfattende fejlhåndtering

Sådan køres:

dotnet run

3. TypeScript-klient (client_example_typescript.ts)

  • Transport: Stdio (Standard Input/Output)
  • Målserver: Lokal Node.js MCP-server
  • Funktioner:
    • Fuld MCP-protokolunderstøttelse
    • Værktøjs-, ressource- og promptoperationer
    • Regnefunktioner
    • Læsning af ressourcer og udførelse af prompts
    • Robust fejlhåndtering

Sådan køres:

# First compile TypeScript (if needed)
npm run build

# Then run the client
npm run client
# or
node client_example_typescript.js

4. Python-klient (client_example_python.py)

  • Transport: Stdio (Standard Input/Output)
  • Målserver: Lokal Python MCP-server
  • Funktioner:
    • Async/await-mønster til operationer
    • Opdagelse af værktøjer og ressourcer
    • Test af regnefunktioner
    • Læsning af ressourceindhold
    • Klassebaseret organisering

Sådan køres:

python client_example_python.py

Fælles funktioner på tværs af alle klienter

Hver klientimplementering demonstrerer:

  1. Forbindelseshåndtering

    • Oprettelse af forbindelse til MCP-serveren
    • Håndtering af forbindelsesfejl
    • Korrekt oprydning og ressourcehåndtering
  2. Serveropdagelse

    • Liste over tilgængelige værktøjer
    • Liste over tilgængelige ressourcer (hvor understøttet)
    • Liste over tilgængelige prompts (hvor understøttet)
  3. Værktøjsanvendelse

    • Grundlæggende regnefunktioner (plus, minus, gange, dividere)
    • Hjælpekommando for serverinformation
    • Korrekt argumentoverførsel og resultathåndtering
  4. Fejlhåndtering

    • Forbindelsesfejl
    • Fejl ved værktøjsudførelse
    • Graciøs fejlhåndtering og brugerfeedback
  5. Resultatbehandling

    • Udtrækning af tekstindhold fra svar
    • Formatering af output for læsbarhed
    • Håndtering af forskellige svarformater

Forudsætninger

Før du kører disse klienter, skal du sikre dig:

  1. Den tilsvarende MCP-server kører (fra ../01-first-server/)
  2. Nødvendige afhængigheder er installeret for det valgte sprog
  3. Korrekt netværksforbindelse (for HTTP-baserede transporter)

Vigtige forskelle mellem implementeringer

Sprog Transport Serverstart Async-model Nøglebiblioteker
Java SSE/HTTP Ekstern 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

Næste skridt

Efter at have udforsket disse klienteksempler:

  1. Tilpas klienterne for at tilføje nye funktioner eller operationer
  2. Opret din egen server og test den med disse klienter
  3. Eksperimentér med forskellige transporter (SSE vs. Stdio)
  4. Byg en mere kompleks applikation der integrerer MCP-funktionalitet

Fejlfinding

Almindelige problemer

  1. Forbindelse nægtet: Sørg for, at MCP-serveren kører på den forventede port/sti
  2. Modul ikke fundet: Installer det nødvendige MCP SDK for dit sprog
  3. Adgang nægtet: Tjek filrettigheder for stdio-transport
  4. Værktøj ikke fundet: Bekræft, at serveren implementerer de forventede værktøjer

Debug-tips

  1. Aktivér detaljeret logning i dit MCP SDK
  2. Tjek serverlogfiler for fejlmeddelelser
  3. Bekræft værktøjsnavne og signaturer stemmer overens mellem klient og server
  4. Test med MCP Inspector først for at validere serverfunktionalitet

Relateret dokumentation

Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på nøjagtighed, skal det bemærkes, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi er ikke ansvarlige for eventuelle misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.