nocobase-mcp-server
nocobase-mcp-server
Un servidor MCP (Model Context Protocol) para NocoBase, que permite a asistentes de IA como Claude interactuar con tu instancia de NocoBase: leer colecciones, gestionar esquemas de interfaz de usuario, crear bloques flowPage y ejecutar operaciones de API dinámicas a través de OpenAPI.
Características
24 herramientas creadas manualmente que cubren colecciones, esquemas de interfaz de usuario, rutas de escritorio, modelos de flujo y bloques JS
Herramientas dinámicas generadas automáticamente a partir de la especificación OpenAPI/Swagger de tu NocoBase (requiere el plugin de documentación de API)
Funciona con NocoBase v2.x (probado en
2.0.17-full)
Requisitos
Node.js 18+
Una instancia de NocoBase en ejecución
Un token de API de NocoBase (root o con permisos suficientes)
Instalación
1. Clonar e instalar dependencias
git clone https://github.com/your-username/nocobase-mcp-server.git
cd nocobase-mcp-server
pnpm install2. Configurar Claude Code (o cualquier cliente MCP)
Añadir a ~/.claude/mcp.json (configuración global de MCP de 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"
}
}
}
}Reemplaza /absolute/path/to/nocobase-mcp-server con la ruta real donde clonaste el repositorio (por ejemplo, /Users/tu-nombre/Projects/nocobase-mcp-server).
Variables de entorno
Variable | Requerido | Predeterminado | Descripción |
| Sí | — | Token de API de NocoBase |
| No |
| URL base de la instancia de NocoBase |
Obtención de un token de API
En la interfaz de usuario de NocoBase: Configuración → Plugins → activa el plugin API keys
Ve a Configuración → API keys → Añadir API key
Copia el token generado
Habilitación de herramientas dinámicas (opcional)
Activa el plugin API documentation en NocoBase (Configuración → Plugins). Una vez activo, el servidor cargará automáticamente todos los endpoints de API adicionales como herramientas al iniciarse.
Referencia de herramientas
Colecciones
Herramienta | Descripción |
| Listar todas las colecciones |
| Obtener una colección por nombre |
Esquemas de interfaz de usuario (Páginas clásicas)
Herramienta | Descripción |
| Listar todos los nodos de esquema de interfaz de usuario |
| Obtener el árbol completo de esquemas de interfaz de usuario anidados por UID |
| Obtener las propiedades hijas directas de un nodo de esquema de interfaz de usuario |
| Obtener el esquema padre de un nodo |
| Crear un nuevo nodo de esquema de interfaz de usuario de nivel raíz |
| Crear e insertar un nuevo nodo de esquema de interfaz de usuario |
| Insertar un nodo de esquema relativo a un nodo objetivo |
| Parchear un nodo de esquema de interfaz de usuario existente |
| Parchear múltiples nodos de esquema de interfaz de usuario en una sola solicitud |
| Eliminar un nodo de esquema de interfaz de usuario y sus descendientes ⚠️ |
| Guardar un nodo de esquema de interfaz de usuario como una plantilla de bloque reutilizable |
Rutas de escritorio / Navegación
Herramienta | Descripción |
| Listar todas las rutas de escritorio (páginas, menús, grupos, pestañas) |
Modelos de flujo (bloques flowPage)
Herramienta | Descripción |
| Obtener un bloque flowPage por UID |
| Obtener un bloque flowPage por ID padre y subKey |
| Crear o actualizar un bloque flowPage |
| Adjuntar un bloque a un contenedor flowPage |
| Mover un bloque a una posición diferente |
| Copiar profundamente un bloque y adjuntarlo automáticamente |
| Eliminar un bloque y sus hijos ⚠️ |
Bloques JS
Herramienta | Descripción |
| Obtener un esquema de bloque JS (página clásica) |
| Actualizar código de bloque JS (página clásica) |
| Actualizar código de bloque JS dentro de una flowPage — usa |
⚠️ Las operaciones destructivas no se pueden deshacer.
Sandbox de bloques JS
Los bloques JS de flowPage se ejecutan en el sandbox de NocoBase. APIs disponibles:
// 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 />);Contribución
¡Las contribuciones son bienvenidas! Para añadir una nueva herramienta:
Haz un fork del repositorio y crea una rama de funcionalidad
Añade tu herramienta en
src/index.tsusandoserver.registerTool()Sigue el patrón existente: usa
nocoFetch()para llamadas a la API yok()para formatear las respuestasActualiza la lista de herramientas en
README.mdAbre una solicitud de extracción (pull request)
Para informes de errores o solicitudes de funciones, abre un issue en GitHub.
Licencia
MIT — consulta LICENSE para más detalles.
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