Odel
RationalBloks

RationalBloks

@rationalbloksDeveloper Tools1PythonUpdated 2mo ago

Deploy production REST APIs from JSON schemas in seconds. Manage projects, schemas, and deployments.

Server endpointStreamable HTTP

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

RationalBloks MCP Server

Deploy production APIs in minutes. 44 tools for projects, schemas, deployments, and graph data.

License Python PyPI

What Is This?

RationalBloks MCP lets AI agents (Claude, Cursor, etc.) deploy production APIs from a JSON schema. 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

pip install rationalbloks-mcp

Quick Start

1. Get Your API Key

Visit rationalbloks.com/settings and create an API key.

2. Configure Your AI Agent

VS Code / Cursor - Add to settings.json:

{
  "mcp.servers": {
    "rationalbloks": {
      "command": "rationalbloks-mcp",
      "env": {
        "RATIONALBLOKS_API_KEY": "rb_sk_your_key_here"
      }
    }
  }
}

Claude Desktop - Add to claude_desktop_config.json:

{
  "mcpServers": {
    "rationalbloks": {
      "command": "rationalbloks-mcp",
      "env": {
        "RATIONALBLOKS_API_KEY": "rb_sk_your_key_here"
      }
    }
  }
}

44 Tools

Relational Read Operations (11 tools)

ToolDescription
list_projectsList all your projects
get_projectGet project details
get_schemaGet current JSON schema
get_user_infoGet authenticated user info
get_job_statusCheck deployment job status
get_project_infoDetailed project info with K8s status
get_version_historyGit commit history
get_template_schemasPre-built schema templates
get_subscription_statusPlan and usage limits
get_project_usageCPU/memory metrics
get_schema_at_versionSchema at specific commit

Relational Write Operations (7 tools)

ToolDescription
create_projectCreate new project from schema
update_schemaUpdate project schema
deploy_stagingDeploy to staging environment
deploy_productionDeploy to production
delete_projectDelete project permanently
rollback_projectRollback to previous version
rename_projectRename project

Graph Schema Operations (11 tools)

ToolDescription
get_graph_schemaGet graph project schema
get_graph_template_schemasPre-built graph schema templates
get_graph_version_historyGraph schema version history
get_graph_schema_at_versionSchema at specific version
get_graph_project_infoGraph project info with K8s/Neo4j status
create_graph_projectCreate Neo4j graph project
update_graph_schemaUpdate graph schema
deploy_graph_stagingDeploy graph to staging
deploy_graph_productionDeploy graph to production
delete_graph_projectDelete graph project
rollback_graph_projectRollback graph to previous version

Graph Data Operations (15 tools)

ToolDescription
create_graph_nodeCreate a single node
get_graph_nodeGet node by ID
list_graph_nodesList nodes by entity type
update_graph_nodeUpdate node properties
delete_graph_nodeDelete a node
create_graph_relationshipCreate a relationship
get_node_relationshipsGet node's relationships
delete_graph_relationshipDelete a relationship
bulk_create_graph_nodesBulk create nodes
bulk_create_graph_relationshipsBulk create relationships
search_graph_nodesSearch nodes by property filters
fulltext_search_graphFull-text search across all fields
traverse_graphTraverse graph from a node
get_graph_statisticsGet graph statistics (counts)
get_graph_data_schemaGet deployed data schema

Schema Format

Schemas must be in FLAT format:

{
  "tasks": {
    "title": {"type": "string", "max_length": 200, "required": true},
    "status": {"type": "string", "max_length": 50, "enum": ["pending", "done"]},
    "due_date": {"type": "date", "required": false}
  },
  "projects": {
    "name": {"type": "string", "max_length": 100, "required": true}
  }
}

Field Types

TypeRequired Properties
stringmax_length
textNone
integerNone
decimalprecision, scale
booleanNone
uuidNone
dateNone
datetimeNone
jsonNone

Auto-Generated Fields

These are automatic - don't define them:

  • id (UUID primary key)
  • created_at (datetime)
  • updated_at (datetime)

User Authentication

Use the built-in app_users table:

{
  "employee_profiles": {
    "user_id": {"type": "uuid", "foreign_key": "app_users.id", "required": true},
    "department": {"type": "string", "max_length": 100}
  }
}

Frontend

For frontend development, use our NPM packages:

npm install @rationalbloks/frontblok-auth @rationalbloks/frontblok-crud

These provide:

  • frontblok-auth: Authentication, login, tokens, user context
  • frontblok-crud: Generic CRUD via getApi().getAll(), getApi().create(), etc.

Environment Variables

VariableDescriptionDefault
RATIONALBLOKS_API_KEYYour API key (required)-
RATIONALBLOKS_TIMEOUTRequest timeout (seconds)30
RATIONALBLOKS_LOG_LEVELLog levelINFO

Support

License

Proprietary - Copyright 2026 RationalBloks. All Rights Reserved.