프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

RationalBloks

제작자: rationalbloks버전 0.16.2i★ 1i컴퓨터 또는 클라우드
레지스트리 이름com.rationalbloks/mcp

설치

개요

제작자가 쓴 설명(영어 원문)

Deploy production REST and Neo4j Graph APIs from JSON schemas in seconds.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 컴퓨터 또는 클라우드
  • 전송 방식: stdio, Streamable HTTP
  • 카테고리: 개발자 도구
  • 입력해야 할 값: RATIONALBLOKS_API_KEY

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:

  1. Settings → Connectors 열기
  2. Add custom connector 누르기
  3. 아래 주소를 붙여 넣고 Add 누르기
  4. 로그인하라고 하면 제작자의 서비스에 로그인하기
SettingsConnectors1+ Add2https://…3Connect4
https://mcp.rationalbloks.com/

또는 내 컴퓨터에서 실행하기

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "rationalbloks": {
      "command": "uvx",
      "args": [
        "rationalbloks-mcp"
      ],
      "env": {
        "RATIONALBLOKS_API_KEY": "your-value"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add --transport http rationalbloks https://mcp.rationalbloks.com/

또는 내 컴퓨터에서 실행하기

claude mcp add rationalbloks --env RATIONALBLOKS_API_KEY=your-value -- uvx rationalbloks-mcp

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "rationalbloks": {
      "url": "https://mcp.rationalbloks.com/"
    }
  }
}

또는 내 컴퓨터에서 실행하기

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "rationalbloks": {
      "command": "uvx",
      "args": [
        "rationalbloks-mcp"
      ],
      "env": {
        "RATIONALBLOKS_API_KEY": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "rationalbloks": {
      "type": "http",
      "url": "https://mcp.rationalbloks.com/"
    }
  }
}

또는 내 컴퓨터에서 실행하기

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "rationalbloks": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "rationalbloks-mcp"
      ],
      "env": {
        "RATIONALBLOKS_API_KEY": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:

  1. 웹에서 ChatGPT 열기 → Settings → Connectors (Apps)
  2. Create 또는 Add 누르기(일부 요금제는 먼저 Advanced에서 Developer mode를 켜야 해요)
  3. 아래 주소를 붙여 넣고 이름을 정한 뒤 저장하기
  4. 로그인하라고 하면 제작자의 서비스에 로그인하기
SettingsConnectors1+ Create2https://…3Connect4
https://mcp.rationalbloks.com/

메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • RATIONALBLOKS_API_KEY 비밀 필수 env
    Your RationalBloks API key (get it from rationalbloks.com/settings)

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

어떤 앱에서 쓸 수 있나요

이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.

인터넷으로 연결하는 앱

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

내 컴퓨터에서 실행하는 앱

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

모든 앱과 장단점 →

할 수 있는 일

도구 이름과 설명은 서버가 2026년 11월 8일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.

  • list_projects

    List all your RationalBloks projects with their status and URLs

  • get_project

    Get detailed information about a specific project

  • get_schema

    Get the JSON schema definition of a project in FLAT format. Returns the schema structure where each table name maps directly to field definitions. This is the same format required for create_project and update_schema. USE CASES: Review current schema before making updates, copy s

  • get_user_info

    Get information about the authenticated user

  • list_clusters

    List your registered BYOC resource pools (client-owned Kubernetes clusters). Each returned cluster has an 'id' you MUST pass as create_project's cluster_id to deploy a project onto your own infrastructure — owned hosting is retired, so every project we operate runs on your own cl

  • get_job_status

    Check the status of a job (a create, deploy, promotion, rollback, deletion or module operation). STATUS VALUES: pending (queued), processing (in progress), completed (success), failed. Call it until the status is completed or failed: every job ends, since a job whose server stopp

  • list_project_jobs

    List a project's jobs, newest first: every create, deploy, promotion, rollback, resource change and module operation, each with its status, error, failure_side and when it started and ended. A job's record is kept for the life of the project, so this is how to find out what an op

  • get_project_info

    Get detailed project info including deployment status and resource usage. DEPLOYMENT STATUS: Running (healthy), Pending (starting), CrashLoopBackOff (init container failed - usually schema format error), ImagePullBackOff (image build failed). TROUBLESHOOTING: If status is CrashLo

  • get_version_history

    Get the deployment and version history (git commits) for a project. Shows all schema changes with commit SHA, timestamp, and message. USE CASES: Review what changed between deployments, find the last working version before issues started, get commit SHA for rollback_project.

  • get_template_schemas

    Get pre-built template schemas for common use cases. ⭐ USE THIS FIRST when creating a new project! Templates show the CORRECT schema format with: proper FLAT structure (no 'fields' nesting), every field has a 'type' property, foreign key relationships configured correctly, best p

  • get_schema_reference

    Get the reference for ADVANCED schema features the templates do not show — read this before adding authorization or derived fields to a schema. Covers: __policy__ (relationship-based read/write authorization with single- and multi-hop membership paths, and the rules that decide w

  • get_subscription_status

    Get your subscription tier, limits, and usage

  • get_project_usage

    Get resource usage metrics (CPU, memory) for a project

  • get_project_storage_usage

    Get object-storage usage for a project: file count and bytes used against the plan limits.

  • list_project_files

    List a project's uploaded files (metadata + public URLs), most recent first. Inspection only — files are not streamed through MCP.

  • get_schema_at_version

    Get the schema as it was at a specific version/commit

  • preview_schema_change

    Preview a schema change, saving nothing: the one way to see what a change would do before it is saved. Pass ONE of: • operations: the operations patch_schema or drop_schema_items would apply (relational projects) • schema: a whole schema in place of the saved one (relational or g

  • create_project

    Create a new RationalBloks project (a PostgreSQL REST API) from a JSON schema, on one of your resource pools. ⚠️ CRITICAL RULES - READ BEFORE CREATING SCHEMA: 1. FLAT FORMAT (REQUIRED): ✅ CORRECT: {"orders": {"total": {"type": "decimal", "precision": 10, "scale": 2}}} ❌ WRONG: {"

  • update_schema

    Replace a project's WHOLE schema (saves to database, does NOT deploy). DESTRUCTIVE: a table or field the schema leaves out is dropped by the next deploy. For a new data model or a template. To change part of a schema use patch_schema, and drop_schema_items to drop; sending back a

  • patch_schema

    Change PART of a project's schema without dropping any of it (saves to database, does NOT deploy). Send only the change. The server applies it to the saved schema, in order and all together, and keeps every table and field it does not touch — including their identity, so a rename

  • drop_schema_items

    Drop tables or fields from a project's saved schema (saves to database, does NOT deploy). DESTRUCTIVE: the next deploy drops their data. OPERATIONS (applied in order and all together): • {"op": "drop_table", "table": "clocks"} • {"op": "drop_field", "table": "parameters", "field"

  • deploy_staging

    Deploy a project's saved schema to the staging environment. This triggers: (1) Schema validation, (2) Docker image build, (3) GitHub commit, (4) Kubernetes deployment, (5) Database migrations. The operation is ASYNCHRONOUS - it returns immediately with a job_id. Use get_job_statu

  • deploy_production

    Promote staging to production (requires a paid plan): production's database migrates from the schema it runs to the one staging runs, and production runs staging's build. With staging unchanged since the last promotion, it rebuilds production with no schema change. The operation

  • deploy_destructive

    Deploy a plan that drops data, of a relational or a graph project. DESTRUCTIVE: the tables, fields, entities or relationships the plan drops lose their data. environment 'staging' deploys the saved schema, 'production' promotes staging. Use it only after a deploy tool (deploy_sta

  • redeploy_project

    Rebuild and roll out a project's staging environment from the schema it runs, with NO schema change, for a relational or a graph project: the current platform release, the project's settings (email, admin users) and its environment take effect. Refused (409) when the saved schema

  • delete_project

    Delete a project (removes GitHub repo, K8s deployments, and database). It runs as a job: poll the returned job_id with get_job_status until it is completed. One operation runs on a project at a time: while another runs, the call is refused and the refusal names the running job; w

  • rollback_project

    Rollback a project to a previous version. ⚠️ WARNING: This reverts schema AND code to the specified commit. Database data is NOT rolled back. Use get_version_history to find the commit SHA of the version you want to rollback to. After rollback, use get_job_status to monitor the r

  • rename_project

    Rename a project (changes display name, not project_code)

  • get_graph_schema

    Get the graph schema definition of a project. Returns the hierarchical schema with nodes (entities) and relationships. Graph schemas define entity hierarchies and typed relationships — a different format than relational flat-table schemas. The response also says whether this save

  • get_graph_template_schemas

    Get pre-built graph template schemas for common use cases. ⭐ USE THIS FIRST when creating a new graph project! Templates show the CORRECT graph schema format with: proper node definitions (description, flat_labels, schema with flat field definitions), relationship configurations

  • get_graph_version_history

    Get the deployment and version history for a graph project. Shows all schema changes with commit SHAs, timestamps, version numbers, and messages. Use this to find a specific version for rollback operations.

  • get_graph_schema_at_version

    Get the graph schema as it existed at a specific version/commit. Use get_graph_version_history to find commit SHAs. Useful for comparing schemas across versions or auditing changes.

  • get_graph_project_info

    Get detailed graph project information including Kubernetes deployment status, Neo4j database health, pod status, and resource usage. Use this after deployment to verify the graph project is running correctly.

  • create_graph_project

    Create a new Neo4j graph database project from a hierarchical JSON schema. ⚠️ GRAPH SCHEMA FORMAT — READ BEFORE CREATING: Graph schemas define nodes (entities) and relationships, NOT flat database tables. Each field is a dict with "type" and optional "required": true (defaults to

  • update_graph_schema

    Replace a graph project's WHOLE schema (saves to database, does NOT deploy). DESTRUCTIVE: an entity, relationship or field the schema leaves out is deleted by the next deploy. ⚠️ Follow ALL rules from create_graph_project: • Must have "nodes" key with at least one entity • Each e

  • deploy_graph_staging

    Deploy a graph project's saved schema to the staging environment. This triggers: (1) Schema validation, (2) Neo4j entity code generation, (3) Docker image build, (4) GitHub commit, (5) Kubernetes deployment with Neo4j instance. The operation is ASYNCHRONOUS — returns immediately

  • deploy_graph_production

    Promote graph staging to production. Creates a separate production Neo4j instance with its own credentials and database. Requires paid plan. A plan that drops data is refused, naming every table, field, entity or relationship it would drop, and every field whose type change round

  • delete_graph_project

    Delete a graph project (removes GitHub repo, K8s deployments, Neo4j database, and credentials). It runs as a job: poll the returned job_id with get_job_status until it is completed. One operation runs on a project at a time: while another runs, the call is refused and the refusal

  • rollback_graph_project

    Rollback a graph project to a previous version. ⚠️ WARNING: This reverts schema AND code to the specified commit. Neo4j data is NOT rolled back. Use get_graph_version_history to find the commit SHA of the version you want to rollback to. After rollback, the graph API will be rede

  • create_graph_node

    Create a single node in a deployed graph project. REQUIRES: Project must be deployed (use deploy_graph_staging first). The entity_type must match an entity key from the project schema. Use get_graph_data_schema to see available entity types and their fields. Example: entity_type:

  • get_graph_node

    Get a specific node by its entity_id from a deployed graph project. Returns all node properties including created_at and updated_at timestamps.

  • list_graph_nodes

    List nodes of a specific entity type from a deployed graph project. Supports pagination with limit/offset. Returns nodes ordered by creation date (newest first).

  • update_graph_node

    Update properties of an existing node in a deployed graph project. Only send the fields you want to change — unspecified fields remain unchanged.

  • delete_graph_node

    Delete a node and all its relationships from a deployed graph project. ⚠️ This also removes all relationships connected to this node (DETACH DELETE).

  • create_graph_relationship

    Create a relationship between two nodes in a deployed graph project. The rel_type must match a relationship key from the project schema. Use get_graph_data_schema to see available relationship types. Example: rel_type: "authored" from_id: "alan-turing-001" to_id: "on-computable-n

  • get_node_relationships

    Get all relationships connected to a specific node. Supports direction filtering (incoming, outgoing, both) and relationship type filtering.

  • delete_graph_relationship

    Delete a specific relationship by its internal ID. Use get_node_relationships to find relationship IDs.

  • bulk_create_graph_nodes

    Create multiple nodes at once (up to 500 per call). Uses Neo4j UNWIND for high performance. Essential for knowledge graph population — create hundreds of entities from a single book chapter or article. Each node needs: entity_id (unique string) and data (properties dict). Example

  • bulk_create_graph_relationships

    Create multiple relationships at once (up to 500 per call). Uses Neo4j UNWIND for high performance. Essential for connecting knowledge — link hundreds of concepts, people, and events in one operation. Each relationship needs: from_id, to_id, and optional data (properties). Exampl

  • search_graph_nodes

    Search for nodes by property values in a deployed graph project. Supports exact match and contains search (prefix value with ~ for contains). Examples: Exact: filters: {"name": "Alan Turing"} Contains: filters: {"name": "~turing"} (case-insensitive) Combined: entity_type: "person

  • fulltext_search_graph

    Search across ALL string properties of ALL nodes in a deployed graph using free-text queries. Unlike search_graph_nodes (which filters by specific property), this searches every text field at once. Perfect for finding knowledge when you don't know which property contains the answ

  • traverse_graph

    Walk the graph from a starting node, discovering connected knowledge. Returns all nodes reachable within max_depth hops, with their distance from the start. Essential for exploring knowledge graphs — find related concepts, trace connections, discover clusters. Example: Start from

  • get_graph_statistics

    Get statistics about a deployed graph: total node count, total relationship count, counts per entity type, counts per relationship type. Essential for understanding the current state of a knowledge graph before adding more data.

  • get_graph_data_schema

    Get the runtime schema of a DEPLOYED graph project — shows the actual entity types and relationship types available for data operations. Returns: Available entity keys (for create_graph_node, list_graph_nodes, etc.) and relationship keys (for create_graph_relationship, etc.). ⭐ U

  • list_modules

    List a project's modules and what each runs: module_id (what every module tool takes), name, type (frontblok or logicblok), repository, url, staging_status (not_deployed, deploying, deployed, failed), deployed_at, image (the image of its last successful build, named by the commit

  • deploy_module

    Deploy a new module from a GitHub repository onto the project's resource pool: a frontblok module is a Vite frontend, a logicblok module a backend built from its Dockerfile that serves port 8000 with GET /health. Its job clones the repository (the default branch head, or git_ref)

  • redeploy_module

    Rebuild a module from its repository's default branch head and roll it out, keeping its pod count. Its data and settings are untouched; the project's API (staging and production) and its backend modules restart to take the module's CORS origin. The operation is ASYNCHRONOUS: poll

  • update_module

    Rename a module, or point it at another GitHub repository, which its next redeploy builds. Pass module_name, github_repo_url or both. One operation runs on a module at a time, and none beside an operation on its project: the refusal names the running job; wait for it with get_job

  • delete_module

    Remove a module: its pods stop and it leaves the project and its CORS origins. DESTRUCTIVE. One operation runs on a module at a time, and none beside an operation on its project: the refusal names the running job; wait for it with get_job_status, then call again. While RationalBl

  • set_module_env

    Set a module's environment variables: {NAME: value} sets one, {NAME: null} removes one, and every variable not named is kept. A backend module restarts to take them; a frontend module rebuilds (they are build arguments). Values are stored encrypted and never returned: the answer

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 11일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 도메인 rationalbloks.com 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)

  • ✓ 통과

    계속 관리되고 있음

    코드 마지막 변경: 28일 전

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • ✓ 통과

    엔드포인트 응답

    560ms 만에 응답(HTTP 200)

  • – 해당 없음

    OAuth로 로그인

    로그인 필요 없음

  • ✓ 통과

    도구 설명에 숨겨진 지시 없음

    도구 설명 60개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요

개발자 도구 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 5739개 중 65%보다 스타가 많아요
  • 이 카테고리의 다른 서버 5739개 중 100%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 5739개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

RationalBloks, 안전한가요?

해당하는 기본 점검 4개 중 4개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: RATIONALBLOKS_API_KEY

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 28일 전 변경됐고, 최신 버전(0.16.2)은 오늘 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: REA, Netdata, Front-End Checklist

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

REA

Reverse engineer anything from your terminal or agent with one CLI and MCP server.

제작자: morluto널리 사용됨↓ 38.9만/주★ 44.8만16일 전 업데이트

내 컴퓨터에서 실행

Netdata

Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.

제작자: netdata널리 사용됨★ 8.1만6일 전 업데이트

클라우드에서 실행

Front-End Checklist

Review frontend code and live pages against 386 quality-gated web development rules.

제작자: thedaviddias널리 사용됨★ 7.5만37일 전 업데이트

클라우드에서 실행

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

RationalBloks MCP Server

Deploy production APIs in minutes. Tools for projects, schemas, deployments, modules, object storage, and graph data — delivered on infrastructure you own (self-host or your own BYOC cluster).

What Is This?

RationalBloks MCP lets AI agents (Claude Code, Claude Desktop, Cursor, VS Code, etc.) deploy production APIs from a JSON schema, and deploy and run the frontends and backends built on them. No backend code to write. No infrastructure to manage.

"Create a task management API with tasks, projects, and users"

→ 2 minutes later: Production API running on Kubernetes

Installation

# recommended — no install step; @latest checks for a new release at every start

uvx rationalbloks-mcp@latest

or install into an environment

pip install rationalbloks-mcp

Quick Start

1. Get Your API Key

Visit rationalbloks.com/settings and create an API key. A key carries scopes: a read key reaches only the read tools, a read + write key reaches every tool. The server lists only the tools your key may call.

2. Configure Your AI Agent

Claude Code — remote server (no install):

claude mcp add --transport http rationalbloks https://mcp.rationalbloks.com/mcp \

--header "Authorization: Bearer rb_sk_your_key_here"

or the local server:

claude mcp add --env RATIONALBLOKS_API_KEY=rb_sk_your_key_here rationalbloks \

-- uvx rationalbloks-mcp@latest

--scope project writes the server to the repository's .mcp.json instead, to share it with a team. Keep the key out of the file with "Authorization": "Bearer ${RATIONALBLOKS_API_KEY}": Claude Code expands the variable from each developer's environment.

VS Code — add to .vscode/mcp.json (Cursor: .cursor/mcp.json with a mcpServers key):

{

"servers": { "rationalbloks": { "command": "uvx", "args": ["rationalbloks-mcp@latest"], "env": { "RATIONALBLOKS_API_KEY": "rb_sk_your_key_here" } } } }

Claude Desktop — add to claude_desktop_config.json:

{

"mcpServers": { "rationalbloks": { "command": "uvx", "args": ["rationalbloks-mcp@latest"], "env": { "RATIONALBLOKS_API_KEY": "rb_sk_your_key_here" } } } }

Any other client: point it at https://mcp.rationalbloks.com/mcp (Streamable HTTP) with Authorization: Bearer rb_sk_....

3. Claude Code Permissions

Every tool that can lose data carries destructiveHint: true, and no other tool can lose data. One allow rule covers the server, and ask rules keep a prompt on the tools that can lose data. Claude Code evaluates ask rules before allow rules, so they prompt even though the server is allowed, and in auto mode they still prompt, because they run before the classifier. Add this to .claude/settings.json (the project) or ~/.claude/settings.json (every project):

{

"permissions": { "allow": ["mcprationalbloks"], "ask": [ "mcprationalbloks__update_schema", "mcprationalbloksdrop_schema_items", "mcprationalbloksdeploy_destructive", "mcprationalbloksrollback_project", "mcprationalbloksdelete_project", "mcprationalbloksupdate_graph_schema", "mcprationalbloksrollback_graph_project", "mcprationalbloksdelete_graph_project", "mcprationalbloksdelete_graph_node", "mcprationalbloksdelete_graph_relationship", "mcprationalbloksset_module_env", "mcprationalbloksdelete_module" ] } }

Add "mcp__rationalbloks__deploy_production" to ask to approve each production release yourself.

Asked before every change: allow only the read tools instead. These rules match every read tool and no other:

{

"permissions": { "allow": [ "mcprationalbloksget_*", "mcprationalblokslist_*", "mcprationalblokssearch_graph_nodes", "mcprationalbloksfulltext_search_graph", "mcprationalblokstraverse_graph", "mcprationalblokspreview_schema_change" ] } }

Read-only server: register a second server with a read key. It lists only the read tools and the platform refuses every other call, so one rule allows all of it:

claude mcp add --transport http rationalbloks-read https://mcp.rationalbloks.com/mcp \

--header "Authorization: Bearer rb_sk_your_read_key"

{ "permissions": { "allow": ["mcp__rationalbloks-read"] } }

Auto mode reads autoMode only from ~/.claude/settings.json, managed settings or --settings, never from a project's .claude/settings.json. If its classifier blocks routine RationalBloks calls, describe your project there, keeping $defaults (replace MyProject and apps.yourdomain.com with your project's name and your cluster's domain):

{

"autoMode": { "environment": [ "$defaults", "Key internal services: RationalBloks (MCP server rationalbloks, https://mcp.rationalbloks.com), where our project MyProject runs; its staging environment is for development", "Trusted internal domains: rationalbloks.com and *.rationalbloks.com; *.apps.yourdomain.com, where MyProject's APIs and modules are served", "Sensitive remote targets: MyProject's production environment" ] } }

Run claude auto-mode config to see the rules in effect, or edit them in /permissions (Auto mode tab).


Tools

Read tools only read. Write tools change something, and never lose data. Destructive tools can lose data, and carry destructiveHint: true: they replace a whole schema (update_schema, update_graph_schema), drop, delete, roll back, deploy a plan that drops data (deploy_destructive), or overwrite a module's environment (set_module_env).

A plan drops data when it drops a table or field, or changes a field's type in a way that rounds or cuts its stored values (a decimal given a smaller scale or turned integer, a datetime turned date). The deploy tools refuse such a plan and name each drop; deploy_destructive applies it.

A long operation (create, deploy, rollback, delete, module operations) runs as a job: the tool answers a job_id, and get_job_status follows it to its result.

Relational Projects
ToolKindDescription
list_projectsreadList all your projects
get_projectreadGet project details
get_schemareadGet the current JSON schema (optionally only some tables or fields)
get_user_inforeadGet authenticated user info
list_clustersreadList your BYOC resource pools (client-owned clusters)
get_job_statusreadFollow a job (create, deploy, promotion, rollback, deletion, module operation) to its result
list_project_jobsreadA project's jobs, newest first, each with its outcome
get_project_inforeadDetailed project info with K8s status
get_version_historyreadGit commit history
get_template_schemasreadPre-built schema templates
get_schema_referencereadAdvanced schema features reference (__policy__, computed, __constraints__, __audit__)
get_subscription_statusreadPlan and usage limits
get_project_usagereadCPU/memory metrics
get_project_storage_usagereadObject-storage file count and bytes used vs limits
list_project_filesreadList uploaded files (metadata + public URLs)
get_schema_at_versionreadSchema at a specific commit
preview_schema_changereadPreview a change (patch operations or a whole schema): the migration plan and every drop, saving nothing
create_projectwriteCreate a project from a schema (cluster_id of one of your BYOC pools; backend_type python or rust)
patch_schemawriteChange part of the schema: add, rename and set tables and fields. Never drops
deploy_stagingwriteDeploy the saved schema to staging. Refuses a plan that drops data
deploy_productionwritePromote staging to production. Refuses a plan that drops data
redeploy_projectwriteRebuild and roll out staging from the schema it runs, with no schema change
rename_projectwriteRename a project
update_schemadestructiveReplace the whole schema: a table or field it leaves out is dropped by the next deploy
drop_schema_itemsdestructiveDrop tables or fields from the saved schema
deploy_destructivedestructiveDeploy a plan that drops data, to staging or production (relational or graph)
rollback_projectdestructiveRoll schema and code back to a previous version
delete_projectdestructiveDelete a project permanently
Graph Projects
ToolKindDescription
get_graph_schemareadGet a graph project's schema
get_graph_template_schemasreadPre-built graph schema templates
get_graph_version_historyreadGraph schema version history
get_graph_schema_at_versionreadSchema at a specific version
get_graph_project_inforeadGraph project info with K8s/Neo4j status
create_graph_projectwriteCreate a Neo4j graph project
deploy_graph_stagingwriteDeploy the saved graph schema to staging. Refuses a plan that drops data
deploy_graph_productionwritePromote graph staging to production. Refuses a plan that drops data
update_graph_schemadestructiveReplace the whole graph schema: what it leaves out is dropped by the next deploy
rollback_graph_projectdestructiveRoll a graph project back to a previous version
delete_graph_projectdestructiveDelete a graph project
Graph Data
ToolKindDescription
get_graph_nodereadGet a node by ID
list_graph_nodesreadList nodes by entity type
get_node_relationshipsreadGet a node's relationships
search_graph_nodesreadSearch nodes by property filters
fulltext_search_graphreadFull-text search across all fields
traverse_graphreadTraverse the graph from a node
get_graph_statisticsreadGraph statistics (counts)
get_graph_data_schemareadThe deployed data schema
create_graph_nodewriteCreate a node
update_graph_nodewriteUpdate node properties
create_graph_relationshipwriteCreate a relationship
bulk_create_graph_nodeswriteCreate up to 500 nodes
bulk_create_graph_relationshipswriteCreate up to 500 relationships
delete_graph_nodedestructiveDelete a node and its relationships
delete_graph_relationshipdestructiveDelete a relationship
Modules

A module is one of a project's own frontends (frontblok) or backends (logicblok), built from a GitHub repository and run beside the project.

ToolKindDescription
list_modulesreadA project's modules: id, type, repository, URL, status, pods, resources, the image last built
deploy_modulewriteDeploy a new module from a GitHub repository
redeploy_modulewriteRebuild a module from its repository's default branch head and roll it out
update_modulewriteRename a module or point it at another repository

|

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요