Skip to main content
Glama
sam-14uel

ChatATP Studio MCP Server

by sam-14uel

ChatATP Studio MCP Server

Удалённый FastMCP-сервер, который превращает Django /dapi/ API Studio в MCP-инструменты.

Публичный URL, для которого создан этот проект:

https://mcp.chat-atp.com/studio/mcp

Клиенты (Cursor, Claude, Copilot, ChatATP agents) подключаются к нему через Streamable HTTP. Каждый вызов инструмента проксируется на ваш существующий бэкенд с заголовком Authorization вызывающего.

Что вы получаете

Ориентированные на действия инструменты для:

  • Агентов (list_agents, create_agent, preview_agent, ...)

  • Баз знаний + вложений агентов

  • Определений MCP-серверов + подключений

  • HTTP API инструментов + execute_http_api_connection

  • LLM-провайдеров + конфигураций API-ключей

  • Платформ обмена сообщениями

  • Команд / whoami

Удаления и отключения требуют confirm=true.

Related MCP server: AnythingLLM MCP Server

Локальный запуск

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

export STUDIO_API_URL=https://chatatp-agent-builder-backend.onrender.com
export STUDIO_TOKEN=chatatp_sk_...   # optional fallback
uvicorn app:app --host 0.0.0.0 --port 8000

Проверка:

curl http://localhost:8000/health

MCP-эндпоинт:

http://localhost:8000/studio/mcp

Аутентификация

  1. Предпочтительно: MCP-клиент отправляет
    Authorization: Bearer <studio jwt or chatatp_sk_...>
    Сервер передаёт этот заголовок в /dapi/.

  2. Запасной вариант: STUDIO_TOKEN / STUDIO_API_KEY в переменных окружения (однотенантный / внутренний).

Не закладывайте клиентские токены в образ.

Деплой на mcp.chat-atp.com/studio/mcp

Направьте хост mcp.chat-atp.com на этот сервис с сохранением пути. MCP_PATH по умолчанию равен /studio/mcp, поэтому процесс должен владеть этим именем хоста (или получать /studio/mcp без удаления префикса).

Docker

docker build -t chatatp-studio-mcp .
docker run --rm -p 8000:8000 \
  -e STUDIO_API_URL=https://chatatp-agent-builder-backend.onrender.com \
  -e STUDIO_TOKEN=... \
  chatatp-studio-mcp

Render

В этом репозитории есть render.yaml. После деплоя настройте Cloudflare/DNS:

mcp.chat-atp.com  →  <your-render-service>.onrender.com

Если на mcp.chat-atp.com уже есть что-то другое, а вам нужен здесь только /studio/*, используйте reverse-прокси без удаления префикса:

location /studio/ {
    proxy_pass http://studio-mcp:8000;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header Authorization $http_authorization;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_buffering off;
    proxy_read_timeout 120s;
}

location /health {
    proxy_pass http://studio-mcp:8000/health;
}

Caddy:

mcp.chat-atp.com {
    reverse_proxy /studio/* localhost:8000
    reverse_proxy /health localhost:8000
}

Если ваш прокси вырезает /studio, установите MCP_PATH=/mcp, чтобы публичный URL после вырезания оставался /studio/mcp. Не делайте оба шага одновременно.

Подключение клиента

Cursor / Claude Desktop / любой Streamable HTTP MCP-клиент:

{
  "mcpServers": {
    "chatatp-studio": {
      "url": "https://mcp.chat-atp.com/studio/mcp",
      "headers": {
        "Authorization": "Bearer chatatp_sk_..."
      }
    }
  }
}

Инспектор:

npx @modelcontextprotocol/inspector
# then connect to http://localhost:8000/studio/mcp

Переменные окружения

Переменная

По умолчанию

Назначение

STUDIO_API_URL

URL бэкенда Render

Базовый URL Django

STUDIIO_TOKEN

пусто

Запасная аутентификация

MCP_PATH

/studio/mcp

Публичный MCP-путь

PORT

8000

Порт прослушивания

STUDIO_TIMEOUT

30

Таймаут апстрима, секунды

MCP_STATELESS

true

Stateless Streamable HTTP (хорошо работает за балансировщиками)

Примечания

  • Пути, помеченные как автоматически определяемые (inferred) в Studio CLI (/dapi/mcp/servers/, /dapi/http-api/tools/, /dapi/llm/configs/, предпросмотр агента), находятся в studio_mcp/endpoints.py. Если маршрут отдаёт 404, измените только этот файл.

  • Загрузка документов пока не открыта (multipart). Добавьте отдельный инструмент, когда понадобится приём файлов из MCP.

  • Эндпоинты Copilot assistant (/dapi/assistant/...) намеренно не обёрнуты, чтобы этот сервер не вызывал рекурсивно Copilot.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Exposes provider-specific tools and relays HTTP requests to configured providers like Supabase, Vercel, and Context7, enabling interaction with multiple external APIs through a unified MCP interface with configurable authentication and access controls.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables MCP-compatible clients to interact with AnythingLLM, providing tools for workspace management, chat and thread operations, document operations, vector search, and system inspection.
    34
    6
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP-compatible AI clients to invoke CLI-driven agent tools over Streamable HTTP, including shell execution, file operations, patching, image viewing, web search, and nested agent tasks, with permission modes and real-time progress streaming.
    -