Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

RationalBloks

REMOTE · MCP.RATIONALBLOKS.COM · 2 COMPONENTS

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

0 this week 75 Trust /100

Last scanned (7 hours ago)

Scores higher than 64% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Cloud Infrastructure

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security46
Transport & Reachability100
Schema Quality & AI Usability80
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 11724 tokens (~174/item across 67 items; 64 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 12 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 66 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 14 Oct 26 0
    • Stability: 0.97 → pass security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_schema_reference” rewrote its description, which is the text the model reads security
    • Tool “create_project” rewrote its description, which is the text the model reads security
    • Tool “update_schema” rewrote its description, which is the text the model reads security
    • Server version: 0.16.0 → 0.16.1 functional
  • 13 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 93. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 10 Oct 26 +3
    • Schema quality: 9955 → 11666 ▼ functional
  • 3 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 24 Sept 26 0
    • Tool “get_schema” rewrote its description, which is the text the model reads security
    • Tool “update_schema” rewrote its description, which is the text the model reads security
    • Server version: 0.14.1 → 0.15.0 functional
    • New tool “patch_schema” functional
    • “get_schema” added an optional parameter “fields” cosmetic
    • “get_schema” added an optional parameter “tables” cosmetic
    • “update_schema” added an optional parameter “expected_version” cosmetic
    • “update_schema” reworded the description of “dry_run” cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://mcp.rationalbloks.com/

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.rationalbloks.com CN=YR1,O=Let's Encrypt,C=US 11 Sept 2026 10 Dec 2026 RSA 2048 SHA256-RSA 657d158882d7dba339553324a8887d6b901
SANs: mcp.rationalbloks.com
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.rationalbloks.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
rationalbloks.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.rationalbloks.com/ Verified 200
http (plaintext) http://mcp.rationalbloks.com/ Inconclusive 404
MCP tools · 64 exposed · ~11,267 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
bulk_create_graph_nodes ~231

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: entity_type: "concept" nodes: [ {"entity_id": "quantum-mechanics-001", "data": {"name": "Quantum Mechanics", "field": "Physics"}}, {"entity_id": "wave-function-001", "data": {"name": "Wave Function", "field": "Physics"}}, {"entity_id": "superposition-001", "data": {"name": "Superposition", "field": "Physics"}} ]

NameTypeReqDescription
entity_typestringyesEntity key for all nodes
environmentstring–Environment: staging or production (default: staging)
nodesarrayyesList of nodes. Each: {entity_id: string, data: {properties}}
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

bulk_create_graph_relationships ~213

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). Example: rel_type: "related_to" relationships: [ {"from_id": "quantum-mechanics-001", "to_id": "wave-function-001", "data": {"strength": "strong"}}, {"from_id": "quantum-mechanics-001", "to_id": "superposition-001", "data": {"strength": "strong"}} ]

NameTypeReqDescription
environmentstring–Environment: staging or production (default: staging)
project_idstringyesProject ID (UUID)
rel_typestringyesRelationship key for all relationships
relationshipsarrayyesList of relationships. Each: {from_id, to_id, data?}

No output schema declared.

No examples provided.

create_graph_node ~196

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: "person" entity_id: "alan-turing-001" data: {"name": "Alan Turing", "birth_year": 1912, "field": "Computer Science"} The entity_id is your unique identifier — use meaningful IDs for knowledge graphs.

NameTypeReqDescription
dataobjectyesNode properties matching the entity schema
entity_idstringyesUnique identifier for the node
entity_typestringyesEntity key (e.g., 'person', 'concept')
environmentstring–Environment: staging or production (default: staging)
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

create_graph_project ~607

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 false). SCHEMA STRUCTURE: { "nodes": { "EntityName": { "description": "What this entity represents", "flat_labels": ["AdditionalLabel"], "schema": { "field_name": {"type": "string", "required": true}, "other_field": {"type": "integer"} } } }, "relationships": { "RELATIONSHIP_TYPE": { "from": "EntityName", "to": "OtherEntity", "cardinality": "MANY_TO_MANY", "data_schema": { "field_name": {"type": "date"} } } } } FIELD TYPES: string, integer, float, boolean, date, json CARDINALITY OPTIONS: ONE_TO_ONE, ONE_TO_MANY, MANY_TO_ONE, MANY_TO_MANY HIERARCHICAL NODES: nest an entity inside its parent entity (beside "description", "flat_labels" and "schema") to create a type hierarchy; the child inherits the parent's labels: "Animal": {"description": "...", "schema": {...}, "Dog": {"description": "...", "schema": {...}}} RULES: 1. "nodes" key is REQUIRED — must contain at least one entity 2. Each entity needs "description" and "schema" with field definitions 3. Each field is {"type": "...", "required": true/false} — required defaults to false 4. Relationship "from"/"to" must reference defined node names 5. Relationship types should be UPPER_SNAKE_CASE 6. Entity names should be PascalCase 7. Automatic fields (id, created_at, updated_at) are NOT needed WORKFLOW: 1. get_graph_template_schemas FIRST to see valid examples 2. create_graph_project with a cluster_id from list_clusters 3. Poll get_job_status with the returned job_id (2-5 minutes) While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
cluster_idstringyesREQUIRED — 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. Register…
namestringyesProject name
schemaobjectyesGraph schema with 'nodes' and optionally 'relationships' keys. Use get_graph_template_schemas to see valid examples.

No output schema declared.

No examples provided.

create_graph_relationship ~187

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-numbers-001" data: {"year": 1936} The from_id and to_id must be entity_ids of existing nodes.

NameTypeReqDescription
dataobject–Relationship properties (optional)
environmentstring–Environment: staging or production (default: staging)
from_idstringyesSource node entity_id
project_idstringyesProject ID (UUID)
rel_typestringyesRelationship key (e.g., 'authored', 'related_to')
to_idstringyesTarget node entity_id

No output schema declared.

No examples provided.

create_project ~598

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: {"orders": {"fields": {...}}} — never nest under 'fields' 2. EVERY field has a "type": string (MUST have max_length), text, integer, decimal (precision, scale), boolean, uuid, date, datetime (NOT "timestamp"), json, and the PostgreSQL arrays uuid_array, integer_array, text_array, float_array (GIN-indexed: @> contains, <@ contained_by, && overlaps) 3. AUTOMATIC FIELDS (DON'T define): id, created_at, updated_at, row_version 4. USERS: NEVER create users/customers/employees tables with email or password. Link to the built-in app_users table: {"user_id": {"type": "uuid", "foreign_key": "app_users.id"}}. A table with such a field is owner-scoped: each user sees their own rows. 5. FIELD OPTIONS: required, unique, default, enum, foreign_key ("table.id"), on_delete (cascade, set_null, restrict, no_action), nullable, index, description, write_only, computed. Advanced features (__policy__, computed columns, __constraints__, __audit__): get_schema_reference. BACKEND ENGINE (backend_type): "python" (FastAPI, default) or "rust" (Axum: faster cold starts, lower memory). WORKFLOW: 1. get_template_schemas FIRST to see valid examples 2. create_project with a cluster_id from list_clusters 3. Poll get_job_status with the returned job_id (2-5 minutes) 4. get_project_info gives the live URL While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
backend_typestring–Backend engine: 'python' (FastAPI, default) or 'rust' (Axum, faster). Default: python
cluster_idstringyesREQUIRED — 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 pool…
namestringyesProject name
schemaobjectyesJSON schema in FLAT format (table_name → field_name → properties). Every field MUST have a 'type' property. Use get_template_schemas to see valid examples.

No output schema declared.

No examples provided.

delete_graph_node ~99

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

NameTypeReqDescription
entity_idstringyesThe node's entity_id
entity_typestringyesEntity key (e.g., 'person', 'concept')
environmentstring–Environment: staging or production (default: staging)
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

delete_graph_project ~133

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 names the running job; wait for it with get_job_status, then call again. While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

delete_graph_relationship ~83

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

NameTypeReqDescription
environmentstring–Environment: staging or production (default: staging)
project_idstringyesProject ID (UUID)
rel_idintegeryesInternal relationship ID (from get_node_relationships)
rel_typestringyesRelationship key

No output schema declared.

No examples provided.

delete_module ~111

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 RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
module_idstringyesModule ID (list_modules)

No output schema declared.

No examples provided.

delete_project ~126

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; wait for it with get_job_status, then call again. While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

deploy_destructive ~224

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_staging, deploy_production, deploy_graph_staging, deploy_graph_production) refused the plan, naming its drops, and those drops are intended. The operation is ASYNCHRONOUS: poll the returned job_id with get_job_status. One operation runs on a project at a time: while another runs, the call is refused and the refusal names the running job; wait for it with get_job_status, then call again. While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
environmentstringyesstaging (deploys the saved schema) or production (promotes staging)
project_idstringyesProject ID (UUID), relational or graph

No output schema declared.

No examples provided.

deploy_graph_production ~182

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 rounds or cuts its values (a decimal with a smaller scale or turned integer, a datetime turned date): deploy_destructive applies it, a tool of its own so a client asks before it runs. One operation runs on a project at a time: while another runs, the call is refused and the refusal names the running job; wait for it with get_job_status, then call again. While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

deploy_graph_staging ~255

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 with a job_id. Use get_job_status to monitor progress. Deployment typically takes 2-5 minutes. Use get_graph_project_info to verify deployment succeeded. A plan that drops data is refused, naming every table, field, entity or relationship it would drop, and every field whose type change rounds or cuts its values (a decimal with a smaller scale or turned integer, a datetime turned date): deploy_destructive applies it, a tool of its own so a client asks before it runs. One operation runs on a project at a time: while another runs, the call is refused and the refusal names the running job; wait for it with get_job_status, then call again. While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

deploy_module ~324

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), builds it and serves it at the module_url the answer names; the project's CORS origins take the module in. A private repository needs the RationalBloks GitHub App installed on it. The operation is ASYNCHRONOUS: poll the returned job_id with get_job_status. While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
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_urlstringyeshttps://github.com/<owner>/<repo>
memory_mbinteger–Memory allocation (default: 128)
module_namestringyesDisplay name
module_typestringyesfrontblok (a Vite frontend) or logicblok (a backend built from its Dockerfile)
project_idstringyesProject ID (UUID) the module belongs to

No output schema declared.

No examples provided.

deploy_production ~225

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 is ASYNCHRONOUS: poll the returned job_id with get_job_status. A plan that drops data is refused, naming every table, field, entity or relationship it would drop, and every field whose type change rounds or cuts its values (a decimal with a smaller scale or turned integer, a datetime turned date): deploy_destructive applies it, a tool of its own so a client asks before it runs. One operation runs on a project at a time: while another runs, the call is refused and the refusal names the running job; wait for it with get_job_status, then call again. While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

deploy_staging ~340

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_status with the job_id to monitor progress. Deployment typically takes 2-5 minutes depending on schema complexity. If deployment fails, read the job's error first: one that starts with 'RationalBloks platform error' is the platform's, not the schema's. Otherwise check: (1) Schema format is FLAT (no 'fields' nesting), (2) Every field has a 'type' property, (3) Foreign keys reference existing tables, (4) No PostgreSQL reserved words in table/field names. Use get_project_info to see if the deployment succeeded. A plan that drops data is refused, naming every table, field, entity or relationship it would drop, and every field whose type change rounds or cuts its values (a decimal with a smaller scale or turned integer, a datetime turned date): deploy_destructive applies it, a tool of its own so a client asks before it runs. One operation runs on a project at a time: while another runs, the call is refused and the refusal names the running job; wait for it with get_job_status, then call again. While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

drop_schema_items ~282

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": "is_clock"} A drop that cannot be applied (a table or field that is not there, a schema the deploy would refuse, such as a field another reads) refuses them all, naming it, and nothing is saved. The answer carries 'applied', 'diff', 'plan' and the new 'version'. WORKFLOW: 1. preview_schema_change with the same operations: check 'diff' and 'plan' 2. drop_schema_items (pass expected_version to be refused if someone else saved meanwhile) 3. deploy_staging refuses the plan and names its drops; deploy_destructive applies it, then get_job_status

NameTypeReqDescription
expected_versionstring–The 'version' a get_schema read answered. The drop is refused (409) when the saved schema changed since.
operationsarrayyesThe drops: drop_table(table) and drop_field(table, field) operations, applied in order and all together.
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

freeze_module ~121

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 with get_job_status, then call again. While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
module_idstringyesModule ID (list_modules)

No output schema declared.

No examples provided.

fulltext_search_graph ~203

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 answer. Example: query "quantum" searches name, description, summary, notes, and all other string fields. Returns nodes with _match_fields showing which properties matched. Optionally filter by entity_type to narrow results.

NameTypeReqDescription
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_idstringyesProject ID (UUID)
querystringyesSearch text (case-insensitive, min 2 chars)

No output schema declared.

No examples provided.

get_graph_data_schema ~112

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.). ⭐ USE THIS FIRST before creating nodes/relationships to know what entity_type and rel_type values are valid.

NameTypeReqDescription
environmentstring–Environment: staging or production (default: staging)
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

get_graph_node ~95

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

NameTypeReqDescription
entity_idstringyesThe node's entity_id
entity_typestringyesEntity key (e.g., 'person', 'concept')
environmentstring–Environment: staging or production (default: staging)
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

get_graph_project_info ~58

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.

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

get_graph_schema ~119

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 saved schema is the deployed one: saved_schema_deployed is true when the last deploy applied it, false when it was saved after the last deploy (undeployed_changes then lists what deploying it would change), and null when no deployed schema is on record.

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

get_graph_schema_at_version ~72

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.

NameTypeReqDescription
project_idstringyesProject ID (UUID)
versionstringyesCommit SHA of the version to retrieve

No output schema declared.

No examples provided.

get_graph_statistics ~77

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.

NameTypeReqDescription
environmentstring–Environment: staging or production (default: staging)
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

get_graph_template_schemas ~160

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 (from, to, cardinality, data_schema), and hierarchical entity nesting. Available templates: Start from Scratch (hierarchy, flat labels, every field type), Social Network (people, organizations, content, follows), Knowledge Graph (topic hierarchy, articles, authors, concepts), Product Catalog (products, categories, suppliers, reviews). Each entry's 'schema' goes to create_graph_project as is or adapted. TIP: Study these templates to understand the correct graph schema format before creating custom schemas.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_graph_version_history ~61

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.

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

get_job_status ~212

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 stopped is failed within about three minutes, and a deploy can take up to 15 minutes. A module job names its module_code, and a completed module build's result names the image it built (its commit). If status is 'failed', read failure_side and error: 'customer' means the project's input is proven the cause (an invalid schema, data the new schema does not fit, a change the resource pool cannot hold), and error says what to change; 'platform' means no input of the project is known to cause it: report it to RationalBloks rather than changing the schema.

NameTypeReqDescription
job_idstringyesJob ID a create, deploy, promotion, rollback, deletion or module operation answered

No output schema declared.

No examples provided.

get_node_relationships ~127

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

NameTypeReqDescription
directionstring–Filter: incoming, outgoing, or both (default: both)
entity_idstringyesThe node's entity_id
entity_typestringyesEntity key of the node
environmentstring–Environment: staging or production (default: staging)
project_idstringyesProject ID (UUID)
rel_type_filterstring–Filter by relationship type (UPPER_SNAKE_CASE)

No output schema declared.

No examples provided.

get_project ~28

Get detailed information about a specific project

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

get_project_info ~198

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 CrashLoopBackOff, the schema is likely in wrong format (nested 'fields' key or missing 'type' properties). Use get_schema to review current schema. If replicas show 0/2, the init container (migration runner) is failing. This is almost always a schema format issue. RETURNS THE LIVE API URL: staging.url and production.url carry the deployed base URL for each environment (append /docs for the interactive OpenAPI docs); github.url is the generated repository. create_project does NOT return a URL, so this is the tool to call once get_job_status reports the deployment finished.

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

get_project_storage_usage ~56

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

NameTypeReqDescription
environmentstring–Environment: staging or production (default: production)
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

get_project_usage ~34

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

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

get_schema ~288

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 schema as template for new projects, verify schema structure after deployment, learn the correct schema format by example. The returned schema will be in FLAT format: {table_name: {field_name: {type, properties}}}. The response also says whether this saved schema is the deployed one: saved_schema_deployed is true when the last deploy applied it, false when it was saved after the last deploy (undeployed_changes then lists what deploying it would change), and null when no deployed schema is on record. A LARGE SCHEMA: pass tables or fields to read only the part you are about to change — the answer's 'version' is the whole schema's either way, so a slice is enough to patch it with patch_schema(expected_version=...).

NameTypeReqDescription
fieldsarray–Read only these fields, each written 'table.field' (e.g. ["parameters.is_clock"]); their table's own keys come with them.
project_idstringyesProject ID (UUID)
tablesarray–Read only these tables, whole (e.g. ["parameters"]). A table the schema does not hold is refused.

No output schema declared.

No examples provided.

get_schema_at_version ~47

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

NameTypeReqDescription
project_idstringyesProject ID (UUID)
versionstringyesCommit SHA of the version

No output schema declared.

No examples provided.

get_schema_reference ~193

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 whether adopting it is safe — it replaces creator-ownership per table and fails closed on a null link), computed columns (read-only values derived from other columns), __constraints__ (composite uniqueness, checked at commit when deferrable), __audit__ (append-only audit log), __admin_write__ (a table only admins write), how user foreign keys are attributed on create, reading many rows in one request with <field>__in=a,b,c (the values separated by commas only), deleting the rows a filter names with expected_count, and writes that state the row_version they read (If-Match on a route, if_version in a batch).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_subscription_status ~19

Get your subscription tier, limits, and usage

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_template_schemas ~158

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 practices for field naming and types. Available templates: Start from Scratch (every field type), Team Collaboration (workspaces, channels, messages, tasks), E-Commerce Store (customer profiles, products, orders and their line items, reviews, shipments). Each entry's 'schema' goes to create_project as is or adapted; its 'tables' notes say how each table is authorized. TIP: Study these templates to understand the correct schema format before creating custom schemas.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_user_info ~16

Get information about the authenticated user

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_version_history ~74

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.

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

list_clusters ~110

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 cluster. Registering a pool is a UI action (create a bare Ubuntu box, authorise the key we generate, then we provision it into a cluster automatically) — this tool only lists pools you already registered, it never handles cluster credentials.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_graph_nodes ~121

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

NameTypeReqDescription
entity_typestringyesEntity 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_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

list_modules ~135

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 it built: <name>:<short sha>-<build time>), replicas (live pods: 0 when frozen, null while the pool is not reporting), CPU and memory, and env_var_names (the names of its environment variables, never their values).

NameTypeReqDescription
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

list_project_files ~95

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

NameTypeReqDescription
environmentstring–Environment: staging or production (default: production)
limitinteger–Max files to return (1-1000, default 100)
offsetinteger–Pagination offset (default 0)
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

list_project_jobs ~173

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 operation did when you no longer have its job_id (after an interruption, or in a later session): the first job of the job_type you want is the latest. Read older jobs a page at a time with offset; a page shorter than limit is the last.

NameTypeReqDescription
limitinteger–Max jobs to return (1-1000, default 100)
offsetinteger–Jobs to skip, newest first (default 0)
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

list_projects ~21

List all your RationalBloks projects with their status and URLs

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

patch_schema ~571

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 stays a rename and the column keeps its data. OPERATIONS (each one small object, applied in the order given): • {"op": "add_table", "table": "clocks", "definition": {...}} new table, same FLAT rules as create_project • {"op": "rename_table", "table": "clocks", "to": "timers"} • {"op": "add_field", "table": "assets", "field": "serial", "definition": {"type": "string", "max_length": 64}} • {"op": "rename_field", "table": "parameters", "field": "is_clock", "to": "clock_kind"} • {"op": "set_field", "table": "assets", "field": "name", "properties": {"max_length": 300}} merges; a property set to null is removed • {"op": "set_table", "table": "assets", "properties": {"__audit__": true}} __policy__, __constraints__, __audit__, __admin_write__ Dropping a table or field is drop_schema_items, a tool of its own. ALL OR NOTHING: an operation that cannot be applied — a table or field that is not there, a name already taken, a schema the deploy would refuse — refuses the whole patch, naming the operation, and nothing is saved. EVERY ANSWER IS A DIFF: 'applied' (what each operation did), 'diff' (every changed property by path), 'summary' and 'plan' (the migration a deploy would then run), and 'version' (the schema's version after the change). WORKFLOW: 1. get_schema with tables/fields to read the part you are changing (its 'version' is the whole schema's) 2. preview_schema_change with the operations: check 'diff' and 'plan' 3. patch_schema with the same operations (pass expected_version to be refused if someone else saved meanwhile) 4. deploy_staging, then get_job_status

NameTypeReqDescription
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.
operationsarrayyesThe operations, applied in order and all together. See the tool description for every op and its fields.
project_idstringyesProject ID (UUID)

No output schema declared.

No examples provided.

preview_schema_change ~239

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 graph projects) ANSWER: 'applied' (for operations), 'diff' (every property saving it would change, by path), 'summary' and 'plan' (the migration the next deploy would then run, every table, field, entity or relationship it drops named), and 'version' (the saved schema's: pass it as expected_version to the save that follows, so it is refused if someone saved meanwhile). A relational schema the deploy would refuse is refused here, with the reason.

NameTypeReqDescription
operationsarray–A change to part of a relational schema, as patch_schema or drop_schema_items take it. Pass this or schema.
project_idstringyesProject ID (UUID)
schemaobject–A whole schema in place of the saved one (relational or graph). Pass this or operations.

No output schema declared.

No examples provided.

redeploy_module ~177

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 the returned job_id with get_job_status, whose result names the image built (its commit); list_modules shows it once done. 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 refused with 'RationalBloks is being updated': call it again in a few minutes.

NameTypeReqDescription
module_idstringyesModule ID (list_modules)

No output schema declared.

No examples provided.

Install

How do I install the RationalBloks MCP server?

RationalBloks is a hosted endpoint at https://mcp.rationalbloks.com/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.rationalbloks.com

# add to Claude Code
claude mcp add --transport http com-rationalbloks-mcp 'https://mcp.rationalbloks.com/'
Common questions

What is the RationalBloks MCP server?

RationalBloks is an MCP server listed in the public MCP registry as com.rationalbloks/mcp. Deploy production REST and Neo4j Graph APIs from JSON schemas in seconds. This page covers its hosted endpoint (https://mcp.rationalbloks.com/).

Is the RationalBloks MCP server safe to use?

RationalBloks scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the RationalBloks MCP server expose?

RationalBloks exposes 64 tools: list_projects, get_project, get_schema, get_user_info, list_clusters, and 59 more. Their descriptions and schemas cost roughly 11,267 tokens of context every time the server is loaded.

Does the RationalBloks MCP server require authentication?

No. We connected to RationalBloks without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the RationalBloks MCP server still maintained?

RationalBloks is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.