Metorial (YC F25)
Open-source identity and access layer for AI agents.
Connect agents to real systems with consistent auth, permissions, and observability.
\[!提示\] _跳过设置并转到托管:_ 最快、最简单、最可靠的使用方法 梅托里亚尔 要注册 我们的托管平台. ➡️ 开始使用(免费)
介绍
代理正在连接到生产系统,但周围没有一致的身份和访问层:有限的访问控制,没有审计,也没有标准的访问限制。Metorial解决了这个问题。
Metorial是代理访问外部系统的控制平面。它位于代理和集成之间,以一致的方式处理身份验证、权限和可观察性。团队没有临时连接集成,而是获得了一个共享层,该层规范了代理与系统的交互方式。
核心能力
- 1200+集成 跨SaaS工具、企业系统、数据源和自定义MCP服务器。
- 身份验证和令牌生命周期管理 用于OAuth、API密钥、服务帐户和其他凭据流。
- 内置RBAC、SAML SSO和IAM 因此,代理访问遵循您现有的安全模型。
- 范围权限 每个代理、工作流、团队或环境。
- 审计日志和可追溯性 用于代理操作,包括哪个代理使用其凭据进行操作。
- 共享访问模式 跨团队和项目,而不是一次性集成代码。
面向开发者的Metorial
Metorial为开发人员提供了一个将代理连接到真实系统的单一接口。
- 在不违反安全策略的情况下,跨Claude Code、Codex和Cursor等工具使用集成。
- 将集成作为工具公开给任何代理框架。
- 将OAuth、API密钥和其他身份验证流统一到一个神奇的URL中。
- 跨项目、环境和人员重用连接。
- 避免为每个应用程序重新实现集成和身份验证逻辑。
根据一个API编写,或者使用一个连接URL,其余由Metorial处理。
安全气象
Metorial提供了代理如何访问系统的结构和可见性。
- 使用RBAC、SAML SSO、IAM和作用域凭据进行集中访问控制。
- 明确每个代理的权限边界。
- 所有操作的审核日志,包括哪个代理使用谁的凭据执行了这些操作。
- 集成的受控共享。
- 一致且安全的凭证处理。
这使得代理活动可以执行和检查,而不依赖于手动流程。让你的人工智能主管开心,让你的首席信息安全官晚上睡觉。
生态系统
SDK
SDK公开了Metorial API,并与代理框架集成。
它们以一致的方式处理身份验证、访问控制和工具公开。
如果您想构建自定义集成,请查看我们的 API文档 了解如何直接使用Metorial API的详细信息。
自我寄宿
这 气象平台 是为Metorial背后的引擎提供动力的代码。它是开源的,可以自托管。您可以使用它来运行自己的Metorial实例,该实例由此仓库中的MCP服务器提供支持。
快速开始
最简单的开始方法是 气象搜索,一个不需要身份验证配置的内置网络搜索提供程序。
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 aipython
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-dotenvOAuth集成
当使用需要用户身份验证的服务时,如Slack、GitHub、Google Calendar或SAP,Metorial提供设置会话来处理OAuth流,然后重用生成的auth配置。
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流程说明
- 创建设置会话:呼叫
providerDeployments.setupSessions.create()TypeScript或provider_deployments.setup_sessions.create()在Python中。 - 发送URL:向用户显示设置会话URL,以便他们可以在浏览器中进行身份验证。
- 等待完成:等待安装会话完成并返回身份验证配置。
- 使用auth配置:配置时传递auth-config ID
providers.
提供程序配置示例
使用相同 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-Mettorial Search快速入门typescript-ai-sdk-Vercel AI SDK+人工智能typescript-openai-OpenAI函数调用typescript-anthropic-拟人克劳德工具使用typescript-google-Google Gemini函数声明typescript-openai-compatible-任何与OpenAI兼容的APItypescript-langchain-LangChain和LangGraphtypescript-provider-config-提供程序身份验证和会话模板模式
python
pydantic-ai-PydanticAI+人类学langchain-LangChain代理工具langgraph-LangGraph流媒体代理openai-agents-OpenAI代理SDKllamaindex-LlamaIdex功能代理autogen-带工具调用的AutoGen助手crewai-CrewAI代理工具google-adk-谷歌ADK与双子座haystack-带工具的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 |
| 人类学 | @metorial/anthropic | metorial_anthropic() | claude-sonnet-4-5, claude-opus-4 |
| 谷歌双子座 | @metorial/google | metorial_google() | gemini-2.5-pro, gemini-2.5-flash |
| 米斯特拉尔 | @metorial/mistral | metorial_mistral() | mistral-large-latest, codestral-latest |
| DeepSeek | @metorial/deepseek | metorial_openai_compatible() | deepseek-chat, deepseek-reasoner |
| 携手AI | @metorial/togetherai | metorial_openai_compatible() | Llama-4, Qwen-3 |
| XAI | @metorial/xai | metorial_openai_compatible() | grok-3, grok-3-mini |
| 朗链 | @metorial/langchain | metorial_langchain() | 通过LangChain的任何型号 |
| PydanticAI | - | metorial_pydantic_ai() | 通过PydanticAI的任何模型 |
动机
MCP是将AI模型连接到外部数据和工具的强大标准,但它侧重于使AI客户端(如Claude Desktop或Cursor)能够连接到工具和数据源。 Metorial建立在MCP的基础上,但对于开发者来说,将他们的人工智能应用程序连接到任何API、数据源或工具都是一回事。 因此,我们使开发人员能够创建能够以可靠、简单和安全的方式与其他系统交互的代理AI应用程序。
技术栈
- 模型上下文协议(MCP) -Meteral由模型上下文协议提供支持,该协议是将AI模型连接到外部数据和工具的标准。
- 码头工人 -Metorial使用Docker在容器化环境中运行MCP服务器,使其易于部署和管理。
- MCP容器 -Metorial在Docker容器中提供了一组预构建的MCP服务器。
- 打字稿 -Metorial的大部分内容都是用TypeScript编写的。
- 包子 -Metorial的核心运行在Bun上,Bun是一个与Node.js兼容的快速JavaScript运行库。
- 去 -MCP引擎是用Go编写的,为Metorial提供了一个高性能的后端。
- PostgreSQL -Meteral使用PostgreSQL进行数据存储。
- 瑞迪斯 -Meteral使用Redis进行缓存和实时数据处理。
- MongoDB -Meteral使用MongoDB来存储使用数据和日志。
- 反应 -Meteral Dashboard是用React构建的。
特性
Metorial旨在使开发人员能够非常轻松地将他们的AI应用程序连接到外部数据和工具。Meteral由模型上下文协议(MCP)提供支持,建立在标准之上。
大型服务器目录
这 气象服务器索引 已经包含5000多台MCP服务器。为您的AI应用程序查找和使用MCP服务器非常容易。所有内容都是可搜索的,组织有序,因此您可以为您的用例找到合适的服务器。
https://github.com/user-attachments/assets/a171030e-0159-4ce2-9e92-f4fb3f7bfdc6
嵌入式MCP浏览器
直接在Meteral 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项目的多个实例,以测试集成的不同配置、环境或版本。
- 强大的SDKMetorial为JavaScript/TypeScript和Python提供了强大的SDK,使其易于与您的AI应用程序集成。
- 详细文件:Mettorial提供 详细文件 了解它的所有功能,包括示例和教程,以帮助您快速入门。
- API完全访问:Metorial的每个功能都可以通过API访问,使您能够构建自定义集成并自动化您的工作流程。从理论上讲,您可以使用API构建自己的仪表板。
- 高级仪表板:Metorial Dashboard提供了一个强大的界面,用于管理您的集成、监控您的使用情况和调试您的MCP服务器。
许可证
Mettorial目录根据 Apache许可证2.0.
Built with ❤️ by Metorial
