nocobase-mcp-server
nocobase-mcp-server
Ein MCP-Server (Model Context Protocol) für NocoBase, der es KI-Assistenten wie Claude ermöglicht, mit Ihrer NocoBase-Instanz zu interagieren — Sammlungen lesen, UI-Schemas verwalten, flowPage-Blöcke erstellen und dynamische API-Operationen über OpenAPI ausführen.
Funktionen
24 manuell erstellte Tools für Sammlungen, UI-Schemas, Desktop-Routen, Flow-Modelle und JS-Blöcke
Dynamische Tools, die automatisch aus der OpenAPI/Swagger-Spezifikation Ihres NocoBase generiert werden (erfordert das API-Dokumentations-Plugin)
Funktioniert mit NocoBase v2.x (getestet mit
2.0.17-full)
Anforderungen
Node.js 18+
Eine laufende NocoBase-Instanz
Ein NocoBase-API-Token (Root oder ausreichende Berechtigungen)
Installation
1. Klonen und Abhängigkeiten installieren
git clone https://github.com/your-username/nocobase-mcp-server.git
cd nocobase-mcp-server
pnpm install2. Claude Code (oder einen beliebigen MCP-Client) konfigurieren
Fügen Sie dies zu ~/.claude/mcp.json hinzu (globale MCP-Konfiguration von 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"
}
}
}
}Ersetzen Sie /absolute/path/to/nocobase-mcp-server durch den tatsächlichen Pfad, unter dem Sie das Repository geklont haben (z. B. /Users/yourname/Projects/nocobase-mcp-server).
Umgebungsvariablen
Variable | Erforderlich | Standardwert | Beschreibung |
| Ja | — | NocoBase API-Token |
| Nein |
| Basis-URL der NocoBase-Instanz |
API-Token abrufen
In der NocoBase-Benutzeroberfläche: Einstellungen → Plugins → das API keys-Plugin aktivieren
Gehen Sie zu Einstellungen → API keys → API-Schlüssel hinzufügen
Kopieren Sie den generierten Token
Dynamische Tools aktivieren (optional)
Aktivieren Sie das API documentation-Plugin in NocoBase (Einstellungen → Plugins). Sobald es aktiv ist, lädt der Server beim Start automatisch alle zusätzlichen API-Endpunkte als Tools.
Tool-Referenz
Sammlungen
Tool | Beschreibung |
| Alle Sammlungen auflisten |
| Eine Sammlung nach Namen abrufen |
UI-Schemas (Klassische Seiten)
Tool | Beschreibung |
| Alle UI-Schema-Knoten auflisten |
| Vollständigen verschachtelten UI-Schema-Baum nach UID abrufen |
| Direkte untergeordnete Eigenschaften eines UI-Schema-Knotens abrufen |
| Übergeordnetes Schema eines Knotens abrufen |
| Neuen UI-Schema-Knoten auf Root-Ebene erstellen |
| Neuen UI-Schema-Knoten erstellen und einfügen |
| UI-Schema-Knoten relativ zu einem Zielknoten einfügen |
| Bestehenden UI-Schema-Knoten patchen |
| Mehrere UI-Schema-Knoten in einer Anfrage patchen |
| UI-Schema-Knoten und seine Nachfahren entfernen ⚠️ |
| UI-Schema-Knoten als wiederverwendbare Blockvorlage speichern |
Desktop-Routen / Navigation
Tool | Beschreibung |
| Alle Desktop-Routen auflisten (Seiten, Menüs, Gruppen, Tabs) |
Flow-Modelle (flowPage-Blöcke)
Tool | Beschreibung |
| flowPage-Block nach UID abrufen |
| flowPage-Block nach übergeordneter ID und subKey abrufen |
| flowPage-Block erstellen oder aktualisieren |
| Block an einen flowPage-Container anhängen |
| Block an eine andere Position verschieben |
| Block tief kopieren und automatisch anhängen |
| Block und seine Kinder löschen ⚠️ |
JS-Blöcke
Tool | Beschreibung |
| JS-Block-Schema abrufen (klassische Seite) |
| JS-Block-Code aktualisieren (klassische Seite) |
| JS-Block-Code innerhalb einer flowPage aktualisieren — verwenden Sie |
⚠️ Destruktive Operationen können nicht rückgängig gemacht werden.
JS-Block-Sandbox
flowPage JS-Blöcke laufen in der Sandbox von NocoBase. Verfügbare APIs:
// 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 />);Mitwirken
Beiträge sind willkommen! Um ein neues Tool hinzuzufügen:
Forken Sie das Repository und erstellen Sie einen Feature-Branch
Fügen Sie Ihr Tool in
src/index.tsmitserver.registerTool()hinzuFolgen Sie dem bestehenden Muster — verwenden Sie
nocoFetch()für API-Aufrufe undok()zur Formatierung der AntwortenAktualisieren Sie die Tool-Liste in der
README.mdErstellen Sie einen Pull Request
Für Fehlerberichte oder Funktionsanfragen öffnen Sie bitte ein Issue auf GitHub.
Lizenz
MIT — siehe LICENSE für Details.
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