MCP Containers について
Metorial は AI エージェント向けの ID・アクセス管理レイヤーで、エージェントと外部システムの間に位置し、認証、権限管理、オブザーバビリティを一元的に扱います。本番システムにエージェントを接続する開発者やセキュリティチームを対象としており、ホステッド版のほか、セルフホスト可能なオープンソース版も提供されています。
主な機能
- 01SaaS・エンタープライズシステムなど1200以上の統合
- 02OAuth や API キーなど認証フローの統一管理
- 03RBAC・SAML SSO・IAM によるアクセス制御
- 04エージェント、ワークフロー、環境ごとの権限スコープ
- 05エージェントの操作と使用した認証情報を記録する監査ログ
活用シーン
- 01セキュリティポリシーに従ってコーディングエージェントから企業ツールへ接続
- 02プロジェクトやチーム間での統合接続の再利用
- 03システムへのエージェントアクセスの一元的な監査と管理
MCP 対応
Metorial は MCP を基盤としており、統合を単一の接続 URL を通じてエージェントフレームワークにツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Metorial (YC F25)
AI エージェント向けのオープンソースの認証・アクセスレイヤーです。
一貫した認証、権限、可観測性を備え、エージェントを実際のシステムに接続します。
ヒント
セットアップを省略してホステッドサービスを利用: Metorialを最も迅速、簡単、確実に利用するには、ホステッドプラットフォームに登録してください。
➡️ 無料で始める
はじめに
エージェントは本番システムに接続されつつありますが、一貫した認証・アクセスレイヤーが備わっていません。そのため、アクセス制御は限定的で、監査も標準的なアクセス制限もありません。Metorial はこの課題を解決します。
Metorial は、エージェントによる外部システムへのアクセスを管理するコントロールプレーンです。エージェントと連携先の間に位置し、一貫した方法で認証、権限、可観測性を処理します。連携を場当たり的に組み込む代わりに、チームはエージェントがシステムとやり取りする方法を標準化する共通レイヤーを利用できます。
主な機能
- 1,200以上の連携先。SaaS ツール、エンタープライズシステム、データソース、カスタム MCP サーバーを網羅しています。
- 認証とトークンライフサイクル管理。OAuth、API キー、サービスアカウント、その他の認証情報フローに対応しています。
- RBAC、SAML SSO、IAM を標準搭載。エージェントのアクセスを既存のセキュリティモデルに沿わせることができます。
- スコープ付き権限。エージェント、ワークフロー、チーム、環境ごとに設定できます。
- エージェントの操作に関する監査ログと追跡可能性。どのエージェントが誰の認証情報を使って操作したかも記録します。
- チームやプロジェクト間でアクセスパターンを共有。個別に連携コードを書く必要がありません。
開発者向け Metorial
Metorial は、エージェントを実際のシステムに接続するための単一のインターフェースを開発者に提供します。
- セキュリティポリシーを損なうことなく、Claude Code、Codex、Cursor などのツールで連携先を利用できます。
- 連携先を、あらゆるエージェントフレームワークのツールとして公開できます。
- OAuth、API キー、その他の認証フローを、1つのマジック URL に統合できます。
- プロジェクト、環境、ユーザー間で接続を再利用できます。
- アプリごとに連携や認証のロジックを再実装する必要がありません。
1つの API を使うか、1つの接続 URL を利用するだけで、あとは Metorial が処理します。
セキュリティ担当者向け Metorial
Metorial は、エージェントがシステムにアクセスする方法を体系化し、可視化します。
- RBAC、SAML SSO、IAM、スコープ付き認証情報による一元的なアクセス制御。
- エージェントごとの明確な権限境界。
- 誰の認証情報を使ってどのエージェントが操作したかを含む、すべての操作の監査ログ。
- 連携先の共有を制御。
- 一貫性のある安全な認証情報の取り扱い。
これにより、手作業に頼らず、エージェントのアクティビティを強制可能かつ検査可能にできます。AI 部門の責任者を満足させ、CISO も安心して眠れます。
エコシステム
- Metorial:SaaS ツールとエンタープライズシステムを網羅する連携カタログ。
- Metorial Platform:コアエンジン。オープンソースで、セルフホスト可能です。
- Metorial CLI:連携先を操作するための、エージェントファーストな CLI。
- Lowerdeck:スタック全体で共有するライブラリ。
- Starbase:MCP のデバッグおよびテスト用ユーティリティ。
SDK
SDK は Metorial API を公開し、エージェントフレームワークと連携します。
認証、アクセス制御、ツールの公開を一貫した方法で処理します。
カスタム連携を構築する場合は、Metorial API を直接使用する方法について、API ドキュメントをご覧ください。
セルフホスティング
Metorial Platform は、Metorial のエンジンを支えるコードです。オープンソースであり、セルフホスト可能です。これを使用すると、このリポジトリ内の MCP サーバーを利用して、独自の Metorial インスタンスを実行できます。
クイックスタート
最も簡単に始めるには、認証設定が不要な組み込みのウェブ検索プロバイダー、Metorial Search を使用します。
JavaScript / TypeScript
import { Metorial } from 'metorial';
import { metorialAiSdk } from '@metorial/ai-sdk';
import { anthropic } from '@ai-sdk/anthropic';
import { stepCountIs, streamText } from 'ai';
let metorial = new Metorial({ apiKey: process.env.METORIAL_API_KEY! });
let deployment = await metorial.providerDeployments.create({
name: 'Metorial Search',
providerId: 'metorial-search'
});
let session = await metorial.connect({
adapter: metorialAiSdk(),
providers: [{ providerDeploymentId: deployment.id }]
});
let result = streamText({
model: anthropic('claude-sonnet-4-20250514'),
prompt:
'Search the web for the latest news about AI agents and summarize the top 3 stories.',
stopWhen: stepCountIs(10),
tools: session.tools()
});
for await (let part of result.textStream) {
process.stdout.write(part);
}
次のコマンドでインストールします。
npm install metorial @metorial/ai-sdk @ai-sdk/anthropic ai
Python
import asyncio
import os
from metorial import Metorial
from metorial import metorial_pydantic_ai
from pydantic_ai import Agent
async def main():
metorial = Metorial(api_key=os.environ["METORIAL_API_KEY"])
deployment = metorial.provider_deployments.create(
name="Metorial Search",
provider_id="metorial-search",
)
session = await metorial.connect(
adapter=metorial_pydantic_ai(),
providers=[{"provider_deployment_id": deployment.id}],
)
agent = Agent(
"anthropic:claude-sonnet-4-20250514",
system_prompt="You are a helpful research assistant.",
tools=session.tools(),
)
result = await agent.run(
"Search the web for the latest news about AI agents and summarize the top 3 stories."
)
print(result.output)
asyncio.run(main())
次のコマンドでインストールします。
pip install metorial pydantic-ai python-dotenv
OAuth 連携
Slack、GitHub、Google Calendar、SAP など、ユーザー認証が必要なサービスを利用する場合、Metorial はセットアップセッションを提供します。これにより OAuth フローを処理し、その後、作成された認証設定を再利用できます。
JavaScript / TypeScript
import { Metorial } from 'metorial';
import { metorialAiSdk } from '@metorial/ai-sdk';
let metorial = new Metorial({ apiKey: process.env.METORIAL_API_KEY! });
let setupSession = await metorial.providerDeployments.setupSessions.create({
providerId: 'your-slack-provider-id',
providerAuthMethodId: 'your-slack-auth-method-id'
});
console.log(`Authenticate here: ${setupSession.url}`);
let completed = await metorial.providerDeployments.setupSessions.waitForCompletion([
setupSession
]);
let session = await metorial.connect({
adapter: metorialAiSdk(),
providers: [
{
providerDeploymentId: 'your-slack-deployment-id',
providerAuthConfigId: completed[0]!.authConfig!.id
}
]
});
// Pass session.tools() to your model SDK.
Python
import os
from metorial import Metorial
from metorial import metorial_pydantic_ai
metorial = Metorial(api_key=os.environ["METORIAL_API_KEY"])
setup_session = metorial.provider_deployments.setup_sessions.create(
provider_id="your-slack-provider-id",
provider_auth_method_id="oauth",
redirect_url="https://yourapp.com/oauth/callback",
)
print(f"Authenticate here: {setup_session.url}")
completed = await metorial.wait_for_setup_session([setup_session])
session = await metorial.connect(
adapter=metorial_pydantic_ai(),
providers=[
{
"provider_deployment_id": "your-slack-deployment-id",
"provider_auth_config_id": completed[0].auth_config.id,
}
],
)
tools = session.tools()
OAuth フローの説明
- セットアップセッションを作成する:TypeScript では
providerDeployments.setupSessions.create()を、Python ではprovider_deployments.setup_sessions.create()を呼び出します。 - URL を送信する:ユーザーがブラウザーで認証できるよう、セットアップセッションの URL を表示します。
- 完了を待つ:セットアップセッションが完了し、認証設定が返されるまで待ちます。
- 認証設定を使用する:
providersを設定する際に、認証設定 ID を渡します。
プロバイダー設定の例
同じ providers リストを使って、ダッシュボードで管理するデプロイメント、事前作成した認証設定、インライン認証情報、再利用可能なセッションテンプレートを組み合わせられます。
let session = await metorial.connect({
adapter: metorialAiSdk(),
providers: [
{ providerDeploymentId: 'your-search-deployment-id' },
{
providerDeploymentId: 'your-slack-deployment-id',
providerAuthConfigId: 'slack-auth-config-id'
},
{
providerDeploymentId: 'your-github-deployment-id',
providerAuthConfig: {
providerAuthMethodId: 'github-auth-method-id',
credentials: { access_token: 'ghp_...' }
}
},
{ sessionTemplateId: 'your-template-id' }
]
});
session = await metorial.connect(
adapter=metorial_pydantic_ai(),
providers=[
{"provider_deployment_id": "your-search-deployment-id"},
{
"provider_deployment_id": "your-slack-deployment-id",
"provider_auth_config_id": "slack-auth-config-id",
},
{
"provider_deployment_id": "your-github-deployment-id",
"provider_auth_config": {
"provider_auth_method_id": "github-auth-method-id",
"credentials": {"access_token": "ghp_..."},
},
},
{"session_template_id": "your-template-id"},
],
)
例
完全に動作する例については、SDK のサンプルディレクトリをご覧ください。
TypeScript
typescript-quick-start- Metorial Search を使ったクイックスタートtypescript-ai-sdk- Vercel AI SDK + Anthropictypescript-openai- OpenAI の関数呼び出しtypescript-anthropic- Anthropic Claude のツール利用typescript-google- Google Gemini の関数宣言typescript-openai-compatible- OpenAI 互換 API 全般typescript-langchain- LangChain と LangGraphtypescript-provider-config- プロバイダー認証とセッションテンプレートのパターン
Python
pydantic-ai- PydanticAI + Anthropiclangchain- LangChain エージェントツールlanggraph- LangGraph ストリーミングエージェントopenai-agents- OpenAI Agents SDKllamaindex- LlamaIndex 関数エージェントautogen- ツール呼び出しに対応した AutoGen アシスタントcrewai- CrewAI エージェントツールgoogle-adk- Gemini に対応した Google ADKhaystack- ツールを備えた Haystack パイプライン
マルチプロバイダー対応
異なる AI クライアントやフレームワーク間で、同じ Metorial プロバイダーを使用できます。
| プロバイダー | TypeScript アダプター | Python アダプター | モデルの例 |
|---|---|---|---|
| AI SDK | @metorial/ai-sdk | - | Vercel AI SDK 経由の任意のモデル |
| OpenAI | @metorial/openai | metorial_openai() | gpt-4.1、gpt-4o、o1、o3 |
| Anthropic | @metorial/anthropic | metorial_anthropic() | claude-sonnet-4-5、claude-opus-4 |
| Google Gemini | @metorial/google | metorial_google() | gemini-2.5-pro、gemini-2.5-flash |
| Mistral | @metorial/mistral | metorial_mistral() | mistral-large-latest、codestral-latest |
| DeepSeek | @metorial/deepseek | metorial_openai_compatible() | deepseek-chat、deepseek-reasoner |
| TogetherAI | @metorial/togetherai | metorial_openai_compatible() | Llama-4、Qwen-3 |
| XAI | @metorial/xai | metorial_openai_compatible() | grok-3、grok-3-mini |
| LangChain | @metorial/langchain | metorial_langchain() | LangChain 経由の任意のモデル |
| PydanticAI | - | metorial_pydantic_ai() | PydanticAI 経由の任意のモデル |
動機
MCP は、AI モデルを外部データやツールに接続するための強力な標準ですが、AI クライアント(Claude Desktop や Cursor など)がツールやデータソースに接続できるようにすることに重点を置いています。 Metorial は MCP を基盤としながら、開発者が AI アプリをあらゆる API、データソース、ツールに接続するための手順を 1 行にまとめます。 これにより、開発者は他のシステムと信頼性が高く、シンプルかつ安全な方法でやり取りできる、エージェント型 AI アプリケーションを作成できます。
技術スタック
- Model Context Protocol (MCP) - Metorial は Model Context Protocol を基盤としており、AI モデルを外部データやツールに接続するための標準規格です。
- Docker - Metorial は Docker を使用して MCP サーバーをコンテナ化環境で実行するため、デプロイと管理が簡単です。
- MCP Containers - Metorial は、Docker コンテナで動作するビルド済み MCP サーバーのコレクションを提供します。
- Typescript - Metorial の大部分は TypeScript で記述されています。
- Bun - Metorial の中核は Bun 上で動作します。Bun は Node.js と互換性のある高速な JavaScript ランタイムです。
- Go - MCP エンジンは Go で記述されており、Metorial に高性能なバックエンドを提供します。
- PostgreSQL - Metorial はデータの保存に PostgreSQL を使用します。
- Redis - Metorial はキャッシュとリアルタイムのデータ処理に Redis を使用します。
- MongoDB - Metorial は使用状況データとログの保存に MongoDB を使用します。
- React - Metorial Dashboard は React で構築されています。
機能
Metorial は、開発者が AI アプリを外部データやツールに簡単に接続できるように設計されています。Model Context Protocol (MCP) を基盤としており、標準規格に準拠しています。
豊富なサーバーカタログ
Metorial server index には、すでに 5000 を超える MCP サーバーが登録されています。AI アプリケーションで使用する MCP サーバーを簡単に見つけて利用できます。すべて検索可能で、わかりやすく整理されているため、用途に合ったサーバーを見つけられます。
https://github.com/user-attachments/assets/a171030e-0159-4ce2-9e92-f4fb3f7bfdc6
組み込み MCP Explorer
Metorial Dashboard で MCP サーバーを直接テストして探索できます。組み込みの MCP Explorer を使えば、ダッシュボードを離れることなく、あらゆる MCP サーバーを利用できます。コードを書く前に連携を簡単にテストしてデバッグできます。
https://github.com/user-attachments/assets/eeb73085-e1d6-4745-988a-385694d26500
モニタリングとデバッグ
すべての MCP セッションが記録され、Metorial Dashboard で確認できます。これにより、連携をモニタリングし、問題を見つけられます。さらに、エラーが発生すると Metorial がそれを検出し、詳細なエラーレポートを提供するため、問題をすばやく修正できます。
https://github.com/user-attachments/assets/c676411e-25b6-442a-af22-c8d99e2be25b
開発者向けに設計
Metorial は開発者のために一から設計されています。Metorial が開発者に最適な選択肢となる主な機能を紹介します。
- カスタマイズ可能:Metorial は高いカスタマイズ性を備えており、ニーズに合わせて連携を設定できます。
- オープンソース:Metorial はオープンソースのため、自社のインフラストラクチャで実行することも、ホスト型プラットフォームを利用することもできます。
- 複数インスタンスのサポート:Metorial Projects のインスタンスを複数作成し、連携のさまざまな設定、環境、バージョンをテストできます。
- 強力な SDK:Metorial は JavaScript/TypeScript と Python 向けの強力な SDK を提供しており、AI アプリケーションに簡単に統合できます。
- 詳細なドキュメント:Metorial は、すぐに使い始めるためのサンプルやチュートリアルを含む、すべての機能に関する詳細なドキュメントを提供します。
- API へのフルアクセス:Metorial のすべての機能に API 経由でアクセスでき、カスタム連携を構築してワークフローを自動化できます。理論上は、API を使って独自のダッシュボードを構築することもできます。
- 高度なダッシュボード:Metorial Dashboard は、連携の管理、使用状況のモニタリング、MCP サーバーのデバッグに役立つ強力なインターフェースを提供します。
ライセンス
Metorial Catalog は Apache License 2.0 のライセンスに基づいています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。