nocobase-mcp-server
nocobase-mcp-server
NocoBase를 위한 MCP(Model Context Protocol) 서버로, Claude와 같은 AI 어시스턴트가 NocoBase 인스턴스와 상호작용할 수 있게 해줍니다. 컬렉션 읽기, UI 스키마 관리, flowPage 블록 빌드, OpenAPI를 통한 동적 API 작업 실행이 가능합니다.
기능
24개의 수동 제작 도구: 컬렉션, UI 스키마, 데스크톱 라우트, 플로우 모델 및 JS 블록을 다룹니다.
동적 도구: NocoBase의 OpenAPI/Swagger 사양에서 자동 생성됩니다 (API 문서 플러그인 필요).
NocoBase v2.x 지원 (
2.0.17-full에서 테스트됨)
요구 사항
Node.js 18+
실행 중인 NocoBase 인스턴스
NocoBase API 토큰 (루트 또는 충분한 권한)
설치
1. 복제 및 의존성 설치
git clone https://github.com/your-username/nocobase-mcp-server.git
cd nocobase-mcp-server
pnpm install2. Claude Code (또는 기타 MCP 클라이언트) 구성
~/.claude/mcp.json (Claude Code 전역 MCP 구성)에 추가합니다:
{
"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 토큰 |
| 아니요 |
| NocoBase 인스턴스 기본 URL |
API 토큰 얻기
NocoBase UI: 설정 → 플러그인 → API keys 플러그인 활성화
설정 → API keys → API 키 추가로 이동
생성된 토큰 복사
동적 도구 활성화 (선택 사항)
NocoBase에서 API 문서 플러그인을 활성화합니다 (설정 → 플러그인). 활성화되면 서버가 시작될 때 모든 추가 API 엔드포인트를 도구로 자동 로드합니다.
도구 참조
컬렉션
도구 | 설명 |
| 모든 컬렉션 나열 |
| 이름으로 컬렉션 가져오기 |
UI 스키마 (클래식 페이지)
도구 | 설명 |
| 모든 UI 스키마 노드 나열 |
| UID로 전체 중첩 UI 스키마 트리 가져오기 |
| UI 스키마 노드의 직접적인 하위 속성 가져오기 |
| 노드의 부모 스키마 가져오기 |
| 새로운 루트 레벨 UI 스키마 노드 생성 |
| 새로운 UI 스키마 노드 생성 및 삽입 |
| 대상 노드와 상대적인 위치에 스키마 노드 삽입 |
| 기존 UI 스키마 노드 패치 |
| 한 번의 요청으로 여러 UI 스키마 노드 패치 |
| UI 스키마 노드 및 하위 항목 제거 ⚠️ |
| UI 스키마 노드를 재사용 가능한 블록 템플릿으로 저장 |
데스크톱 라우트 / 내비게이션
도구 | 설명 |
| 모든 데스크톱 라우트(페이지, 메뉴, 그룹, 탭) 나열 |
플로우 모델 (flowPage 블록)
도구 | 설명 |
| UID로 flowPage 블록 가져오기 |
| 부모 ID와 subKey로 flowPage 블록 가져오기 |
| flowPage 블록 생성 또는 업데이트 |
| flowPage 컨테이너에 블록 부착 |
| 블록을 다른 위치로 이동 |
| 블록을 딥 카피하고 자동 부착 |
| 블록 및 하위 항목 삭제 ⚠️ |
JS 블록
도구 | 설명 |
| JS 블록 스키마 가져오기 (클래식 페이지) |
| JS 블록 코드 업데이트 (클래식 페이지) |
| flowPage 내 JS 블록 코드 업데이트 — |
⚠️ 파괴적인 작업은 되돌릴 수 없습니다.
JS 블록 샌드박스
flowPage JS 블록은 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 />);기여
기여를 환영합니다! 새로운 도구를 추가하려면:
저장소를 포크하고 기능 브랜치를 생성합니다.
server.registerTool()을 사용하여src/index.ts에 도구를 추가합니다.기존 패턴을 따릅니다 — API 호출에는
nocoFetch()를, 응답 형식 지정에는ok()를 사용합니다.README.md의 도구 목록을 업데이트합니다.풀 리퀘스트를 엽니다.
버그 보고나 기능 요청은 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