MonkeyMCP

by jamesmontemagno (community) · Claude Desktop, Claude Code, OpenCode, любой MCP-клиент, Windows, macOS, Linux, .NET 9.0, Docker

MCP MCP Servers Open Source v2.0.3 · 07.10.2025 активный

Компактный MCP-сервер от автора библиотеки Xamarin/.NET MAUI Community Toolkit — набор небольших разработческих утилит для AI-агентов.

v2.0.3
07.10.2025 current

Установка
# Клонировать репозиторий
git clone <url-репозитория>
# Перейти в каталог проекта
cd MonkeyMCP
# Собрать проект
dotnet build

# Альтернатива: запустить готовый Docker-контейнер
docker run -i --rm jamesmontemagno/monkeymcp
показать оригинал переведено ИИ

Monkey - сервер Model Context Protocol (MCP)

Обзор

Это реализация сервера Model Context Protocol (MCP), созданная с использованием .NET 9.0. Сервер MCP предоставляет протокол связи для упрощения взаимодействия между различными компонентами в системе, управляемой моделями. Данная реализация демонстрирует, как настроить базовый сервер MCP с пользовательскими инструментами и службами.

Попробовать

Быстрая установка для VS Code и VS

Установить удалённый сервер в VS Code Установить удалённый сервер в VS Code Insiders

Установить Docker-контейнер в VS Code Установить Docker-контейнер в VS Code Insiders

Установить удалённый сервер в Visual Studio Установить Docker-контейнер в Visual Studio

Настройте в VS Code с GitHub Copilot, Claude Desktop или другими MCP-клиентами:

Вариант 1: Удалённый сервер Azure Functions (рекомендуется)

{
    "servers": {
        "monkeymcp": {
            "url": "https://func-monkeymcp-3t4eixuap5dfm.azurewebsites.net/",
            "type": "http"
        }
    },
    "inputs": []
}

Вариант 2: Docker-контейнер

{
    "inputs": [],
    "servers": {
        "monkeymcp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "jamesmontemagno/monkeymcp"
            ],
            "env": {}
        }
    }
}

Возможности

Основные компоненты

  • Сервер MCP: Создан с использованием библиотеки ModelContextProtocol (версия 0.1.0-preview.2)
  • Транспорт через стандартный ввод-вывод: Использует stdio для связи с клиентами
  • Интеграция пользовательских инструментов: Включает примеры создания и регистрации инструментов MCP

Службы

  • MonkeyService: Пример службы, которая получает данные об обезьянах из конечной точки API
    • Предоставляет методы для получения списка всех обезьян или поиска конкретной обезьяны по имени
    • Кэширует результаты для повышения производительности
  • MonkeyLocationService: Служба, которая генерирует уникальные путешествия и активности для обезьян
    • Создаёт случайные точки маршрута на основе поведения вида обезьян
    • Генерирует активности, специфичные для вида (чистка шерсти, рычание, купание в горячих источниках и т. д.)
    • Предоставляет статистику здоровья и паттерны перемещения
    • Каждое путешествие включает весёлые активности, такие как поедание бананов, чистка других обезьян и исследование

Доступные инструменты

Сервер предоставляет несколько инструментов, которые могут быть вызваны клиентами:

Инструменты для обезьян

  • GetMonkeys: Возвращает сериализованный в JSON список всех доступных обезьян
  • GetMonkey: Извлекает информацию о конкретной обезьяне по имени
  • GetMonkeyJourney: Создаёт уникальный маршрут путешествия с активностями и статистикой здоровья для конкретной обезьяны
  • GetAllMonkeyJourneys: Генерирует маршруты путешествий для всех доступных обезьян

Параметры конфигурации

Конфигурация хостинга

Сервер использует Microsoft.Extensions.Hosting (версия 9.0.3), который предоставляет: - Конфигурацию из нескольких источников (JSON, переменные окружения, командная строка) - Внедрение зависимостей для служб - Возможности логирования


Параметры логирования

Доступно несколько провайдеров логирования: - Консоль: записывает в стандартный вывод - Отладка: журналы для целей отладки - Журнал событий: записывает в системный журнал событий (при работе в Windows) - Источник событий: обеспечивает интеграцию с ETW (трассировка событий для Windows)

Начало работы

Предварительные требования

  • .NET 9.0 SDK или новее
  • Базовое понимание протокола Model Context Protocol (MCP)

Запуск сервера

  1. Клонируйте этот репозиторий
  2. Перейдите в каталог проекта
  3. Соберите проект: dotnet build
  4. Настройте с помощью VS Code или другого клиента:
"monkeyserver": {
    "type": "stdio",
    "command": "dotnet",
    "args": [
        "run",
        "--project",
        "/Users/jamesmontemagno/GitHub/TestMCP/MonkeyMCP/MonkeyMCP.csproj"
    ]
}

Обновите путь к проекту

Расширение сервера

Чтобы добавить пользовательские инструменты: 1. Создайте класс и отметьте его атрибутом [McpServerToolType] 2. Добавьте методы с атрибутом [McpServerTool] 3. При необходимости добавьте атрибуты [Description] для предоставления документации

Пример:

[McpServerToolType]
public static class CustomTool
{
    [McpServerTool, Description("Description of what the tool does")]
    public static string ToolMethod(string param) => $"Result: {param}";
}

Реализация Server-Sent Events (MonkeyMCPSSE)

Обзор

Проект MonkeyMCPSSE предоставляет альтернативную реализацию сервера Monkey MCP с использованием Server-Sent Events (SSE) через HTTP вместо транспорта stdio. Эта реализация работает как веб-сервер, что делает её идеальной для веб-клиентов и сценариев, требующих HTTP-коммуникации.

Узнайте больше о лучших практиках безопасности SSE здесь

Возможности

  • Транспорт на основе HTTP: по умолчанию работает на http://localhost:3001
  • Server-Sent Events: обеспечивает одностороннюю связь в реальном времени от сервера к клиенту
  • Интеграция с ASP.NET Core: построена с использованием возможностей веб-сервера ASP.NET Core
  • MCP поверх HTTP: реализует протокол Model Context Protocol поверх HTTP-транспорта

Запуск SSE-сервера

  1. Перейдите в каталог MonkeyMCPSSE
  2. Соберите и запустите проект:
  3. Подключитесь и запустите в VS Code или с помощью MCP Inspector npx @modelcontextprotocol/inspector

Детали реализации

Реализация SSE использует встроенные возможности веб-сервера ASP.NET Core, сохраняя при этом тот же сервис данных о макаках и инструменты, что и в версии stdio. Это упрощает переключение между методами транспорта, сохраняя основную функциональность нетронутой.

Структура проекта

  • /MonkeyMCP: основной каталог проекта
    • MonkeyService.cs: реализация сервиса для получения данных о макаках
    • MonkeyTools.cs: инструменты MCP для доступа к данным о макаках
    • Program.cs: точка входа, которая настраивает и запускает сервер MCP

Зависимости

  • Microsoft.Extensions.Hosting (9.0.3): предоставляет инфраструктуру хостинга
  • ModelContextProtocol (0.1.0-preview.2): реализация сервера MCP
  • System.Text.Json (9.0.3): сериализация/десериализация JSON

Лицензия

Этот проект доступен под лицензией MIT.

Возможности MonkeyLocationService

Сервис MonkeyLocationService предоставляет богатые возможности симуляции:

Конфигурации типов макак

  • Бабуины: обитатели саванны с социальным поведением ухаживания и поиском корней
  • Ревуны: лесные жители, известные территориальным ревом и поеданием листьев
  • Японские макаки: горные макаки, которые любят горячие источники и игры в снегу
  • Носачи: специалисты по манграм, которые плавают и демонстрируют свои отличительные носы
  • Золотые коротконосые макаки: высокогорные акробаты, которые прижимаются друг к другу для обогрева

Компоненты путешествия

  • Точки пути: GPS-координаты, показывающие, где побывала макака
  • Деятельность: поведение, специфичное для вида, с затратами/выгодами энергии
  • Показатели здоровья: энергия, счастье, голод, социализация, стресс и метрики здоровья
  • Отслеживание времени: время начала/окончания и длительность активности
  • Расчёт расстояния: общее расстояние путешествия с использованием формулы гаверсинуса (Haversine)

Уникальные виды деятельности включают

  • Поиск и поедание бананов
  • Сессии взаимного груминга
  • Маркировка территории
  • Купание в горячих источниках (макаки)
  • Плавание (носачи)
  • Акробатические выступления
  • Социальные взаимодействия
  • Поиск пропитания и исследование
Войдите, чтобы оставить комментарий