Integrations
Enables environment-based configuration of API keys and server settings through .env file management
Supports development mode with automatic server reloading when code changes are detected
Provides access to OpenAI models (GPT) and DALL-E image generation through a unified API, supporting chat completions, legacy completions, and tool calling
Сервер протокола контекста модели (MCP)
Простая серверная реализация для протокола контекста модели, которая предоставляет унифицированный API для нескольких поставщиков моделей ИИ.
Функции
- Унифицированный API для нескольких поставщиков ИИ (Anthropic, OpenAI)
- Поддержка завершения чата и устаревших завершений
- Поддержка вызова инструмента
- Обработка контекстных/системных сообщений
- Конфигурация на основе среды
- База данных MongoDB для сохранения и управления состоянием
- История и аналитика выполнения инструмента
Установка
Скрипт настройки поможет вам настроить необходимые ключи API:
ANTHROPIC_API_KEY
- Для моделей КлодаOPENAI_API_KEY
— для моделей GPT и генерации образов DALL-ESTABILITY_API_KEY
— для генерации стабильного диффузионного изображенияGOOGLE_CSE_API_KEY
иGOOGLE_CSE_ID
— для функциональности веб-поискаBING_SEARCH_API_KEY
— для резервного веб-поиска
При желании вы также можете вручную отредактировать файл .env
.
Настройка MongoDB
Сервер MCP использует MongoDB для сохранения данных. У вас есть несколько вариантов настройки MongoDB:
Вариант 1: Автоматическая настройка (рекомендуется)
Запустите скрипт установки MongoDB, который проведет вас через весь процесс:
Этот скрипт:
- Проверьте, доступен ли Docker
- Запустите MongoDB с помощью Docker Compose (если доступно)
- Настройте соединение в вашем .env-файле
- Проверьте соединение с MongoDB
Вариант 2: Ручная настройка Docker
Самый простой способ начать работу с MongoDB — использовать включенную конфигурацию Docker Compose:
MongoDB будет доступен по адресу mongodb://mcpuser:mcppassword@localhost:27017/mcp-server
Mongo Express (веб-администратор) будет доступен по адресу http://localhost:8081
Вариант 3: Локальная установка MongoDB
Если вы предпочитаете установить MongoDB локально:
- Установите MongoDB с https://www.mongodb.com/try/download/community
- Запустите службу MongoDB
- Обновите файл
.env
следующим образом:Copy
Вариант 4: MongoDB Atlas (Облако)
Для производственного использования рекомендуется использовать MongoDB Atlas:
- Создайте учетную запись на https://www.mongodb.com/cloud/atlas
- Создать новый кластер
- Настройте пользователя базы данных и добавьте свой IP-адрес в белый список
- Получите строку подключения и обновите файл
.env
:Copy
Миграция базы данных
Чтобы перенести существующие данные в MongoDB:
Этот скрипт:
- Перенос определений инструментов в MongoDB
- Перенос конфигураций (например, ключей API) в MongoDB
- Импортируйте любые резервные данные, если таковые имеются.
Использование
Запустить сервер
Сервер будет работать по адресу http://localhost:3000 (или по порту, указанному вами в .env).
Параметры запуска
- Стандартный запуск (
npm start
):- Проверяет, настроены ли ключи API
- Запрашивает настройку, если ключи не найдены
- Рекомендуется для начинающих пользователей.
- Режим разработки (
npm run dev
):- Использует nodemon для автоматической перезагрузки при изменении кода
- Продолжает выполнять проверки окружающей среды
- Лучшее для развития
- Быстрый старт (
npm run quick-start
):- Обходит все проверки среды
- Немедленно запускает сервер
- Полезно, когда вы знаете, что ваша конфигурация верна.
- Режим производства PM2 (
npm run pm2:start:prod
):- Запускает сервер с помощью менеджера процессов PM2
- Автоматически перезапускается в случае сбоя сервера
- Оптимизировано для производственных сред
- Обходит проверки окружающей среды
Использование диспетчера процессов PM2
Сервер может работать с PM2, менеджером производственных процессов для приложений Node.js. PM2 предоставляет такие функции, как:
- Управление процессами (перезапуск при сбое)
- Управление журналами
- Мониторинг производительности
- Балансировка нагрузки (для нескольких экземпляров)
Команды PM2
Конфигурация PM2 хранится в файле ecosystem.config.js
. Вы можете изменить этот файл, чтобы изменить:
- Имя процесса
- Переменные среды
- Ограничения памяти
- Конфигурация развертывания
- Количество экземпляров (для балансировки нагрузки)
Конечные точки API
POST /mcp/:provider
Делайте запросы к моделям ИИ через унифицированный API.
Параметры URL:
provider
: Используемый поставщик ИИ (anthropic
илиopenai
)
Текст запроса:
ИЛИ (устаревший формат):
Ответ: возвращает необработанный ответ от API провайдера.
GET /tools/available
Получите полный список всех доступных инструментов с подробной информацией.
Параметры запроса:
format
- Формат ответа:json
(по умолчанию),yaml
,table
илиhtml
category
- Фильтрация инструментов по категории (необязательно)enabled
- Фильтр по статусу включения:true
(по умолчанию) илиfalse
search
- Поиск инструментов по названию, описанию или тегамprovider
- Фильтрация инструментов по поставщику (например,openai
,google
)limit
- Максимальное количество возвращаемых инструментов (для пагинации)offset
- Смещение для пагинации (по умолчанию: 0)
Ответ (формат JSON):
GET /health
Конечная точка проверки работоспособности, которая возвращает статус 200, если сервер работает.
Управление данными
Резервное копирование баз данных
Вы можете создавать и управлять резервными копиями баз данных:
Тестирование соединения с базой данных
Чтобы проверить настройку MongoDB:
Примеры клиентов
Клиент командной строки
Тестовый клиент включен в src/client.js
. Чтобы запустить его:
Веб-клиент
Простой веб-интерфейс доступен по адресу http://localhost:3000 , когда сервер запущен. Вы можете использовать его для тестирования API прямо из браузера.
Доступные инструменты
Сервер MCP предоставляет конечную точку обнаружения инструментов, которая позволяет пользователям и агентам ИИ программно перечислять все доступные инструменты:
Инструменты Discovery
GET /tools/available
— выводит список всех доступных инструментов с подробной информацией.
- Поддерживает несколько форматов: JSON, YAML, HTML и таблицы ASCII.
- Обеспечивает фильтрацию по категории, поставщику и поисковым запросам.
- Включает подробные метаданные и примеры использования для каждого инструмента.
Пример использования:
Инструменты веб-поиска
Сервер включает в себя встроенные инструменты веб-поиска и извлечения:
- Поиск в Интернете (
/tools/web/search
)- Поиск информации в Интернете по заданному запросу
- Параметры:
query
(обязательно),limit
(необязательно) - Требуется: переменные среды
GOOGLE_CSE_API_KEY
иGOOGLE_CSE_ID
- Возвращается к
BING_SEARCH_API_KEY
, если поиск Google не удался
- Веб-контент (
/tools/web/content
)- Извлечение и извлечение контента из определенного URL-адреса
- Параметры:
url
(обязательно),useCache
(необязательно)
- Веб-пакет (
/tools/web/batch
)- Параллельное извлечение контента из нескольких URL-адресов
- Параметры:
urls
(обязательный массив),useCache
(необязательно)
Инструменты создания изображений
Сервер также включает в себя инструменты для создания, редактирования и варьирования изображений:
- Создать изображение (
/tools/image/generate
)- Сгенерировать изображение на основе текстовой подсказки
- Параметры:
prompt
(обязательно): Подробное описание изображенияprovider
(необязательно):openai
илиstability
(по умолчаниюopenai
)options
(необязательно): параметры, зависящие от поставщика
- Редактировать изображение (
/tools/image/edit
)- Редактировать существующее изображение с помощью текстовой подсказки
- Параметры:
imagePath
(обязательно): Путь к редактируемому изображению.prompt
(обязательно): Описание вносимого измененияmaskPath
(необязательно): Путь к изображению маски
- Создать вариацию изображения (
/tools/image/variation
)- Создайте вариант существующего изображения
- Параметры:
imagePath
(обязательно): Путь к изображению для создания вариаций
Примечание: Чтобы использовать эти инструменты, вам необходимо установить ключи API в вашем файле
.env
:
- Для изображений OpenAI:
OPENAI_API_KEY
- Для изображений ИИ стабильности:
STABILITY_API_KEY
- Для веб-поиска:
GOOGLE_CSE_API_KEY
иGOOGLE_CSE_ID
Интеграция инструментов с моделями ИИ
Сервер MCP автоматически обрабатывает вызов и выполнение инструментов с моделями ИИ. Когда модель решает использовать инструмент, сервер:
- Выполняет запрошенный инструмент с указанными параметрами.
- Возвращает ответ инструмента на модель
- Затем модель может включить ответ инструмента в свой окончательный ответ.
Поиск инструментов для моделей ИИ
Модели ИИ могут использовать конечную точку /tools/available
чтобы узнать, какие инструменты доступны и как их использовать. Это особенно полезно для:
- Динамическое обнаружение инструментов во время выполнения
- Самодокументирование для агентов ИИ
- Предоставление возможности системам ИИ адаптироваться к имеющимся возможностям
Пример системного запроса для моделей ИИ:
Пример использования инструмента
Пример кода, демонстрирующий использование инструмента, можно найти в каталоге /examples
Добавление новых поставщиков или инструментов
Добавление новых поставщиков ИИ
Чтобы добавить новых поставщиков ИИ:
- Добавьте SDK провайдера в проект
- Создайте новую функцию-обработчик в
server.js
- Добавить новый случай в обработчик основного маршрута
Добавление новых инструментов
Чтобы добавить новые инструменты на сервер:
- Создайте новую реализацию инструмента в каталоге
/src/tools
- Добавьте определение инструмента в
tool-definitions.js
- Обновите функции выполнения инструмента в
server.js
- Добавить новые конечные точки API для прямого использования инструмента (при необходимости)
Лицензия
МСК
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Унифицированный сервер API, который обеспечивает взаимодействие с несколькими поставщиками моделей ИИ, такими как Anthropic и OpenAI, через единый интерфейс, поддерживающий завершение чата, вызов инструментов и обработку контекста.
Related MCP Servers
- -securityAlicense-qualityThis server facilitates the invocation of AI models from providers like Anthropic, OpenAI, and Groq, enabling users to manage and configure large language model interactions seamlessly.Last updated -4PythonMIT License
- -security-license-qualityAn open standard server implementation that enables AI assistants to directly access APIs and services through Model Context Protocol, built using Cloudflare Workers for scalability.Last updated -TypeScript
- -securityFlicense-qualityA modern AI service proxy that enables interaction with multiple AI providers (Anthropic Claude, OpenAI) through a unified API, deployed globally using Cloudflare Workers.Last updated -13TypeScript
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with the Omi API for retrieving and creating conversations and memories for users.Last updated -4TypeScript