Server Details
Deploy production REST APIs from JSON schemas in seconds. Manage projects, schemas, and deployments.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- rationalbloks/rationalbloks-mcp
- GitHub Stars
- 1
Available Tools
18 toolscreate_projectTry in Inspector
Create a new RationalBloks project from a JSON schema.
⚠️ CRITICAL RULES - READ BEFORE CREATING SCHEMA:
FLAT FORMAT (REQUIRED): ✅ CORRECT: {users: {email: {type: "string", max_length: 255}}} ❌ WRONG: {users: {fields: {email: {type: "string"}}}} DO NOT nest under 'fields' key!
FIELD TYPE REQUIREMENTS: • string: MUST have "max_length" (e.g., max_length: 255) • decimal: MUST have "precision" and "scale" (e.g., precision: 10, scale: 2) • datetime: Use "datetime" NOT "timestamp" • ALL fields: MUST have "type" property
AUTOMATIC FIELDS (DON'T define): • id (uuid, primary key) • created_at (datetime) • updated_at (datetime)
USER AUTHENTICATION: ❌ NEVER create "users", "customers", "employees" tables with email/password ✅ USE built-in app_users table
Example: { "employee_profiles": { "user_id": {type: "uuid", foreign_key: "app_users.id", required: true}, "department": {type: "string", max_length: 100} } }
AUTHORIZATION: Add user_id → app_users.id to enable "only see your own data"
Example: { "orders": { "user_id": {type: "uuid", foreign_key: "app_users.id"}, "total": {type: "decimal", precision: 10, scale: 2} } }
FIELD OPTIONS: • required: true/false • unique: true/false • default: any value • enum: ["val1", "val2"] • foreign_key: "table.id"
AVAILABLE TYPES: string, text, integer, decimal, boolean, uuid, date, datetime, json
WORKFLOW:
Use get_template_schemas FIRST to see valid examples
Create schema following ALL rules above
Call this tool
Monitor with get_job_status (2-5 min deployment)
After creation, use get_job_status with returned job_id to monitor deployment.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name | |
| schema | Yes | 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. | |
| description | No | Optional project description |
delete_projectTry in Inspector
Delete a project (removes GitHub repo, K8s deployments, and database)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID (UUID) |
deploy_productionTry in Inspector
Promote staging to production (requires paid plan)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID (UUID) |
deploy_stagingTry in Inspector
Deploy a project 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, 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.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID (UUID) |
get_job_statusTry in Inspector
Check the status of a deployment job. STATUS VALUES: pending (job queued), running (deployment in progress), completed (success), failed (deployment failed). TIMELINE: Typical deployment takes 2-5 minutes. If status is 'running' for >10 minutes, check get_project_info for detailed pod status. If status is 'failed', use get_project_info to see deployment errors and check schema format (must be FLAT, no 'fields' nesting).
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job ID returned from deployment operations |
get_projectTry in Inspector
Get detailed information about a specific project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID (UUID) |
get_project_infoTry in Inspector
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.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID (UUID) |
get_project_usageTry in Inspector
Get resource usage metrics (CPU, memory) for a project
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID (UUID) |
get_schemaTry in Inspector
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}}}
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID (UUID) |
get_schema_at_versionTry in Inspector
Get the schema as it was at a specific version/commit
| Name | Required | Description | Default |
|---|---|---|---|
| version | Yes | Commit SHA of the version | |
| project_id | Yes | Project ID (UUID) |
get_subscription_statusTry in Inspector
Get your subscription tier, limits, and usage
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_template_schemasTry in Inspector
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: E-commerce (products, orders, customers), Team collaboration (projects, tasks, users), General purpose templates. You can use these templates directly with create_project or modify them for your needs. TIP: Study these templates to understand the correct schema format before creating custom schemas.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_user_infoTry in Inspector
Get information about the authenticated user
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_version_historyTry in Inspector
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.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID (UUID) |
list_projectsTry in Inspector
List all your RationalBloks projects with their status and URLs
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
rename_projectTry in Inspector
Rename a project (changes display name, not project_code)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | New display name for the project | |
| project_id | Yes | Project ID (UUID) |
rollback_projectTry in Inspector
Rollback a project to a previous version. ⚠️ WARNING: This reverts schema AND code to the specified commit. Database data is NOT rolled back. Use get_version_history to find the commit SHA of the version you want to rollback to. After rollback, use get_job_status to monitor the redeployment. Rollback is useful when a schema change breaks deployment.
| Name | Required | Description | Default |
|---|---|---|---|
| version | Yes | Commit SHA or version to rollback to | |
| project_id | Yes | Project ID (UUID) | |
| environment | No | Environment: staging or production (default: staging) |
update_schemaTry in Inspector
Update a project's schema (saves to database, does NOT deploy).
⚠️ CRITICAL: Follow ALL rules from create_project: • FLAT format (no 'fields' nesting) • string: MUST have max_length • decimal: MUST have precision + scale • Use "datetime" NOT "timestamp" • DON'T define: id, created_at, updated_at • NEVER create users/customers/employees tables (use app_users)
⚠️ MIGRATION RULES: • New fields MUST be "required": false OR have "default" value • Cannot add required field without default to existing tables • Safe: {new_field: {type: "string", max_length: 100, required: false}}
WORKFLOW:
Use get_schema to see current schema
Modify following ALL rules
Call update_schema (saves only)
Call deploy_staging to apply changes
Monitor with get_job_status
NOTE: This only saves the schema. You MUST call deploy_staging afterwards to apply changes.
| Name | Required | Description | Default |
|---|---|---|---|
| schema | Yes | New JSON schema in FLAT format (table_name → field_name → properties). Every field MUST have a 'type' property. | |
| project_id | Yes | Project ID (UUID) |
FAQ
How do I claim this server?
To claim this server, publish a /.well-known/glama.json file on your server's domain with the following structure:
The email address must match the email associated with your Glama account. Once verified, the server will appear as claimed by you.
What are the benefits of claiming a server?
- Control your server's listing on Glama, including description and metadata
- Receive usage reports showing how your server is being used
- Get monitoring and health status updates for your server
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.