rationalbloks avatar

RationalBloks

rationalbloks/rationalbloks-mcp

Turns Claude into a deployment agent for RationalBloks, the backend-as-a-service platform. Exposes 44 tools split between relational projects (create, update, deploy to staging/production, rollback) and Neo4j graph databases (schema management, node/relationship CRUD, traversal, full-text search). You provide a JSON schema defining your entities and fields, the server handles deployment to Kubernetes and returns a production REST API. The workflow is conversational: describe your data model, let Claude generate the schema, deploy it, then manage versions and rollbacks through chat. Useful when you want to prototype APIs without writing backend code or need to give an AI agent control over your RationalBloks infrastructure.

GitHub stars
1
tools
64
auth
Secret needed
transport
STDIO, HTTP
env var
1
last updated
Nov 10, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.rationalbloks.com/ --name rationalbloks-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

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

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 64 tools

Verified live against the running server on Nov 6, 2026.

list_projectsList all your RationalBloks projects with their status and URLs

List all your RationalBloks projects with their status and URLs

No parameters. Call it with no arguments.

get_projectGet detailed information about a specific project1 params

Get detailed information about a specific project

Parameters* required
project_id*string
Project ID (UUID)
get_schemaGet 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, cop...3 params

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, cop...

Parameters* required
fieldsarray
Read only these fields, each written 'table.field' (e.g. ["parameters.is_clock"]); their table's own keys come with them.
project_id*string
Project ID (UUID)
tablesarray
Read only these tables, whole (e.g. ["parameters"]). A table the schema does not hold is refused.
get_user_infoGet information about the authenticated user

Get information about the authenticated user

No parameters. Call it with no arguments.

list_clustersList 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...

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

No parameters. Call it with no arguments.

get_job_statusCheck 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 st...1 params

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 st...

Parameters* required
job_id*string
Job ID a create, deploy, promotion, rollback, deletion or module operation answered
list_project_jobsList 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...3 params

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

Parameters* required
limitinteger
Max jobs to return (1-1000, default 100)
offsetinteger
Jobs to skip, newest first (default 0)
project_id*string
Project ID (UUID)
get_project_infoGet 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 Cras...1 params

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 Cras...

Parameters* required
project_id*string
Project ID (UUID)
get_version_historyGet 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.1 params

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.

Parameters* required
project_id*string
Project ID (UUID)
get_template_schemasGet 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, bes...

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, bes...

No parameters. Call it with no arguments.

get_schema_referenceGet 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 decid...

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 decid...

No parameters. Call it with no arguments.

get_subscription_statusGet your subscription tier, limits, and usage

Get your subscription tier, limits, and usage

No parameters. Call it with no arguments.

get_project_usageGet resource usage metrics (CPU, memory) for a project1 params

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

Parameters* required
project_id*string
Project ID (UUID)
get_project_storage_usageGet object-storage usage for a project: file count and bytes used against the plan limits.2 params

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

Parameters* required
environmentstring
Environment: staging or production (default: production)
project_id*string
Project ID (UUID)
list_project_filesList a project's uploaded files (metadata + public URLs), most recent first. Inspection only — files are not streamed through MCP.4 params

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

Parameters* required
environmentstring
Environment: staging or production (default: production)
limitinteger
Max files to return (1-1000, default 100)
offsetinteger
Pagination offset (default 0)
project_id*string
Project ID (UUID)
get_schema_at_versionGet the schema as it was at a specific version/commit2 params

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

Parameters* required
project_id*string
Project ID (UUID)
version*string
Commit SHA of the version
preview_schema_changePreview 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 o...3 params

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 o...

Parameters* required
operationsarray
A change to part of a relational schema, as patch_schema or drop_schema_items take it. Pass this or schema.
project_id*string
Project ID (UUID)
schemaobject
A whole schema in place of the saved one (relational or graph). Pass this or operations.
create_projectCreate 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:...4 params

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:...

Parameters* required
backend_typestring
Backend engine: 'python' (FastAPI, default) or 'rust' (Axum, faster). Default: pythonone of python · rust
cluster_id*string
REQUIRED — BYOC resource pool ID (from list_clusters) to deploy this project onto your own cluster. Owned hosting is retired: a project we operate must run on your own infrastructure. Register a po...
name*string
Project name
schema*object
JSON schema in FLAT format (table_name → field_name → properties). Every field MUST have a 'type' property. Use get_template_schemas to see valid examples.
update_schemaReplace 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 bac...3 params

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 bac...

Parameters* required
expected_versionstring
The 'version' a get_schema read answered. The save is refused (409) when the saved schema changed since, so two editors never overwrite each other silently.
project_id*string
Project ID (UUID)
schema*object
New JSON schema in FLAT format (table_name → field_name → properties) — the WHOLE schema. Every field MUST have a 'type' property.
patch_schemaChange 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 ren...3 params

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 ren...

Parameters* required
expected_versionstring
The 'version' a get_schema read answered. The patch is refused (409) when the saved schema changed since, so two editors never overwrite each other silently.
operations*array
The operations, applied in order and all together. See the tool description for every op and its fields.
project_id*string
Project ID (UUID)
drop_schema_itemsDrop 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", "fie...3 params

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", "fie...

Parameters* required
expected_versionstring
The 'version' a get_schema read answered. The drop is refused (409) when the saved schema changed since.
operations*array
The drops: drop_table(table) and drop_field(table, field) operations, applied in order and all together.
project_id*string
Project ID (UUID)
deploy_stagingDeploy 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_st...1 params

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_st...

Parameters* required
project_id*string
Project ID (UUID)
deploy_productionPromote 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 operati...1 params

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 operati...

Parameters* required
project_id*string
Project ID (UUID)
deploy_destructiveDeploy 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_...2 params

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_...

Parameters* required
environment*string
staging (deploys the saved schema) or production (promotes staging)one of staging · production
project_id*string
Project ID (UUID), relational or graph
redeploy_projectRebuild 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 sch...1 params

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 sch...

Parameters* required
project_id*string
Project ID (UUID), relational or graph
delete_projectDelete 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...1 params

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

Parameters* required
project_id*string
Project ID (UUID)
rollback_projectRollback 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 th...3 params

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 th...

Parameters* required
environmentstring
Environment: staging or production (default: staging)
project_id*string
Project ID (UUID)
version*string
Commit SHA or version to rollback to
rename_projectRename a project (changes display name, not project_code)2 params

Rename a project (changes display name, not project_code)

Parameters* required
name*string
New display name for the project
project_id*string
Project ID (UUID)
get_graph_schemaGet 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 s...1 params

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 s...

Parameters* required
project_id*string
Project ID (UUID)
get_graph_template_schemasGet 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 configuratio...

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 configuratio...

No parameters. Call it with no arguments.

get_graph_version_historyGet 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.1 params

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.

Parameters* required
project_id*string
Project ID (UUID)
get_graph_schema_at_versionGet 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.2 params

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.

Parameters* required
project_id*string
Project ID (UUID)
version*string
Commit SHA of the version to retrieve
get_graph_project_infoGet 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.1 params

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.

Parameters* required
project_id*string
Project ID (UUID)
create_graph_projectCreate 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...3 params

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

Parameters* required
cluster_id*string
REQUIRED — BYOC resource pool ID (from list_clusters) to deploy this graph project onto your own cluster. Owned hosting is retired: a project we operate must run on your own infrastructure. Registe...
name*string
Project name
schema*object
Graph schema with 'nodes' and optionally 'relationships' keys. Use get_graph_template_schemas to see valid examples.
update_graph_schemaReplace 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 • Eac...3 params

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 • Eac...

Parameters* required
expected_versionstring
The 'version' a get_graph_schema read answered. The save is refused (409) when the saved schema changed since.
project_id*string
Project ID (UUID)
schema*object
New graph schema with 'nodes' and optionally 'relationships' keys — the WHOLE schema.
deploy_graph_stagingDeploy 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 immediate...1 params

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 immediate...

Parameters* required
project_id*string
Project ID (UUID)
deploy_graph_productionPromote 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 ro...1 params

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 ro...

Parameters* required
project_id*string
Project ID (UUID)
delete_graph_projectDelete 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 refu...1 params

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 refu...

Parameters* required
project_id*string
Project ID (UUID)
rollback_graph_projectRollback 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 r...3 params

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 r...

Parameters* required
environmentstring
Environment: staging or production (default: staging)
project_id*string
Project ID (UUID)
version*string
Commit SHA to rollback to
create_graph_nodeCreate 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_ty...5 params

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_ty...

Parameters* required
data*object
Node properties matching the entity schema
entity_id*string
Unique identifier for the node
entity_type*string
Entity key (e.g., 'person', 'concept')
environmentstring
Environment: staging or production (default: staging)
project_id*string
Project ID (UUID)
get_graph_nodeGet a specific node by its entity_id from a deployed graph project. Returns all node properties including created_at and updated_at timestamps.4 params

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

Parameters* required
entity_id*string
The node's entity_id
entity_type*string
Entity key (e.g., 'person', 'concept')
environmentstring
Environment: staging or production (default: staging)
project_id*string
Project ID (UUID)
list_graph_nodesList nodes of a specific entity type from a deployed graph project. Supports pagination with limit/offset. Returns nodes ordered by creation date (newest first).5 params

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).

Parameters* required
entity_type*string
Entity key (e.g., 'person', 'concept')
environmentstring
Environment: staging or production (default: staging)
limitinteger
Max results (default: 100, max: 1000)
offsetinteger
Pagination offset (default: 0)
project_id*string
Project ID (UUID)
update_graph_nodeUpdate properties of an existing node in a deployed graph project. Only send the fields you want to change — unspecified fields remain unchanged.5 params

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

Parameters* required
data*object
Properties to update (partial update)
entity_id*string
The node's entity_id
entity_type*string
Entity key (e.g., 'person', 'concept')
environmentstring
Environment: staging or production (default: staging)
project_id*string
Project ID (UUID)
delete_graph_nodeDelete a node and all its relationships from a deployed graph project. ⚠️ This also removes all relationships connected to this node (DETACH DELETE).4 params

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

Parameters* required
entity_id*string
The node's entity_id
entity_type*string
Entity key (e.g., 'person', 'concept')
environmentstring
Environment: staging or production (default: staging)
project_id*string
Project ID (UUID)
create_graph_relationshipCreate 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-computabl...6 params

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-computabl...

Parameters* required
dataobject
Relationship properties (optional)
environmentstring
Environment: staging or production (default: staging)
from_id*string
Source node entity_id
project_id*string
Project ID (UUID)
rel_type*string
Relationship key (e.g., 'authored', 'related_to')
to_id*string
Target node entity_id
get_node_relationshipsGet all relationships connected to a specific node. Supports direction filtering (incoming, outgoing, both) and relationship type filtering.6 params

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

Parameters* required
directionstring
Filter: incoming, outgoing, or both (default: both)
entity_id*string
The node's entity_id
entity_type*string
Entity key of the node
environmentstring
Environment: staging or production (default: staging)
project_id*string
Project ID (UUID)
rel_type_filterstring
Filter by relationship type (UPPER_SNAKE_CASE)
delete_graph_relationshipDelete a specific relationship by its internal ID. Use get_node_relationships to find relationship IDs.4 params

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

Parameters* required
environmentstring
Environment: staging or production (default: staging)
project_id*string
Project ID (UUID)
rel_id*integer
Internal relationship ID (from get_node_relationships)
rel_type*string
Relationship key
bulk_create_graph_nodesCreate 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). Exam...4 params

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). Exam...

Parameters* required
entity_type*string
Entity key for all nodes
environmentstring
Environment: staging or production (default: staging)
nodes*array
List of nodes. Each: {entity_id: string, data: {properties}}
project_id*string
Project ID (UUID)
bulk_create_graph_relationshipsCreate 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). Exa...4 params

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). Exa...

Parameters* required
environmentstring
Environment: staging or production (default: staging)
project_id*string
Project ID (UUID)
rel_type*string
Relationship key for all relationships
relationships*array
List of relationships. Each: {from_id, to_id, data?}
search_graph_nodesSearch 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: "per...6 params

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: "per...

Parameters* required
entity_typestring
Entity key to filter by (optional — omit to search all types)
environmentstring
Environment: staging or production (default: staging)
filters*object
Property filters. Prefix value with ~ for contains search.
limitinteger
Max results (default: 100, max: 1000)
offsetinteger
Pagination offset (default: 0)
project_id*string
Project ID (UUID)
fulltext_search_graphSearch 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 a...6 params

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 a...

Parameters* required
entity_typestring
Entity key to filter by (optional — omit to search all types)
environmentstring
Environment: staging or production (default: staging)
limitinteger
Max results (default: 50, max: 500)
offsetinteger
Pagination offset (default: 0)
project_id*string
Project ID (UUID)
query*string
Search text (case-insensitive, min 2 chars)
traverse_graphWalk 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 f...8 params

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 f...

Parameters* required
directionstring
Direction: outgoing, incoming, or both (default: both)
environmentstring
Environment: staging or production (default: staging)
limitinteger
Max results (default: 100, max: 1000)
max_depthinteger
Maximum traversal depth (default: 3, max: 10)
project_id*string
Project ID (UUID)
relationship_typesarray
Filter by relationship types (UPPER_SNAKE_CASE). Omit for all types.
start_entity_id*string
Entity ID of the starting node
start_entity_type*string
Entity key of the starting node
get_graph_statisticsGet 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.2 params

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.

Parameters* required
environmentstring
Environment: staging or production (default: staging)
project_id*string
Project ID (UUID)
get_graph_data_schemaGet 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.)....2 params

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.)....

Parameters* required
environmentstring
Environment: staging or production (default: staging)
project_id*string
Project ID (UUID)
list_modulesList 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 com...1 params

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 com...

Parameters* required
project_id*string
Project ID (UUID)
deploy_moduleDeploy 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_r...9 params

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_r...

Parameters* required
cpu_millicoresinteger
CPU allocation (default: 100)
dockerfile_pathstring
Dockerfile path inside the repository (default: Dockerfile)
env_varsobject
Environment variables {NAME: value}, each value text
git_refstring
Branch, tag or commit SHA for this first build (default: the default branch head)
github_repo_url*string
https://github.com/<owner>/<repo>
memory_mbinteger
Memory allocation (default: 128)
module_name*string
Display name
module_type*string
frontblok (a Vite frontend) or logicblok (a backend built from its Dockerfile)one of frontblok · logicblok
project_id*string
Project ID (UUID) the module belongs to
redeploy_moduleRebuild 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: p...1 params

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: p...

Parameters* required
module_id*string
Module ID (list_modules)
update_moduleRename 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_...3 params

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_...

Parameters* required
github_repo_urlstring
New repository, https://github.com/<owner>/<repo>
module_id*string
Module ID (list_modules)
module_namestring
New display name
delete_moduleRemove 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 Rationa...1 params

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 Rationa...

Parameters* required
module_id*string
Module ID (list_modules)
set_module_envSet 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 answ...2 params

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 answ...

Parameters* required
env_vars*object
{NAME: value} to set (text), {NAME: null} to remove; variables not named are kept
module_id*string
Module ID (list_modules)
freeze_moduleStop a module's pods (scale to 0), remembering how many it ran; unfreeze_module starts them again. Freezing a frozen module changes nothing. 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 wi...1 params

Stop a module's pods (scale to 0), remembering how many it ran; unfreeze_module starts them again. Freezing a frozen module changes nothing. 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 wi...

Parameters* required
module_id*string
Module ID (list_modules)
unfreeze_moduleStart a frozen module's pods again, as many as it ran before the freeze. A running module is left as it is. 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 agai...1 params

Start a frozen module's pods again, as many as it ran before the freeze. A running module is left as it is. 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 agai...

Parameters* required
module_id*string
Module ID (list_modules)
scale_moduleRun 1 or 2 pods of a module (freeze_module stops it). 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 RationalBloks is being updated, the call is r...2 params

Run 1 or 2 pods of a module (freeze_module stops it). 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 RationalBloks is being updated, the call is r...

Parameters* required
module_id*string
Module ID (list_modules)
replicas*integer
1 or 2 podsone of 1 · 2
set_module_resourcesSet a module's CPU and memory and rebuild it so its pods take them. The allocation is checked against the resource pool's capacity first; a refused one is restored. The operation is ASYNCHRONOUS: poll the returned job_id with get_job_status. One operation runs on a module at a...3 params

Set a module's CPU and memory and rebuild it so its pods take them. The allocation is checked against the resource pool's capacity first; a refused one is restored. The operation is ASYNCHRONOUS: poll the returned job_id with get_job_status. One operation runs on a module at a...

Parameters* required
cpu_millicores*integer
CPU allocation in millicores
memory_mb*integer
Memory allocation in MB
module_id*string
Module ID (list_modules)

Sponsors

Configuration

RATIONALBLOKS_API_KEY*secret

Your RationalBloks API key (get it from rationalbloks.com/settings)

Readme

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).

License Python PyPI

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-5 minutes later: the API runs on staging, on your Kubernetes cluster

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


View the full README on GitHub

Details

Repository
github.com/rationalbloks/rationalbloks-mcp
Categories
Databases, Data & Analytics
Package
rationalbloks-mcp
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active
Resources
3
Prompts
3
Tools verified
Nov 6, 2026

Related Databases MCP servers

View all
1seob717 avatarRedash Mcpseob717/redash-mcpConnect Redash to Claude -- query data, manage dashboards, and run SQL with natural language.1stars
2theyahia avatarclaude-webcachetheyahia/claude-webcacheCross-session WebFetch cache for Claude Code. Unlimited TTL by default, SQLite, MCP plugin.1stars
3achreftlili avatarCode Indexachreftlili/code-indexSQLite-backed hybrid (vector + FTS) code search index for Claude Code over MCP.0stars
4ashwanthramkl avatarWhoop Mcpashwanthramkl/whoop-mcpRead-only WHOOP v2 data for MCP clients, with local SQLite cache and CSV/JSONL/Parquet exports.0stars
5icecat avatarIcecatbiz.icecat/mcpRetrieve product specifications and technical details from Icecat's database0stars
6bluetieroperations-create avatarBlackwallbluetieroperations-create/blackwall-mcpAPI-key pre-action risk gate: any irreversible agent action (money, SQL, delete, email).0stars