Skip to content

Latest commit

 

History

History
162 lines (120 loc) · 8.91 KB

File metadata and controls

162 lines (120 loc) · 8.91 KB

Пълни примери за MCP клиенти

Тази директория съдържа пълни, работещи примери за MCP клиенти на различни програмни езици. Всеки клиент демонстрира пълната функционалност, описана в основния урок README.md.

Налични клиенти

1. Java клиент (client_example_java.java)

  • Транспорт: SSE (Server-Sent Events) през HTTP
  • Целеви сървър: http://localhost:8080
  • Функции:
    • Установяване на връзка и ping
    • Списък с инструменти
    • Операции с калкулатор (събиране, изваждане, умножение, деление, помощ)
    • Обработка на грешки и извличане на резултати

За изпълнение:

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

2. C# клиент (client_example_csharp.cs)

  • Транспорт: Stdio (Стандартен вход/изход)
  • Целеви сървър: Локален .NET MCP сървър чрез dotnet run
  • Функции:
    • Автоматично стартиране на сървъра чрез stdio транспорт
    • Списък с инструменти и ресурси
    • Операции с калкулатор
    • Парсиране на JSON резултати
    • Изчерпателна обработка на грешки

За изпълнение:

dotnet run

3. TypeScript клиент (client_example_typescript.ts)

  • Транспорт: Stdio (Стандартен вход/изход)
  • Целеви сървър: Локален Node.js MCP сървър
  • Функции:
    • Пълна поддръжка на MCP протокола
    • Операции с инструменти, ресурси и подканвания
    • Операции с калкулатор
    • Четене на ресурси и изпълнение на подканвания
    • Надеждна обработка на грешки

За изпълнение:

# First compile TypeScript (if needed)
npm run build

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

4. Python клиент (client_example_python.py)

  • Транспорт: Stdio (Стандартен вход/изход)
  • Целеви сървър: Локален Python MCP сървър
  • Функции:
    • Async/await модел за операции
    • Откриване на инструменти и ресурси
    • Тестване на операции с калкулатор
    • Четене на съдържание на ресурси
    • Организация на базата на класове

За изпълнение:

python client_example_python.py

Общи функции за всички клиенти

Всяка имплементация на клиент демонстрира:

  1. Управление на връзката

    • Установяване на връзка със MCP сървъра
    • Обработка на грешки при връзка
    • Правилно почистване и управление на ресурси
  2. Откриване на сървъра

    • Списък с налични инструменти
    • Списък с налични ресурси (където е поддържано)
    • Списък с налични подканвания (където е поддържано)
  3. Извикване на инструменти

    • Основни операции с калкулатор (събиране, изваждане, умножение, деление)
    • Команда за помощ за информация за сървъра
    • Правилно предаване на аргументи и обработка на резултати
  4. Обработка на грешки

    • Грешки при връзка
    • Грешки при изпълнение на инструменти
    • Грациозно справяне с проблеми и обратна връзка към потребителя
  5. Обработка на резултати

    • Извличане на текстово съдържание от отговори
    • Форматиране на изхода за четимост
    • Обработка на различни формати на отговори

Предварителни условия

Преди да изпълните тези клиенти, уверете се, че имате:

  1. Стартиран съответен MCP сървър (от ../01-first-server/)
  2. Инсталирани необходимите зависимости за избрания език
  3. Правилна мрежова свързаност (за транспорти, базирани на HTTP)

Основни разлики между имплементациите

Език Транспорт Стартиране на сървъра Модел Async Основни библиотеки
Java SSE/HTTP Външно Синхронен WebFlux, MCP SDK
C# Stdio Автоматично Async/Await .NET MCP SDK
TypeScript Stdio Автоматично Async/Await Node MCP SDK
Python Stdio Автоматично AsyncIO Python MCP SDK
Rust Stdio Автоматично Async/Await Rust MCP SDK, Tokio

Следващи стъпки

След като разгледате тези примери за клиенти:

  1. Модифицирайте клиентите, за да добавите нови функции или операции
  2. Създайте свой собствен сървър и го тествайте с тези клиенти
  3. Експериментирайте с различни транспорти (SSE срещу Stdio)
  4. Изградете по-сложно приложение, което интегрира MCP функционалност

Отстраняване на проблеми

Чести проблеми

  1. Връзката е отказана: Уверете се, че MCP сървърът работи на очаквания порт/път
  2. Модулът не е намерен: Инсталирайте необходимия MCP SDK за вашия език
  3. Достъпът е отказан: Проверете разрешенията за файлове за stdio транспорт
  4. Инструментът не е намерен: Уверете се, че сървърът имплементира очакваните инструменти

Съвети за дебъгване

  1. Активирайте подробен логинг във вашия MCP SDK
  2. Проверете логовете на сървъра за съобщения за грешки
  3. Уверете се, че имената и подписите на инструментите съвпадат между клиента и сървъра
  4. Тествайте първо с MCP Inspector, за да валидирате функционалността на сървъра

Свързана документация

Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.