nocobase-mcp-server
nocobase-mcp-server
MCP-сервер (Model Context Protocol) для NocoBase, позволяющий ИИ-ассистентам, таким как Claude, взаимодействовать с вашим экземпляром NocoBase — читать коллекции, управлять схемами UI, создавать блоки flowPage и выполнять динамические операции API через OpenAPI.
Возможности
24 инструмента, созданных вручную, охватывающих коллекции, схемы UI, маршруты рабочего стола, модели потоков и JS-блоки
Динамические инструменты, автоматически генерируемые из спецификации OpenAPI/Swagger вашего NocoBase (требуется плагин API documentation)
Работает с NocoBase v2.x (протестировано на
2.0.17-full)
Требования
Node.js 18+
Запущенный экземпляр NocoBase
API-токен NocoBase (root или с достаточными правами)
Установка
1. Клонируйте репозиторий и установите зависимости
git clone https://github.com/your-username/nocobase-mcp-server.git
cd nocobase-mcp-server
pnpm install2. Настройте Claude Code (или любой другой MCP-клиент)
Добавьте в ~/.claude/mcp.json (глобальный конфиг MCP для Claude Code):
{
"mcpServers": {
"nocobase": {
"type": "stdio",
"command": "/absolute/path/to/nocobase-mcp-server/node_modules/.bin/tsx",
"args": ["/absolute/path/to/nocobase-mcp-server/src/index.ts"],
"env": {
"NOCOBASE_URL": "http://localhost:13000",
"NOCOBASE_API_TOKEN": "your-api-token-here"
}
}
}
}Замените /absolute/path/to/nocobase-mcp-server на реальный путь, по которому вы клонировали репозиторий (например, /Users/yourname/Projects/nocobase-mcp-server).
Переменные окружения
Переменная | Обязательно | По умолчанию | Описание |
| Да | — | API-токен NocoBase |
| Нет |
| Базовый URL экземпляра NocoBase |
Получение API-токена
В интерфейсе NocoBase: Settings → Plugins → включите плагин API keys
Перейдите в Settings → API keys → Add API key
Скопируйте сгенерированный токен
Включение динамических инструментов (опционально)
Включите плагин API documentation в NocoBase (Settings → Plugins). После активации сервер будет автоматически загружать все дополнительные API-эндпоинты в качестве инструментов при запуске.
Справочник инструментов
Коллекции
Инструмент | Описание |
| Список всех коллекций |
| Получить коллекцию по имени |
Схемы UI (Классические страницы)
Инструмент | Описание |
| Список всех узлов схемы UI |
| Получить полное дерево вложенной схемы UI по UID |
| Получить свойства непосредственных дочерних элементов узла схемы UI |
| Получить родительскую схему узла |
| Создать новый корневой узел схемы UI |
| Создать и вставить новый узел схемы UI |
| Вставить узел схемы относительно целевого узла |
| Обновить существующий узел схемы UI |
| Обновить несколько узлов схемы UI за один запрос |
| Удалить узел схемы UI и его потомков ⚠️ |
| Сохранить узел схемы UI как шаблон блока для повторного использования |
Маршруты рабочего стола / Навигация
Инструмент | Описание |
| Список всех маршрутов рабочего стола (страницы, меню, группы, вкладки) |
Модели потоков (блоки flowPage)
Инструмент | Описание |
| Получить блок flowPage по UID |
| Получить блок flowPage по ID родителя и subKey |
| Создать или обновить блок flowPage |
| Прикрепить блок к контейнеру flowPage |
| Переместить блок в другую позицию |
| Создать глубокую копию блока и автоматически прикрепить её |
| Удалить блок и его дочерние элементы ⚠️ |
JS-блоки
Инструмент | Описание |
| Получить схему JS-блока (классическая страница) |
| Обновить код JS-блока (классическая страница) |
| Обновить код JS-блока внутри flowPage — используйте |
⚠️ Деструктивные операции нельзя отменить.
Песочница JS-блоков
JS-блоки flowPage запускаются в песочнице NocoBase. Доступные API:
// Render HTML
ctx.render(`<h1>Hello</h1>`);
// Render JSX with React + Ant Design
const { React, antd } = ctx.libs;
const { useState } = React;
const { Table, Tag } = antd;
function MyComponent() {
const [tab, setTab] = useState('a');
return <div>...</div>;
}
ctx.render(<MyComponent />);Участие в разработке
Мы приветствуем ваш вклад! Чтобы добавить новый инструмент:
Сделайте форк репозитория и создайте ветку для новой функции
Добавьте свой инструмент в
src/index.ts, используяserver.registerTool()Следуйте существующему шаблону — используйте
nocoFetch()для вызовов API иok()для форматирования ответовОбновите список инструментов в
README.mdОткройте pull request
Для сообщений об ошибках или предложений по новым функциям создайте issue на GitHub.
Лицензия
MIT — подробности см. в LICENSE.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/puguhsudarma/nocobase-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server