Skip to main content
Glama

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 install

2. Настройте 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).

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

Переменная

Обязательно

По умолчанию

Описание

NOCOBASE_API_TOKEN

Да

API-токен NocoBase

NOCOBASE_URL

Нет

http://localhost:13000

Базовый URL экземпляра NocoBase

Получение API-токена

  1. В интерфейсе NocoBase: Settings → Plugins → включите плагин API keys

  2. Перейдите в Settings → API keys → Add API key

  3. Скопируйте сгенерированный токен

Включение динамических инструментов (опционально)

Включите плагин API documentation в NocoBase (Settings → Plugins). После активации сервер будет автоматически загружать все дополнительные API-эндпоинты в качестве инструментов при запуске.

Справочник инструментов

Коллекции

Инструмент

Описание

list_collections

Список всех коллекций

get_collection

Получить коллекцию по имени

Схемы UI (Классические страницы)

Инструмент

Описание

list_pages

Список всех узлов схемы UI

get_page

Получить полное дерево вложенной схемы UI по UID

get_page_properties

Получить свойства непосредственных дочерних элементов узла схемы UI

get_parent_schema

Получить родительскую схему узла

create_page

Создать новый корневой узел схемы UI

insert_new_schema

Создать и вставить новый узел схемы UI

insert_adjacent_schema

Вставить узел схемы относительно целевого узла

update_ui_schema

Обновить существующий узел схемы UI

batch_patch_ui_schema

Обновить несколько узлов схемы UI за один запрос

remove_ui_schema

Удалить узел схемы UI и его потомков ⚠️

save_as_template

Сохранить узел схемы UI как шаблон блока для повторного использования

Маршруты рабочего стола / Навигация

Инструмент

Описание

list_desktop_routes

Список всех маршрутов рабочего стола (страницы, меню, группы, вкладки)

Модели потоков (блоки flowPage)

Инструмент

Описание

get_flow_model

Получить блок flowPage по UID

get_flow_model_by_parent

Получить блок flowPage по ID родителя и subKey

save_flow_model

Создать или обновить блок flowPage

attach_flow_model

Прикрепить блок к контейнеру flowPage

move_flow_model

Переместить блок в другую позицию

duplicate_flow_model

Создать глубокую копию блока и автоматически прикрепить её

destroy_flow_model

Удалить блок и его дочерние элементы ⚠️

JS-блоки

Инструмент

Описание

get_js_block

Получить схему JS-блока (классическая страница)

update_js_block

Обновить код JS-блока (классическая страница)

update_flow_js_block

Обновить код JS-блока внутри flowPage — используйте ctx.render() или JSX через ctx.libs.React

⚠️ Деструктивные операции нельзя отменить.

Песочница 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 />);

Участие в разработке

Мы приветствуем ваш вклад! Чтобы добавить новый инструмент:

  1. Сделайте форк репозитория и создайте ветку для новой функции

  2. Добавьте свой инструмент в src/index.ts, используя server.registerTool()

  3. Следуйте существующему шаблону — используйте nocoFetch() для вызовов API и ok() для форматирования ответов

  4. Обновите список инструментов в README.md

  5. Откройте pull request

Для сообщений об ошибках или предложений по новым функциям создайте issue на GitHub.

Лицензия

MIT — подробности см. в LICENSE.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

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