Skip to main content
Glama

Nexian MCP Hub

Nexian MCP Hubは、各テナントがサードパーティシステムを接続し、単一のリモートMCPサーバーを通じて正規化されたAIセーフなツールを公開できるようにするマルチテナントMSP統合プラットフォームです。

モノレポ構成

  • apps/web: Next.jsの管理画面およびエンドユーザー向けアプリ

  • apps/api: 認証、テナント管理、コネクタ、OAuthコールバック、監査API用のバックエンドAPI

  • apps/mcp: ベアラートークンで保護されたHTTPエンドポイントを持つリモートMCPサーバー

  • packages/core: 共有ドメイン型、セキュリティプリミティブ、MCPモデル、バリデーションヘルパー

  • packages/connectors: プロバイダーアダプターおよび正規化されたツール実装

  • prisma: Postgresスキーマおよびシード用モデル

  • docker: ローカルコンテナ用アセット

  • docs: アーキテクチャ、デプロイメント、セキュリティに関するメモ

Related MCP server: Enterprise MCP Server

ローカルセットアップ

  1. Node.js 22以上と pnpm をインストールします。

  2. .env.example を .env にコピーし、プロバイダーの認証情報を入力します。

  3. インフラストラクチャを起動します:

docker compose up -d
  1. 依存関係をインストールします:

pnpm install
  1. Prismaクライアントを生成し、マイグレーションを実行します:

pnpm db:generate
pnpm db:migrate
  1. スタックを起動します:

pnpm dev

Vercelへのデプロイ

apps/web のNext.jsアプリをVercelプロジェクトとしてデプロイします。

推奨されるVercel設定:

  • Root Directory: apps/web

  • Install Command: pnpm install

  • Build Command: pnpm build

  • Output Directory: Next.jsの自動検出のため空欄のままにします

Vercelで設定する環境変数:

  • NEXT_PUBLIC_API_URL

  • NEXT_PUBLIC_MCP_URL

  • API_URL

  • APP_URL

このリポジトリでは apps/api と apps/mcp を個別のNodeサービスとして保持しています。本番環境では、これらをコンテナホストにデプロイし、環境変数を通じてVercelフロントエンドから参照するように設定してください。

Railwayへのデプロイ

バックエンドの分割にはRailwayを使用します:

  • apps/api をRailwayにデプロイ

  • apps/mcp をRailwayにデプロイ

  • apps/web をVercelにデプロイ

実践的なセットアップガイドは以下を参照してください:

  • docs/railway-vercel-deploy.md

重要な本番環境の環境変数関係:

  • APP_URL はVercelのWeb URLである必要があります

  • API_URL はRailwayのAPI URLである必要があります

  • MCP_URL はRailwayのMCP URLである必要があります

  • HALOPSA_REDIRECT_URI はRailwayのAPIコールバックURLを指す必要があります

  • Vercelの NEXT_PUBLIC_API_URL はRailwayのAPI URLを指す必要があります

  • Vercelの NEXT_PUBLIC_MCP_URL はRailwayのMCPエンドポイントURLを指す必要があります

  • SESSION_SECRET はAPIサービスとMCPサービス間で一致している必要があります

製品アーキテクチャ

  • Webユーザーはプラットフォームで認証を行い、テナントワークスペース内で操作を行います。

  • 接続されたアカウントはテナントおよびユーザーごとに保存され、アクセスおよびリフレッシュトークンは保存時に暗号化されます。

  • APIはOAuthコールバック処理、トークンリフレッシュ、ポリシーチェック、監査ログ、コネクタのライフサイクルを管理します。

  • MCPサーバーはすべてのHTTPリクエストで Authorization: Bearer <token> を検証し、テナント認識ポリシーを通じて各ツール呼び出しをルーティングします。

  • プロバイダー固有のロジックはアダプター内に保持され、外部には正規化されたツールのみが公開されます。

バージョン1のコネクタ範囲

  • HaloPSA

  • Microsoft 365 / SharePoint

  • HubSpot (CRMとして)

  • IT Glue (ドキュメント / KBとして)

ガードレール

  • 読み取り負荷の高いツールを優先

  • ドラフトチケットの作成や内部メモなど、低リスクのワークフローに対してのみ安全な書き込みを許可

  • v1では破壊的な書き込みは不可

  • すべてのツール呼び出しで監査イベントを生成

次の実装マイルストーン

  1. APIモジュールのスケルトンに実際の認証と永続化を組み込む。

  2. Prismaマイグレーションとデータベースクライアントのブートストラップを追加する。

  3. コネクタのプレースホルダーをライブプロバイダーSDKまたはREST統合に置き換える。

  4. OAuth、トークンリフレッシュ、MCPツール実行の統合テストを追加する。

Related MCP Connectors

Related MCP Servers