NeuroDock (hosted) について
NeuroDock (hosted) は、OAuth で保護された Streamable HTTP 経由で、コミュニケーション、振り返り、タスク計画のステートレスなツールを MCP クライアントに提供するリモートサーバーです。認知グラフの保存は、ログイン後に明示的に有効化した場合のみ利用できます。
主な機能
- 01メッセージの書き換えと会議要約
- 02反すう・過集中・迎合のチェック
- 03タスクの分解
- 04ホスト型またはユーザー所有の保存先
活用シーン
- 01受信・送信メッセージの推敲
- 02会話のトーンや認知パターンの確認
- 03タスクの段階的な分割
- 04同意のうえで認知グラフを保存・検索
MCP 対応
Streamable HTTP 経由で MCP クライアントにツールを公開し、OAuth 認証に対応します。認知グラフのツールは、ログイン後に保存を明示的に有効化する必要があります。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.neurodock.org/mcpclaude mcp add --transport http tlennon-ie-neurodock-remote https://mcp.neurodock.org/mcp{"mcpServers":{"tlennon-ie-neurodock-remote":{"type":"http","url":"https://mcp.neurodock.org/mcp"}}}Cursor で開く{"servers":{"tlennon-ie-neurodock-remote":{"type":"http","url":"https://mcp.neurodock.org/mcp"}}}VS Code で開く{"mcpServers":{"tlennon-ie-neurodock-remote":{"type":"http","url":"https://mcp.neurodock.org/mcp"}}}{"mcpServers":{"tlennon-ie-neurodock-remote":{"serverUrl":"https://mcp.neurodock.org/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
neurodock-remote
NeuroDock の統合リモート MCP サーバーです(ADR 0008 / ADR 0009、Phase 2)。
3 つのステートレスな NeuroDock サーバーを単一の Streamable HTTP エンドポイントに統合し、リモートで安全に使用できるツールのみを公開します。
| ソースサーバー | リモートで公開されるツール |
|---|---|
mcp-translation | translate_incoming、check_tone、rewrite_outgoing、brief_meeting |
mcp-guardrail | check_rumination、check_hyperfocus、check_sycophancy |
mcp-task-fractionator | decompose のみ |
オプトインのストレージ機能(ADR 0010 Phases C/D)
4 つのコグニティブグラフツール(recall_entity、record_fact、
recall_decisions、weekly_rollup)も公開されますが、利用には条件があります。ストレージを明示的に有効化したサインイン済みアカウントが必要です。2 つのモードが共存し、ユーザーは常にどちらか一方を使用します。
| ツール | モード | 内容 |
|---|---|---|
enable_hosted_storage | hosted | NeuroDock がユーザーごとのプライベートな Turso データベースをプロビジョニングし、そこにファクトを保存します。同意に関する説明を返します。 |
connect_byos_storage | byos | 独自の libSQL/Turso データベースを指定します。NeuroDock が保存するのは接続先の情報のみです。 |
disable_and_erase_storage | → none | Hosted:Turso データベースを破棄します。BYOS:保存された接続情報を消去します(ユーザーのデータベースには変更を加えません)。いずれの場合も、設定と同意がクリアされます。 |
disconnect_storage | → none | BYOS 専用の別名:接続情報と設定をクリアします。(Hosted のデータを消去するには disable_and_erase_storage を使用してください。) |
storage_status | — | モード(hosted | byos | none)を報告します。 |
モードは、記録されたストレージ設定に基づいてユーザーごとに選択されます。単一の統合リゾルバーが、各コグニティブグラフの呼び出しを Hosted または BYOS の保存先に振り分けます。プライバシー境界は Phase D から変更されていません。匿名またはトークンのない呼び出し元には STORAGE_NOT_AVAILABLE が返され、保存、読み取り、プロビジョニングは一切行われません。サインイン済みでも有効化していない呼び出し元には STORAGE_NOT_CONNECTED が返されます。
Hosted にはプロビジョニング済みの Turso org/group/token が必要です。
NEURODOCK_TURSO_PLATFORM_TOKEN+NEURODOCK_TURSO_ORG(+ オプションのNEURODOCK_TURSO_GROUP。デフォルトはdefaultで、org 内にすでに存在している必要があります)を設定してください。これらがない場合、enable_hosted_storageは拒否され、BYOS のみが利用可能です。
暗号化キーの管理に関する正直な制約。 BYOS の認証トークンと Hosted Turso DB トークンは、どちらもオペレーター全体で共通の
NEURODOCK_STATE_MASTER_KEYを使用して保存時に暗号化されます。そのため、NeuroDock は技術的には保存されたトークンを復号できます。これは ADR 0010 で記録されている未解決の課題です。ユーザーごとのキー/エンベロープキー(これによりオペレーターがユーザーの DB トークンを一方的に読み取れなくなります)は、追跡中の今後の対応事項です。いずれの場合もディスク上の形式は変更されないため、将来の方式への移行時にデータ移行を行わずに再ラップできます。
意図的に含めていないもの
Chronometric のセッション状態、ユーザープロファイル(ニューロタイプのデータ)、および task-fractionator の next_one(ローカルグラフを読み取ります)は、決してマウントされません。これらはローカル状態を保持するため、ローカルの stdio インストールでのみ利用できます。この境界はコードで適用され、REMOTE_TOOL_NAMES に対するテストで固定されています。
これはデプロイ成果物であり、公開パッケージではありません。PyPI にはアップロードされません(
@neurodock/cli経由のローカルインストール方法に変更はありません)。ローカル専用のツールは、これまでどおり stdio サーバーから利用できます。
スキルの提供(ホスト型/リモートユーザー向け)
リモートサーバーが公開するのはツールであり、スキルではありません。スキルはクライアントがローカルで読み取る Markdown なので、リモートエンドポイントから配信されることはありません。ホスト型/リモートユーザーも、ローカルユーザーと同じ方法でニューロタイプごとのスキルを利用できます。スキルをまとめた Claude Code マーケットプレイスプラグインをインストールするか、@neurodock/cli から neurodock install-skills を実行すると、各スキルが Claude Code/Claude Desktop 用に ~/.claude/skills/neurodock-<name>/SKILL.md へコピーされます。配信方法については、packages/skills/README.md をご覧ください。
ローカルで実行する
# from the repo root
uv run --package neurodock-remote neurodock-remote
# serves http://127.0.0.1:8000/mcp (+ /health)
http://127.0.0.1:8000/mcp を指定して MCP Inspector で確認してください。
Configuration
| 環境変数 | デフォルト | 用途 |
|---|---|---|
NEURODOCK_HTTP_HOST | 127.0.0.1 | バインドするホスト(コンテナー内では 0.0.0.0)。 |
NEURODOCK_HTTP_PORT | 8000 | バインドするポート。 |
NEURODOCK_AUTH_PROVIDER | none | none | clerk | workos | jwt。ホステッドデプロイでは clerk を使用します。 |
NEURODOCK_PUBLIC_URL | — | パブリックベース URL(例:https://mcp.neurodock.org)。clerk/workos/jwt で必須です。 |
NEURODOCK_OAUTH_REQUIRED_SCOPES | — | 任意。カンマ区切りで指定します。 |
NEURODOCK_CLERK_DOMAIN | — | clerk:Clerk インスタンスのドメイン(例:your-app.clerk.accounts.dev)。 |
NEURODOCK_CLERK_CLIENT_ID | — | clerk:OAuth アプリケーションのクライアント ID。 |
NEURODOCK_CLERK_CLIENT_SECRET | — | clerk:OAuth クライアントシークレット(プレーンテキストではなく、シークレットとして設定してください)。 |
NEURODOCK_CLERK_SECRET_KEY | — | ストレージ(ADR 0010 C/D):Clerk Backend API キー。ユーザーごとのストレージポインターを保持します。 |
NEURODOCK_STATE_MASTER_KEY | — | ストレージ(ADR 0010 C/D):保存時に BYOS/ホステッド DB トークンを暗号化するマスターキー。 |
NEURODOCK_TURSO_PLATFORM_TOKEN | — | ホステッド(ADR 0010 C):Turso Platform API トークン。ユーザーごとのデータベースをプロビジョニング/破棄します。 |
NEURODOCK_TURSO_ORG | — | ホステッド(ADR 0010 C):ホステッドデータベースの作成先となる Turso 組織のスラッグ。 |
NEURODOCK_TURSO_GROUP | default | ホステッド(ADR 0010 C):ホステッドデータベースの作成先となる Turso グループ(存在している必要があります)。 |
NEURODOCK_GRAPH_DISABLE_EMBEDDINGS | 1 (image) | ストレージ:ホステッドグラフを軽量に保ちます(fastembed を使用しません)。Dockerfile で設定します。 |
NEURODOCK_AUTHKIT_DOMAIN | — | workos:AuthKit ドメイン。 |
NEURODOCK_OAUTH_ISSUER / _JWKS_URI / _AUDIENCE | — | jwt:汎用 OIDC リソースサーバーの設定。 |
⚠️ パブリックに公開する前に認証が必要です。
NEURODOCK_AUTH_PROVIDERを設定しない場合、サーバーは認証なしで実行され、強い警告をログに記録します。このモードは localhost/統合テスト専用です(ADR 0009 §3)。ID プロバイダーはコード変更ではなく、 設定で選択します。FastMCP には、Clerk、WorkOS AuthKit、Auth0 のファーストクラスプロバイダーと、ここで接続する汎用 JWT 検証機能が付属しています。
コンテナー(任意のホスト)
# build from the repo root (the Dockerfile uses root-relative COPY paths)
docker build -f packages/remote/Dockerfile -t neurodock-remote .
docker run --rm -p 8000:8000 \
-e NEURODOCK_AUTH_PROVIDER=clerk \
-e NEURODOCK_CLERK_DOMAIN=your-app.clerk.accounts.dev \
-e NEURODOCK_CLERK_CLIENT_ID=xxxx \
-e NEURODOCK_CLERK_CLIENT_SECRET=yyyy \
-e NEURODOCK_PUBLIC_URL=https://mcp.neurodock.org \
neurodock-remote
Cloudflare Containers へのデプロイ
選定されたホストです(ADR 0009)。Python コンテナは Cloudflare Containers 上で動作し、mcp.neurodock.org カスタムドメインを管理する薄い Worker(worker/index.ts)がその前段に配置されます。設定:wrangler.jsonc。
Workers の 有料 プランが必要です — Containers は無料プランでは利用できません。 Worker とコンテナはデプロイ用ツールに限られます。このディレクトリは意図的に pnpm-workspace のメンバーではないため、インストールとデプロイはこのディレクトリで直接行います。
-
Clerk OAuth アプリケーションを作成し、インスタンスのドメインとクライアント ID/シークレットを控えます。
-
wrangler.jsonc の
vars(NEURODOCK_CLERK_DOMAIN、NEURODOCK_CLERK_CLIENT_ID)を設定します。これらはシークレットではありません。 -
このディレクトリ(
packages/remote/)から実行します。npm install npx wrangler secret put NEURODOCK_CLERK_CLIENT_SECRET # paste the secret # Optional — enable the opt-in memory tools (ADR 0010 C/D). Without the next # two the tools stay visible but un-backed (sign-in/enable refusal): npx wrangler secret put NEURODOCK_CLERK_SECRET_KEY # Clerk Backend API key npx wrangler secret put NEURODOCK_STATE_MASTER_KEY # token-encryption master key # Optional — enable NeuroDock-hosted storage (ADR 0010 C). Also set # NEURODOCK_TURSO_ORG (and NEURODOCK_TURSO_GROUP) in wrangler.jsonc `vars`. # Without the token + org, enable_hosted_storage is refused; BYOS still works: npx wrangler secret put NEURODOCK_TURSO_PLATFORM_TOKEN # Turso Platform API token npx wrangler deploy # builds ../Dockerfile, pushes, deployswrangler deployはイメージをビルドし(コンテキストは../../=リポジトリのルート)、custom_domainルートを通じてmcp.neurodock.orgの DNS と TLS を自動的に設定し、Worker の背後でコンテナを起動します。 -
確認します。
https://mcp.neurodock.org/healthが200を返したら、Claude にhttps://mcp.neurodock.org/mcpをカスタムコネクターとして追加し、Clerk OAuth の一連の認証フローを完了します。
トランスポート、スコープ、認証、ホスティングに関する決定については、 ADR 0009 を参照してください。
ステータス: この Cloudflare デプロイ設定は、ドキュメントに基づいて確認済みのひな形です。まだ
wrangler deployは実行されていません。最初のデプロイを検証手順として扱ってください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。