RationalBloks について
RationalBloksは、JSON SchemaからリレーショナルおよびNeo4jグラフのプロジェクトを定義・運用するMCPサーバーです。AIクライアントでデプロイ、モジュール、グラフデータを管理するチーム向けで、自社インフラやBYOCクラスターで動作します。
主な機能
- 01SchemaベースのAPI作成とデプロイ
- 02リレーショナルおよびグラフプロジェクトの管理
- 03グラフデータの参照と変更
- 04プロジェクトモジュールのデプロイと運用
- 05ジョブ、バージョン、Schema変更の確認
活用シーン
- 01JSON Schemaからプロジェクトを作成
- 02ステージングのSchemaを本番環境へ昇格
- 03グラフデータを検索またはトラバース
- 04GitHubからフロントエンドやバックエンドをデプロイ
MCP 対応
プロジェクト、Schema、デプロイ、モジュール、ストレージ、グラフデータのツールをMCPクライアントに公開します。読み書き権限はAPIキーのスコープに応じて設定され、ローカルまたはStreamable HTTPで利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.rationalbloks.com/claude mcp add --transport http com-rationalbloks https://mcp.rationalbloks.com/{"mcpServers":{"com-rationalbloks":{"type":"http","url":"https://mcp.rationalbloks.com/"}}}Cursor で開く{"servers":{"com-rationalbloks":{"type":"http","url":"https://mcp.rationalbloks.com/"}}}VS Code で開く{"mcpServers":{"com-rationalbloks":{"type":"http","url":"https://mcp.rationalbloks.com/"}}}{"mcpServers":{"com-rationalbloks":{"serverUrl":"https://mcp.rationalbloks.com/"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
64このツールにパラメーターはありません。
詳細
RationalBloks MCP サーバー
本番環境向け API を数分でデプロイできます。 プロジェクト、スキーマ、デプロイ、モジュール、オブジェクトストレージ、グラフデータ用のツールを、ご自身が所有するインフラストラクチャ(セルフホスト、またはご自身の BYOC クラスター)上で提供します。
これは何ですか?
RationalBloks MCP を使うと、AI エージェント(Claude Code、Claude Desktop、Cursor、VS Code など)が JSON スキーマから本番環境向け API をデプロイし、その API 上に構築したフロントエンドとバックエンドもデプロイして実行できます。バックエンドのコードを書く必要はありません。インフラストラクチャを管理する必要もありません。
"Create a task management API with tasks, projects, and users"
→ 2 minutes later: Production API running on Kubernetes
インストール
# 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
クイックスタート
1. API キーを取得する
rationalbloks.com/settings にアクセスして、API キーを作成します。キーにはスコープがあります。読み取りキーで利用できるのは読み取りツールのみで、読み取り+書き込みキーではすべてのツールを利用できます。サーバーには、キーで呼び出し可能なツールのみが表示されます。
2. AI エージェントを設定する
Claude Code — リモートサーバー(インストール不要):
claude mcp add --transport http rationalbloks https://mcp.rationalbloks.com/mcp \
--header "Authorization: Bearer rb_sk_your_key_here"
またはローカルサーバー:
claude mcp add --env RATIONALBLOKS_API_KEY=rb_sk_your_key_here rationalbloks \
-- uvx rationalbloks-mcp@latest
--scope project を指定すると、サーバー設定がリポジトリの .mcp.json に書き込まれ、チームで共有できます。"Authorization": "Bearer ${RATIONALBLOKS_API_KEY}" を指定して、キーをファイルに含めないようにしてください。Claude Code は各開発者の環境からこの変数を展開します。
VS Code — .vscode/mcp.json に追加します(Cursor の場合は、mcpServers キーを使って .cursor/mcp.json に追加します)。
{
"servers": {
"rationalbloks": {
"command": "uvx",
"args": ["rationalbloks-mcp@latest"],
"env": {
"RATIONALBLOKS_API_KEY": "rb_sk_your_key_here"
}
}
}
}
Claude Desktop — claude_desktop_config.json に追加します。
{
"mcpServers": {
"rationalbloks": {
"command": "uvx",
"args": ["rationalbloks-mcp@latest"],
"env": {
"RATIONALBLOKS_API_KEY": "rb_sk_your_key_here"
}
}
}
}
その他のクライアント: Authorization: Bearer rb_sk_... を指定して、https://mcp.rationalbloks.com/mcp(Streamable HTTP)に接続します。
3. Claude Code の権限設定
データを失う可能性のあるすべてのツールには destructiveHint: true が設定されており、それ以外のツールでデータを失うことはありません。許可ルールを 1 つ設定すればサーバー全体に適用され、確認ルールを設定すればデータを失う可能性のあるツールに確認プロンプトが表示されます。Claude Code は許可ルールより先に確認ルールを評価するため、サーバーが許可されていても確認が求められます。また、自動モードでも確認が求められます。確認ルールは分類器より先に実行されるためです。プロジェクトの .claude/settings.json またはすべてのプロジェクトに適用される ~/.claude/settings.json に、次の設定を追加します。
{
"permissions": {
"allow": ["mcp__rationalbloks"],
"ask": [
"mcp__rationalbloks__update_schema",
"mcp__rationalbloks__drop_schema_items",
"mcp__rationalbloks__deploy_destructive",
"mcp__rationalbloks__rollback_project",
"mcp__rationalbloks__delete_project",
"mcp__rationalbloks__update_graph_schema",
"mcp__rationalbloks__rollback_graph_project",
"mcp__rationalbloks__delete_graph_project",
"mcp__rationalbloks__delete_graph_node",
"mcp__rationalbloks__delete_graph_relationship",
"mcp__rationalbloks__set_module_env",
"mcp__rationalbloks__delete_module"
]
}
}
本番リリースごとに自分で承認するには、"mcp__rationalbloks__deploy_production" を ask に追加します。
変更のたびに確認する: 読み取りツールのみを許可します。次のルールはすべての読み取りツールに一致し、それ以外には一致しません。
{
"permissions": {
"allow": [
"mcp__rationalbloks__get_*",
"mcp__rationalbloks__list_*",
"mcp__rationalbloks__search_graph_nodes",
"mcp__rationalbloks__fulltext_search_graph",
"mcp__rationalbloks__traverse_graph",
"mcp__rationalbloks__preview_schema_change"
]
}
}
読み取り専用サーバー: 読み取りキーを使って 2 つ目のサーバーを登録します。このサーバーに表示されるのは読み取りツールのみで、プラットフォームがそれ以外の呼び出しをすべて拒否するため、許可ルール 1 つですべてのツールを許可できます。
claude mcp add --transport http rationalbloks-read https://mcp.rationalbloks.com/mcp \
--header "Authorization: Bearer rb_sk_your_read_key"
{ "permissions": { "allow": ["mcp__rationalbloks-read"] } }
自動モード は ~/.claude/settings.json、管理対象の設定、または --settings にある autoMode のみを読み込みます。プロジェクトの .claude/settings.json は読み込みません。分類器が通常の RationalBloks の呼び出しをブロックする場合は、プロジェクトの説明をそこに記述してください。$defaults は残し、MyProject と apps.yourdomain.com はプロジェクト名とクラスターのドメインに置き換えます。
{
"autoMode": {
"environment": [
"$defaults",
"Key internal services: RationalBloks (MCP server rationalbloks, https://mcp.rationalbloks.com), where our project MyProject runs; its staging environment is for development",
"Trusted internal domains: rationalbloks.com and *.rationalbloks.com; *.apps.yourdomain.com, where MyProject's APIs and modules are served",
"Sensitive remote targets: MyProject's production environment"
]
}
}
claude auto-mode config を実行すると有効なルールを確認できます。または、/permissions(自動モードタブ)で編集できます。
ツール
読み取りツールは読み取りのみを行います。書き込みツールは何かを変更しますが、データが失われることはありません。破壊的ツールはデータを失う可能性があり、destructiveHint: true が設定されています。スキーマ全体を置き換える(update_schema、update_graph_schema)、削除する、ロールバックする、データを削除する計画をデプロイする(deploy_destructive)、またはモジュールの環境を上書きする(set_module_env)ツールが該当します。
テーブルまたはフィールドを削除する場合、あるいは保存済みの値が丸められたり切り捨てられたりするような形でフィールドの型を変更する場合(小数の桁数を減らす、整数型に変換する、日時型を日付型に変換する)、計画によってデータが削除されます。デプロイツールはそのような計画を拒否し、削除対象をすべて示します。deploy_destructive はその計画を適用します。
時間のかかる操作(作成、デプロイ、ロールバック、削除、モジュール操作)はジョブとして実行されます。ツールは job_id を返し、get_job_status で結果を確認できます。
リレーショナルプロジェクト
| ツール | 種類 | 説明 |
|---|---|---|
list_projects | 読み取り | すべてのプロジェクトを一覧表示 |
get_project | 読み取り | プロジェクトの詳細を取得 |
get_schema | 読み取り | 現在の JSON スキーマを取得(一部のテーブルまたはフィールドのみを指定可能) |
get_user_info | 読み取り | 認証済みユーザーの情報を取得 |
list_clusters | 読み取り | BYOC リソースプール(クライアント所有のクラスター)を一覧表示 |
get_job_status | 読み取り | ジョブ(作成、デプロイ、昇格、ロールバック、削除、モジュール操作)の結果を確認 |
list_project_jobs | 読み取り | プロジェクトのジョブを新しい順に、それぞれの結果とともに一覧表示 |
get_project_info | 読み取り | K8s のステータスを含む、プロジェクトの詳細情報 |
get_version_history | 読み取り | Git コミット履歴 |
get_template_schemas | 読み取り | 事前構築済みのスキーマテンプレート |
get_schema_reference | 読み取り | 高度なスキーマ機能のリファレンス(__policy__、computed、__constraints__、__audit__) |
get_subscription_status | 読み取り | プランと使用量の上限 |
get_project_usage | 読み取り | CPU/メモリのメトリクス |
get_project_storage_usage | 読み取り | オブジェクトストレージのファイル数と使用バイト数を上限と比較 |
list_project_files | 読み取り | アップロード済みファイルを一覧表示(メタデータ+公開 URL) |
get_schema_at_version | 読み取り | 特定のコミット時点のスキーマ |
preview_schema_change | 読み取り | 変更(パッチ操作またはスキーマ全体)をプレビューし、マイグレーション計画と削除対象をすべて表示。変更は保存されません |
create_project | 書き込み | スキーマからプロジェクトを作成(BYOC プールの cluster_id、backend_type は python または rust) |
patch_schema | 書き込み | スキーマの一部を変更:テーブルやフィールドの追加、名前変更、設定。削除は行いません |
deploy_staging | 書き込み | 保存済みスキーマをステージングにデプロイ。データを削除する計画は拒否します |
deploy_production | 書き込み | ステージングを本番環境に昇格。データを削除する計画は拒否します |
redeploy_project | 書き込み | スキーマを変更せずに、実行中のスキーマからステージングを再ビルドしてロールアウト |
rename_project | 書き込み | プロジェクトの名前を変更 |
update_schema | 破壊的 | スキーマ全体を置き換えます。除外されたテーブルまたはフィールドは、次回のデプロイで削除されます |
drop_schema_items | 破壊的 | 保存済みスキーマからテーブルまたはフィールドを削除 |
deploy_destructive | 破壊的 | データを削除する計画をステージングまたは本番環境にデプロイ(リレーショナルまたはグラフ) |
rollback_project | 破壊的 | スキーマとコードを以前のバージョンにロールバック |
delete_project | 破壊的 | プロジェクトを完全に削除 |
グラフプロジェクト
| ツール | 種類 | 説明 |
|---|---|---|
get_graph_schema | 読み取り | グラフプロジェクトのスキーマを取得 |
get_graph_template_schemas | 読み取り | 事前構築済みのグラフスキーマテンプレート |
get_graph_version_history | 読み取り | グラフスキーマのバージョン履歴 |
get_graph_schema_at_version | 読み取り | 特定バージョンのスキーマ |
get_graph_project_info | 読み取り | K8s/Neo4j のステータスを含むグラフプロジェクト情報 |
create_graph_project | 書き込み | Neo4j グラフプロジェクトを作成 |
deploy_graph_staging | 書き込み | 保存済みのグラフスキーマをステージング環境にデプロイします。データを削除するプランは拒否します |
deploy_graph_production | 書き込み | グラフのステージング環境を本番環境に反映します。データを削除するプランは拒否します |
update_graph_schema | 破壊的 | グラフスキーマ全体を置き換えます。含まれないものは次回のデプロイで削除されます |
rollback_graph_project | 破壊的 | グラフプロジェクトを以前のバージョンにロールバック |
delete_graph_project | 破壊的 | グラフプロジェクトを削除 |
グラフデータ
| ツール | 種類 | 説明 |
|---|---|---|
get_graph_node | 読み取り | ID でノードを取得 |
list_graph_nodes | 読み取り | エンティティタイプ別にノードを一覧表示 |
get_node_relationships | 読み取り | ノードのリレーションシップを取得 |
search_graph_nodes | 読み取り | プロパティフィルターでノードを検索 |
fulltext_search_graph | 読み取り | すべてのフィールドを対象に全文検索 |
traverse_graph | 読み取り | ノードからグラフをたどる |
get_graph_statistics | 読み取り | グラフの統計情報(件数) |
get_graph_data_schema | 読み取り | デプロイ済みのデータスキーマ |
create_graph_node | 書き込み | ノードを作成 |
update_graph_node | 書き込み | ノードのプロパティを更新 |
create_graph_relationship | 書き込み | リレーションシップを作成 |
bulk_create_graph_nodes | 書き込み | 最大 500 件のノードを作成 |
bulk_create_graph_relationships | 書き込み | 最大 500 件のリレーションシップを作成 |
delete_graph_node | 破壊的 | ノードとそのリレーションシップを削除 |
delete_graph_relationship | 破壊的 | リレーションシップを削除 |
モジュール
モジュールは、GitHub リポジトリからビルドされ、プロジェクトと並行して実行される、プロジェクト独自のフロントエンド(frontblok)またはバックエンド(logicblok)のいずれかです。
| ツール | 種類 | 説明 |
|---|---|---|
list_modules | 読み取り | プロジェクトのモジュール:ID、種類、リポジトリ、URL、ステータス、ポッド、リソース、最後にビルドされたイメージ |
deploy_module | 書き込み | GitHub リポジトリから新しいモジュールをデプロイ |
redeploy_module | 書き込み | リポジトリのデフォルトブランチの最新コミットからモジュールを再ビルドし、ロールアウト |
update_module | 書き込み | モジュールの名前を変更するか、別のリポジトリを指定 |
freeze_module | 書き込み | モジュールのポッドを停止し、実行していた数を記録 |
unfreeze_module | 書き込み | 停止中のモジュールのポッドを再起動 |
scale_module | 書き込み | モジュールのポッドを 1 個または 2 個実行 |
set_module_resources | 書き込み | モジュールの CPU とメモリを設定し、再ビルド |
set_module_env | 破壊的 | 環境変数を設定または削除(マージされます。指定されていない変数は保持されます)。値を読み戻すことはできません |
delete_module | 破壊的 | モジュールを削除 |
スキーマ形式
スキーマはフラット形式である必要があります:
{
"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}
}
}
フィールドの型
| 型 | 必須プロパティ |
|---|---|
string | max_length |
text | なし |
integer | なし |
decimal | precision、scale |
boolean | なし |
uuid | なし |
date | なし |
datetime | なし |
json | なし |
自動生成フィールド
以下は自動的に生成されるため、定義しないでください:
id(UUID 主キー)created_at(datetime)updated_at(datetime)row_version(integer:行のバージョン。挿入時は 1 で、更新ごとに 1 ずつ増加します)
ユーザー認証
組み込みのapp_usersテーブルを使用します:
{
"employee_profiles": {
"user_id": {"type": "uuid", "foreign_key": "app_users.id", "required": true},
"department": {"type": "string", "max_length": 100}
}
}
get_schema_referenceでは、高度な機能について説明しています。行ポリシー、計算フィールド、ユニークグループ(NULL 許容列を含むグループにはnulls_not_distinct、コミット時にチェックするグループにはdeferrable)、監査証跡、生成された API のスコープ付き削除、および読み取ったrow_versionを指定する書き込み(If-Match、if_version)が含まれます。
フロントエンド
フロントエンド開発では、NPM パッケージを使用してください:
npm install @rationalbloks/frontblok-auth @rationalbloks/frontblok-crud
以下が提供されます:
- frontblok-auth:認証、ログイン、トークン、ユーザーコンテキスト
- frontblok-crud:
getApi().getAll()、getApi().create()などを使用した汎用 CRUD
環境変数
| 変数 | 説明 | デフォルト |
|---|---|---|
RATIONALBLOKS_API_KEY | API キー(stdio の場合。HTTP クライアントはリクエストごとに Bearer トークンとして送信します)。設定されていない場合、サーバーはツールを一覧表示し、すべての呼び出しに設定方法を返します | - |
TRANSPORT | stdioまたはhttp | stdio |
HOST / PORT | TRANSPORT=httpのバインドアドレス | 0.0.0.0 / 8000 |
LOGICBLOK_URL | LogicBlok ゲートウェイのベース URL | https://logicblok.rationalbloks.com |
RATIONALBLOKS_DEBUG | 起動エラー時に完全なトレースバックを出力します | 未設定 |
サポート
- ドキュメント: rationalbloks.com/documentation
- メール: [email protected]
ライセンス
プロプライエタリ - Copyright 2026 RationalBloks. All Rights Reserved.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。