nocobase-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NOCOBASE_URL | No | NocoBase instance base URL | http://localhost:13000 |
| NOCOBASE_API_TOKEN | Yes | NocoBase API token (required) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_collectionsA | List all collections in NocoBase |
| get_collectionB | Get a specific collection by name |
| list_pagesA | List all UI schemas in NocoBase (returns raw schema nodes, not page-level navigation) |
| get_pageA | Get the full nested UI schema tree for a node by UID (uses :getProperties to include all descendants) |
| get_parent_schemaB | Get the parent UI schema of a node by UID |
| create_pageB | Create a new root-level UI schema node in NocoBase |
| insert_new_schemaB | Create and insert a new UI schema node via NocoBase's insertNewSchema action |
| insert_adjacent_schemaA | Insert a schema node at a position relative to a target node. Position values: beforeBegin (prev sibling), afterBegin (first child), beforeEnd (last child), afterEnd (next sibling) |
| update_ui_schemaB | Patch an existing UI schema node by UID (partial update) |
| batch_patch_ui_schemaA | Patch multiple UI schema nodes in a single request. Each object in the patches array must include 'x-uid' plus the fields to update. |
| remove_ui_schemaA | Remove a UI schema node and all its descendants by UID. DESTRUCTIVE — cannot be undone. |
| save_as_templateB | Save an existing UI schema node as a reusable block template |
| list_desktop_routesA | List all desktop routes (pages and menus) in NocoBase v2. Each route has a type: 'page', 'flowPage', 'group', 'tabs'. Use schemaUid to fetch page content. Works for both classic pages and flowPages. |
| get_flow_modelA | Get a flowPage block/model by UID. Use this for blocks inside flowPage type pages (not classic 'page' type). Returns the block's model data including 'use' (component type), 'parentId', 'stepParams', etc. |
| get_flow_model_by_parentB | Get a flowPage block/model by its parent ID and subKey. Useful for navigating the flowPage block tree. |
| save_flow_modelA | Create or update a flowPage block/model. If 'uid' is provided in values, it updates; otherwise creates a new one. The 'use' field specifies the component type (e.g. 'JSBlockModel', 'TableBlockModel'). NOTE: after creating, call attach_flow_model to make it appear on the page. |
| attach_flow_modelA | Attach an existing flowPage block/model to a parent. Use this to add an existing block into a flowPage container at a specific position. |
| move_flow_modelB | Move a flowPage block/model to a different position relative to another block. |
| duplicate_flow_modelB | Duplicate an existing flowPage block/model (deep copy) and automatically attach it to the same parent. Returns the new block's data. |
| destroy_flow_modelA | Delete a flowPage block/model by UID. DESTRUCTIVE — also removes child blocks. |
| get_js_blockA | Get a JS block UI schema by UID (for classic 'page' type pages, not flowPage) |
| update_js_blockA | Update the code content of a JS block UI schema by UID (for classic 'page' type pages, not flowPage) |
| update_flow_js_blockA | Update the JavaScript code of a JSBlockModel inside a flowPage. Code runs in NocoBase sandbox — use ctx.render(htmlString) to render output. Example: ctx.render( |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Tools are generally distinct, with clear differentiation between flowPage blocks, classic pages, JS blocks, and UI schema operations. However, the high number of flow model and schema tools could cause some confusion, though descriptions help.
All tool names follow a consistent verb_noun pattern in snake_case, with no mixing of conventions. Examples include 'attach_flow_model', 'batch_patch_ui_schema', 'get_flow_model_by_parent'.
23 tools is slightly on the high side but appropriate for a full-featured low-code platform like NocoBase. The count reflects the complexity of managing UI schemas, blocks, collections, and routes without being excessive.
The tool set covers most essential operations for UI schema management: create, read, update, delete, move, duplicate, and template. Minor gaps exist (e.g., no direct tool for updating page metadata), but these can be handled via update_ui_schema.