Remote MCP Server

by roboulos

Integrations

  • Hosts the MCP server infrastructure, allowing deployment and execution of the remote MCP server

Сервер Snappy MCP с интеграцией Xano

Удаленный сервер MCP, построенный на Cloudflare Workers с интеграцией базы данных Xano для управления инструментами, отслеживания сеансов и OAuth. Теперь с полной поддержкой новейшего транспортного протокола Streamable HTTP (2024-11-05).

Развивайтесь локально

# clone the repository git clone https://github.com/roboulos/remote-mcp-server.git # install dependencies cd remote-mcp-server npm install # Configure Xano API Key # Add your Xano API key to wrangler.jsonc in the XANO_API_KEY variable # run locally npm run dev

Вы должны иметь возможность открыть http://localhost:8787/ в своем браузере.

Подключитесь к вашему MCP-серверу

Использование MCP Inspector (устаревшая версия)

Чтобы исследовать новый API MCP с помощью старого транспорта SSE, вы можете использовать MCP Inspector .

  • Запустите его с помощью npx @modelcontextprotocol/inspector
  • В инспекторе измените тип транспорта на SSE и введите http://localhost:8787/sse в качестве URL-адреса сервера MCP для подключения, затем нажмите «Подключиться».
  • Вы перейдете на экран входа в систему (фиктивный) пользователя/пароля. Введите любой адрес электронной почты и пароль для входа.
  • Вас перенаправят обратно в MCP Inspector, и теперь вы сможете просматривать и вызывать любые определенные инструменты!

Использование Workers AI Playground (потоковый HTTP)

Для тестирования с использованием новейшего транспортного протокола Streamable HTTP:

  1. Посетите игровую площадку Workers AI
  2. При появлении запроса на подключение к серверу MCP введите URL-адрес конечной точки:
    https://remote-mcp-server.robertjboulos.workers.dev/mcp
    или для локального тестирования:
    http://localhost:8787/mcp
  3. При появлении соответствующего запроса введите учетные данные для аутентификации:
    • auth_token : Ваш токен аутентификации Xano
    • user_id : Ваш идентификатор пользователя Xano
  4. Playground будет автоматически управлять сеансами с использованием нового протокола.

Подключите Claude Desktop к локальному серверу MCP

Устаревший транспорт SSE

Чтобы подключиться с использованием старого транспорта SSE, следуйте краткому руководству Anthropic и в Claude Desktop перейдите в Настройки > Разработчик > Изменить конфигурацию, чтобы найти файл конфигурации.

Откройте файл в текстовом редакторе и замените его следующей конфигурацией:

{ "mcpServers": { "math": { "command": "npx", "args": [ "mcp-remote", "http://localhost:8787/sse" ] } } }

Это запустит локальный прокси-сервер и позволит Клоду взаимодействовать с вашим сервером MCP по протоколу HTTP.

Потоковый HTTP-транспорт (рекомендуется)

Чтобы использовать новый, более эффективный потоковый HTTP-транспорт с Claude Desktop, обновите конфигурацию, чтобы вместо этого использовать конечную точку /mcp :

{ "mcpServers": { "xano": { "remoteUrl": "http://localhost:8787/mcp", "auth": { "type": "bearer", "token": "YOUR_XANO_AUTH_TOKEN" }, "headers": { "x-user-id": "YOUR_USER_ID" } } } }

Замените YOUR_XANO_AUTH_TOKEN и YOUR_USER_ID своими реальными учетными данными.

Когда вы открываете Claude, должно открыться окно браузера, позволяющее вам войти в систему. Вы должны увидеть доступные инструменты в правом нижнем углу. Получив правильный запрос, Claude должен попросить вызвать инструмент.

Интеграция Xano

Этот сервер MCP использует Xano в качестве бэкэнда для:

  1. Управление инструментами : определите инструменты в таблице ____mcp_tools Xano, и они будут автоматически зарегистрированы на сервере MCP.
  2. Отслеживание сеансов : все сеансы MCP отслеживаются в таблице ___mcp_sessions с уникальными идентификаторами сеансов.
  3. Аутентификация OAuth : токены и состояния OAuth хранятся в таблицах Xano ___oauth_tokens и ___oauth_states
  4. Ведение журнала : все запросы MCP регистрируются в таблице ___mcp_logs

Реализация потокового HTTP

На этом сервере реализована новейшая модель контекстного протокола потоковой передачи HTTP (2024-11-05) со следующими функциями:

Методы аутентификации

Сервер поддерживает несколько механизмов аутентификации для максимальной совместимости:

  1. Параметры URL : ?auth_token=xxx&user_id=yyy (устаревший метод)
  2. Заголовок авторизации : Authorization: Bearer xxx с заголовком x-user-id (современный метод)
  3. Текст запроса : параметры аутентификации могут быть включены в полезную нагрузку инициализации.

Управление сеансом

Сервер обрабатывает идентификаторы сеансов в соответствии с последней спецификацией:

  1. Создание сеанса : сервер генерирует уникальный идентификатор сеанса для новых подключений.
  2. Отслеживание сеанса : клиенты сохраняют этот идентификатор и включают его в будущие запросы как ?sessionId=xxx
  3. Сохранение состояния : каждый сеанс сохраняет свое состояние в Xano, которое сохраняется между запросами.

Соответствие протоколу

Реализация включает в себя надлежащую поддержку:

  1. Унифицированная конечная точка сообщения : поддержка шаблона конечной точки /mcp/message
  2. Заголовки протокола : все ответы включают соответствующие заголовки, такие как MCP-Available-Transports
  3. SSE Streaming : улучшенная поддержка SSE для потоковых ответов
  4. Формат ответа : стандартный формат JSON-RPC 2.0 с расширениями, специфичными для протокола.

Настройка Xano

  1. Создайте проект Xano с необходимыми таблицами (см. схему базы данных)
  2. Создайте конечные точки API для:
    • /api/tools - GET - Список всех инструментов
    • /api/tools/execute/{tool_name} - POST - Выполнить определенный инструмент
    • /api/sessions - POST - Создать новый сеанс
    • /api/sessions/update-activity - PUT - Обновление активности сеанса
    • /api/oauth/tokens - POST - Сохранить токены OAuth
    • /api/oauth/tokens/{user_id}/{provider} - GET - Получить токены OAuth
    • /api/oauth/states - POST - Сохранение состояний OAuth
    • /api/oauth/states/{state} - GET - Проверка состояний OAuth
    • /api/logs - POST - Журнал запросов MCP

Развертывание в Cloudflare

  1. npx wrangler kv namespace create OAUTH_KV
  2. Следуйте инструкциям, чтобы добавить идентификатор пространства имен kv в wrangler.jsonc
  3. Добавьте свой ключ API Xano в переменную XANO_API_KEY в wrangler.jsonc
  4. npm run deploy

Вызовите недавно развернутый удаленный сервер MCP с удаленного клиента MCP

Так же, как вы делали выше в разделе «Локальная разработка», запустите инспектор MCP:

npx @modelcontextprotocol/inspector@latest

Затем введите URL-адрес workers.dev (например: worker-name.account-name.workers.dev/sse ) вашего Worker в инспекторе в качестве URL-адреса сервера MCP для подключения и нажмите «Подключиться».

Теперь вы подключились к своему серверу MCP с удаленного клиента MCP.

Подключите Claude Desktop к удаленному серверу MCP

Обновите файл конфигурации Claude, чтобы он указывал на URL-адрес вашего workers.dev (например: worker-name.account-name.workers.dev/sse ), и перезапустите Claude.

{ "mcpServers": { "math": { "command": "npx", "args": [ "mcp-remote", "https://worker-name.account-name.workers.dev/sse" ] } } }

Отладка

Если что-то пойдет не так, может быть полезно перезапустить Claude или попробовать подключиться напрямую к вашему серверу MCP через командную строку с помощью следующей команды.

npx mcp-remote http://localhost:8787/sse

В некоторых редких случаях может помочь очистка файлов, добавленных в ~/.mcp-auth

rm -rf ~/.mcp-auth

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    A Cloudflare Workers-based implementation of the Model Context Protocol server with OAuth login, allowing Claude and other MCP clients to connect to remote tools.
    Last updated -
    TypeScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that runs on Cloudflare Workers with OAuth login, allowing AI assistants like Claude to execute tools remotely through HTTP connections.
    Last updated -
    TypeScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server implementation that runs on Cloudflare Workers with OAuth login, allowing Claude and other AI models to access tools via the MCP standard.
    Last updated -
    TypeScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that runs on Cloudflare Workers, supporting OAuth login and enabling Claude AI to access remote tools and services via MCP.
    Last updated -
    TypeScript

View all related MCP servers

ID: vep91feta1