ВозможностиДокументацияЦеныPlaygroundFAQ

MCP Интеграция

Единый gateway для всех AI-агентов — ни у кого больше этого нет

~5 мин чтения

Что такое MCP?

MCP (Model Context Protocol) — открытый протокол от Anthropic для подключения внешних инструментов к AI-агентам. FlowLink работает как MCP сервер через stdio JSON-RPC, а также через HTTP JSON-RPC endpoint для удалённых подключений.

MCP Architecture

1

AI агент (Claude Code, Cursor, Copilot) вызывает MCP tools

2

MCP client (flowlink mcp) подключается к FlowLink relay

3

FlowLink анализирует команду через 7-уровневый Shield

4

Опасные команды блокируются или запрашивают одобрение

5

Безопасные команды выполняются на агенте

6

Результаты возвращаются через MCP в AI агент

Transport Modes

FlowLink поддерживает два транспорта MCP:

stdio (local)

Для локальных агентов. flowlink mcp запускает MCP сервер на stdin/stdout.

Use: Claude Code, Cursor на локальной машине

flowlink mcp

HTTP (remote)

Для удалённых агентов. MCP сервер доступен по HTTP/HTTPS.

Use: Copilot, Windsurf, cloud IDEs

https://relay.flow-masters.ru:9081/mcp

Поддерживаемые агенты

FlowLink работает с любым MCP-совместимым AI агентом:

Claude Code

native

Cursor

native

GitHub Copilot

native

Windsurf

native

Cline

tested

Aider

tested

Continue

community

Codex CLI

community

Gemini CLI

community

Native = официально поддерживается

Tested = протестировано командой, Community = работает по отзывам сообщества

Настройка

Добавьте в конфиг вашего AI агента:

json
// Claude Code: ~/.claude/mcp.json
// Cursor:     ~/.cursor/mcp.json
// VS Code:    settings.json → "mcp.servers"
{
  "mcpServers": {
    "flowlink": {
      "command": "flowlink",
      "args": ["mcp"]
    }
  }
}

Подробнее: Настройка для каждого агента

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

Для HTTP MCP транспорта требуется API ключ. stdio транспорт использует локальную аутентификацию агента.

stdio (local)

Аутентификация через локальный агент. API ключ не требуется.

{
  "mcpServers": {
    "flowlink": {
      "command": "flowlink",
      "args": ["mcp"]
    }
  }
}

HTTP (remote)

API ключ в заголовке Authorization или x-api-key.

{
  "mcpServers": {
    "flowlink": {
      "url": "https://relay.flow-masters.ru:9081/mcp",
      "headers": {
        "Authorization": "Bearer flk_live_abc123..."
      }
    }
  }
}

Public vs Private endpoints

PUBLICtools/list, initializeдля discovery
PRIVATEtools/callтребует API ключ

Rate Limits

MCP endpoint имеет rate limiting для предотвращения abuse:

Starter

100 req/min

Burst: 10 req/s

Professional

500 req/min

Burst: 50 req/s

Scale

2 000 req/min

Burst: 200 req/s

Enterprise

Безлимит

Burst: Безлимит

Rate limit response заголовки

X-RateLimit-Limit: 1000

X-RateLimit-Remaining: 950

X-RateLimit-Reset: 1642245600

Available Tools

FlowLink MCP сервер предоставляет 12 инструментов:

flowlink_execagent

Выполнить команду на агенте

flowlink_readagent

Прочитать файл с агента

flowlink_writeagent

Записать файл на агент

flowlink_listagent

Список файлов/директорий

flowlink_sysinfosystem

Системная информация агента

flowlink_killagent

Завершить процесс на агенте

flowlink_deregisteradmin

Отключить и удалить агента

flowlink_config_updateconfig

Обновить конфигурацию агента

flowlink_policypolicy

Получить/обновить политики агента

flowlink_approveapproval

Одобрить pending запрос

flowlink_denyapproval

Отклонить pending запрос

flowlink_sandbox_statusagent

Статус sandbox агента

Подробно: Все 12 Tools

Пример вызова

AI агент вызывает flowlink_exec для выполнения команды:

json
// Request (от AI агента)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "flowlink_exec",
    "arguments": {
      "agent_id": "my-server",
      "command": "ls -la /var/log"
    }
  }
}

// Response (от FlowLink)
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "total 48\ndrwxr-xr-x  2 root root 4096 Jan 15 10:30 .\ndrwxr-xr-x 12 root root 4096 Jan 15 09:00 ..\n-rw-r--r--  1 root root  12345 Jan 15 10:30 app.log\n..."
      }
    ]
  }
}

// Error response (команда заблокирована)
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32000,
    "message": "Command blocked by Shield L4: Destructive command",
    "data": {
      "level": "L4",
      "decision": "BLOCKED",
      "reason": "Destructive command: recursive force delete"
    }
  }
}