Metadata-Version: 2.4
Name: rationalbloks-mcp
Version: 0.10.2
Summary: RationalBloks MCP Server - Deploy production REST APIs and Neo4j Graph APIs in minutes. 44 infrastructure tools for projects, schemas, and graph data.
Project-URL: Homepage, https://rationalbloks.com
Project-URL: Documentation, https://rationalbloks.com/docs/mcp
Project-URL: Repository, https://github.com/rationalbloks/rationalbloks-mcp
Project-URL: Issues, https://github.com/rationalbloks/rationalbloks-mcp/issues
Author-email: RationalBloks <support@rationalbloks.com>
License: Proprietary
License-File: LICENSE
Keywords: ai,api,backend,claude,cursor,database,graph,mcp,neo4j,smithery
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: certifi>=2024.0.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: mcp>=1.0.0
Requires-Dist: sse-starlette>=2.1.0
Requires-Dist: starlette>=0.41.0
Requires-Dist: uvicorn>=0.32.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# RationalBloks MCP Server

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

[![License](https://img.shields.io/badge/license-Proprietary-blue.svg)](LICENSE)
[![Python](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![PyPI](https://img.shields.io/pypi/v/rationalbloks-mcp.svg)](https://pypi.org/project/rationalbloks-mcp/)

## What Is This?

RationalBloks MCP lets AI agents (Claude, Cursor, etc.) deploy production APIs from a JSON schema. No backend code to write. No infrastructure to manage.

```
"Create a task management API with tasks, projects, and users"
→ 2 minutes later: Production API running on Kubernetes
```

## Installation

```bash
pip install rationalbloks-mcp
```

## Quick Start

### 1. Get Your API Key

Visit [rationalbloks.com/settings](https://rationalbloks.com/settings) and create an API key.

### 2. Configure Your AI Agent

**VS Code / Cursor** - Add to `settings.json`:

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

**Claude Desktop** - Add to `claude_desktop_config.json`:

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

---

## 44 Tools

### Relational Read Operations (11 tools)

| Tool | Description |
|------|-------------|
| `list_projects` | List all your projects |
| `get_project` | Get project details |
| `get_schema` | Get current JSON schema |
| `get_user_info` | Get authenticated user info |
| `get_job_status` | Check deployment job status |
| `get_project_info` | Detailed project info with K8s status |
| `get_version_history` | Git commit history |
| `get_template_schemas` | Pre-built schema templates |
| `get_subscription_status` | Plan and usage limits |
| `get_project_usage` | CPU/memory metrics |
| `get_schema_at_version` | Schema at specific commit |

### Relational Write Operations (7 tools)

| Tool | Description |
|------|-------------|
| `create_project` | Create new project from schema |
| `update_schema` | Update project schema |
| `deploy_staging` | Deploy to staging environment |
| `deploy_production` | Deploy to production |
| `delete_project` | Delete project permanently |
| `rollback_project` | Rollback to previous version |
| `rename_project` | Rename project |

### Graph Schema Operations (11 tools)

| Tool | Description |
|------|-------------|
| `get_graph_schema` | Get graph project schema |
| `get_graph_template_schemas` | Pre-built graph schema templates |
| `get_graph_version_history` | Graph schema version history |
| `get_graph_schema_at_version` | Schema at specific version |
| `get_graph_project_info` | Graph project info with K8s/Neo4j status |
| `create_graph_project` | Create Neo4j graph project |
| `update_graph_schema` | Update graph schema |
| `deploy_graph_staging` | Deploy graph to staging |
| `deploy_graph_production` | Deploy graph to production |
| `delete_graph_project` | Delete graph project |
| `rollback_graph_project` | Rollback graph to previous version |

### Graph Data Operations (15 tools)

| Tool | Description |
|------|-------------|
| `create_graph_node` | Create a single node |
| `get_graph_node` | Get node by ID |
| `list_graph_nodes` | List nodes by entity type |
| `update_graph_node` | Update node properties |
| `delete_graph_node` | Delete a node |
| `create_graph_relationship` | Create a relationship |
| `get_node_relationships` | Get node's relationships |
| `delete_graph_relationship` | Delete a relationship |
| `bulk_create_graph_nodes` | Bulk create nodes |
| `bulk_create_graph_relationships` | Bulk create relationships |
| `search_graph_nodes` | Search nodes by property filters |
| `fulltext_search_graph` | Full-text search across all fields |
| `traverse_graph` | Traverse graph from a node |
| `get_graph_statistics` | Get graph statistics (counts) |
| `get_graph_data_schema` | Get deployed data schema |

---

## Schema Format

Schemas must be in **FLAT format**:

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

### Field Types

| Type | Required Properties |
|------|---------------------|
| `string` | `max_length` |
| `text` | None |
| `integer` | None |
| `decimal` | `precision`, `scale` |
| `boolean` | None |
| `uuid` | None |
| `date` | None |
| `datetime` | None |
| `json` | None |

### Auto-Generated Fields

These are automatic - don't define them:
- `id` (UUID primary key)
- `created_at` (datetime)
- `updated_at` (datetime)

### User Authentication

Use the built-in `app_users` table:

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

---

## Frontend

For frontend development, use our NPM packages:

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

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

---

## Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `RATIONALBLOKS_API_KEY` | Your API key (required) | - |
| `RATIONALBLOKS_TIMEOUT` | Request timeout (seconds) | `30` |
| `RATIONALBLOKS_LOG_LEVEL` | Log level | `INFO` |

---

## Support

- **Documentation:** [rationalbloks.com/docs](https://rationalbloks.com/docs)
- **Email:** support@rationalbloks.com

## License

Proprietary - Copyright 2026 RationalBloks. All Rights Reserved.

<!-- mcp-name: io.github.rationalbloks/rationalbloks-mcp -->
