Skip to main content
Glama

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 install

2. 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_TOKEN

NocoBase API 토큰

NOCOBASE_URL

아니요

http://localhost:13000

NocoBase 인스턴스 기본 URL

API 토큰 얻기

  1. NocoBase UI: 설정 → 플러그인API keys 플러그인 활성화

  2. 설정 → API keys → API 키 추가로 이동

  3. 생성된 토큰 복사

동적 도구 활성화 (선택 사항)

NocoBase에서 API 문서 플러그인을 활성화합니다 (설정 → 플러그인). 활성화되면 서버가 시작될 때 모든 추가 API 엔드포인트를 도구로 자동 로드합니다.

도구 참조

컬렉션

도구

설명

list_collections

모든 컬렉션 나열

get_collection

이름으로 컬렉션 가져오기

UI 스키마 (클래식 페이지)

도구

설명

list_pages

모든 UI 스키마 노드 나열

get_page

UID로 전체 중첩 UI 스키마 트리 가져오기

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

UID로 flowPage 블록 가져오기

get_flow_model_by_parent

부모 ID와 subKey로 flowPage 블록 가져오기

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

flowPage 내 JS 블록 코드 업데이트 — ctx.render() 또는 ctx.libs.React를 통한 JSX 사용

⚠️ 파괴적인 작업은 되돌릴 수 없습니다.

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 />);

기여

기여를 환영합니다! 새로운 도구를 추가하려면:

  1. 저장소를 포크하고 기능 브랜치를 생성합니다.

  2. server.registerTool()을 사용하여 src/index.ts에 도구를 추가합니다.

  3. 기존 패턴을 따릅니다 — API 호출에는 nocoFetch()를, 응답 형식 지정에는 ok()를 사용합니다.

  4. README.md의 도구 목록을 업데이트합니다.

  5. 풀 리퀘스트를 엽니다.

버그 보고나 기능 요청은 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