Массовый импорт JSON
Помимо добавления серверов по одному через форму, Elftia также поддерживает одновременный импорт нескольких MCP-серверов с помощью конфигурации JSON. Это особенно удобно в следующих ситуациях:
- Перенос конфигураций MCP из другого инструмента (например, Claude Desktop или Cursor)
- Совместное использование единой конфигурации серверов в команде
- Быстрое восстановление среды MCP на новом устройстве
- Настройка нескольких связанных серверов за один шаг
Открытие импорта JSON
- Откройте страницу MCP-серверы
- Нажмите кнопку Добавить
- В появившейся форме переключитесь в режим Импорт JSON
Формат JSON
Рекомендуемый формат: массовая конфигурация mcpServers
Это рекомендуемый формат JSON, совместимый с форматом конфигурации, используемым Claude Desktop и аналогичными инструментами. Он поддерживает одновременное добавление нескольких серверов:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search@latest"],
"env": {
"BRAVE_API_KEY": "your-brave-api-key"
}
},
"web-reader": {
"url": "https://api.example.com/mcp",
"headers": {
"Authorization": "Bearer your-token"
}
}
}
}
Формат для одного сервера
Если нужно добавить только один сервер, можно использовать упрощённый формат:
{
"name": "my-server",
"type": "stdio",
"command": "npx",
"args": ["-y", "@example/mcp-server"]
}
Описание полей JSON
Формат mcpServers
В объекте mcpServers каждый ключ является именем сервера, а его значение — объектом конфигурации:
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
command | string | Обязательно для Stdio | Команда запуска |
args | string[] | Нет | Аргументы команды |
env | object | Нет | Пары ключ-значение переменных окружения |
url | string | Обязательно для SSE/HTTP | URL конечной точки сервера |
headers | object | Нет | Заголовки HTTP-запросов |
type | string | Нет | Тип транспорта: stdio, sse или http |
:::info Автоматическое определение типа
Если поле type не указано, система определяет его автоматически:
- Есть
command→stdio - Есть
url→sse:::
Формат для одного сервера
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
name | string | Да | Имя сервера |
type | string | Нет | Тип транспорта; определяется автоматически |
command | string | Обязательно для Stdio | Команда запуска |
args | string[] | Нет | Аргументы команды |
env | object | Нет | Переменные окружения |
url | string | Обязательно для SSE/HTTP | URL конечной точки сервера |
headers | object | Нет | Заголовки HTTP-запросов |
Полные примеры
Пример 1: Файловая система + Поиск
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/projects"]
},
"tavily-search": {
"command": "npx",
"args": ["-y", "tavily-mcp@latest"],
"env": {
"TAVILY_API_KEY": "tvly-xxxxxxxxxxxxx"
}
}
}
}
Пример 2: GitHub + База данных
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxxx"
}
},
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "/path/to/database.db"]
}
}
}
Пример 3: Смешанные локальные и удалённые серверы
{
"mcpServers": {
"local-files": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
},
"web-search": {
"url": "https://api.z.ai/api/mcp/web_search_prime/mcp",
"headers": {
"Authorization": "Bearer your-api-key"
}
},
"web-reader": {
"url": "https://api.z.ai/api/mcp/web_reader/mcp",
"headers": {
"Authorization": "Bearer your-api-key"
}
}
}
}
Пример 4: Python-инструменты (с использованием uvx)
{
"mcpServers": {
"minimax-tools": {
"command": "uvx",
"args": ["minimax-coding-plan-mcp", "-y"],
"env": {
"MINIMAX_API_KEY": "your-minimax-key",
"MINIMAX_API_HOST": "https://api.minimaxi.com"
}
}
}
}
Процесс импорта
- Вставьте содержимое JSON в поле ввода
- Система проверяет формат JSON в реальном времени; все ошибки отображаются под полем ввода
- После успешной проверки нажмите Сохранить
- Для Stdio-серверов система автоматически проверяет наличие необходимых зависимостей (например,
npxилиuvx) - Если зависимость отсутствует, появляется запрос на установку
- После добавления всех серверов список серверов автоматически обновляется
Правила проверки
- JSON должен быть валидным
- Формат mcpServers: конфигурация каждого сервера должна содержать хотя бы одно из полей:
command,urlилиtype - Формат для одного сервера: тип
stdioтребуетcommand; типыhttp/sseтребуютurl - Имена серверов не должны совпадать с существующими именами серверов
Совместное использование конфигураций на разных устройствах
Экспорт конфигурации
В настоящее время конфигурация MCP в Elftia хранится локально в файле mcp-config. Поделиться ею можно следующим образом:
- Откройте редактирование сервера на странице списка MCP-серверов, чтобы просмотреть его полную конфигурацию
- Вручную оформите конфигурацию в формате JSON и сохраните её как файл для совместного использования
Миграция из Claude Desktop
Если вы ранее настраивали MCP-серверы в Claude Desktop, можно скопировать раздел mcpServers напрямую из его конфигурационного файла:
- Откройте конфигурационный файл Claude Desktop (обычно расположен по адресу
~/.claude/config.json) - Найдите раздел
mcpServers - Оформите его в формате JSON, описанном выше
- Импортируйте в Elftia с помощью импорта JSON
:::caution Важные примечания
- Перед импортом убедитесь, что ключи API и другие конфиденциальные значения в переменных окружения указаны верно
- При экспорте конфигураций будьте осторожны, чтобы не раскрыть ключи API или другую конфиденциальную информацию
- Пути к файлам необходимо скорректировать в соответствии с реальными путями на целевом устройстве :::
Устранение неполадок
Ошибка формата JSON
Симптом: после ввода JSON под полем появляется красное сообщение об ошибке.
Решение:
- Проверьте синтаксис JSON (скобки, кавычки и запятые должны быть расставлены правильно)
- Используйте инструмент форматирования JSON для проверки формата
- Следите за управляющими символами (например, обратные косые черты в путях Windows нужно писать как
\\)
Некоторые серверы не удалось добавить
Симптом: после массового импорта некоторые серверы не появляются в списке.
Решение:
- Проверьте наличие дублирующихся имён серверов (имена должны быть уникальными)
- Проверьте консоль на наличие сообщений об ошибках
- Попробуйте добавить проблемные серверы по отдельности через форму
Следующие шаги
- Использование MCP-инструментов — узнайте, как инструменты работают в разговоре после добавления
- Обзор MCP — ознакомьтесь с основными концепциями MCP