材料/材料

metorial/metorial
分类General
作者Community
星标691
定价Free

简介

Metorial 是一个强大的 MCP 服务集成枢纽,旨在解决 AI Agent 在调用外部 API 时面临的碎片化问题。它通过统一的接口,将 600 多个第三方应用集成到 MCP 协议中,开发者无需为每个工具重复编写对接代码。它内置了 OAuth 认证、可扩展的架构和监控机制,极大降低了在企业级场景下部署 AI 插件的门槛。简单来说,它就像是 AI 时代的“集成中间件”,让你的 LLM 能够快速、稳定地读写外部数据并触发实际业务流程。

核心亮点

  • 一站式连接 600+ 流行应用,无需重复开发
  • 内置 OAuth 认证,简化第三方授权流程
  • 提供企业级监控,确保 API 调用稳定可靠
  • 极低上手难度,快速扩展 AI Agent 能力边界

完整文档

<img src="./assets/repo-header.webp" alt="Metorial" width="100%" />

<br />

<h1 align="center">Metorial (YC F25)</h1>

<p align="center">
面向 AI agents 的开源身份与访问层。<br />
通过一致的 auth、permissions 和 observability 将 agents 连接到真实系统。
</p>

> [!TIP]
> _跳过安装直接使用托管版:_ 使用 Metorial 最快、最简单且最可靠的方式是注册 我们的托管平台
>
> ➡️ 立即开始(免费)

Introduction

Agents 正在被连接到生产系统,但缺乏统一的身份与访问层:访问控制有限、缺乏审计且没有标准的访问限制。Metorial 解决了这些问题。

Metorial 是一个用于 agent 访问外部系统的控制平面。它位于 agents 和 integrations 之间,以一致的方式处理 auth、permissions 和 observability。团队无需临时构建 integration,而是通过一个共享层来标准化 agents 与系统的交互方式。

Core Capabilities- 1200+ integrations,涵盖 SaaS 工具、企业系统、数据源和自定义 MCP servers。

  • Auth 和 token 生命周期管理,支持 OAuth、API keys、service accounts 及其他凭据流。
  • 内置 RBAC、SAML SSO 和 IAM,确保 agent 访问遵循您现有的安全模型。
  • Scoped permissions,可针对每个 agent、workflow、团队或环境进行配置。
  • Audit logs 和可追溯性,记录 agent 的操作,包括哪个 agent 使用了谁的凭据执行了操作。
  • 共享访问模式,在团队和项目间通用,无需编写一次性的集成代码。

Metorial for Developers

Metorial 为开发者提供了一个将 agent 连接到真实系统的统一接口。

  • 在 Claude Code、Codex 和 Cursor 等工具中使用 integrations,且不破坏安全策略。
  • 将 integrations 作为 tools 暴露给任何 agent framework。
  • 将 OAuth、API keys 和其他 auth flows 统一为一个 magic URL。
  • 在项目、环境和人员之间复用 connections。
  • 避免为每个应用重复实现集成和 auth 逻辑。

您只需对接一个 API 或使用一个 connection URL,其余部分由 Metorial 处理。

Metorial for Security

Metorial 为 agent 如何访问系统提供了结构化管理和可见性。- 具有 RBAC、SAML SSO、IAM 和 scoped credentials 的集中式访问控制。

  • 每个 agent 具有清晰的权限边界。

  • 所有操作均有审计日志,包括哪个 agent 使用谁的凭据执行了操作。

  • 可控的集成共享。

  • 一致且安全的凭据处理。

这使得 agent 活动可强制执行且可审计,无需依赖手动流程。让你的 Head of AI 满意,让你的 CISO 安稳入睡。

Ecosystem

  • Metorial:涵盖 SaaS 工具和企业系统的集成目录。
  • Lowerdeck:贯穿整个技术栈的共享库。

SDKs

SDKs 开放了 Metorial API 并与 agent 框架集成。

它们以一致的方式处理 auth、访问控制和 tool 暴露。- <img src="https://raw.githubusercontent.com/metorial/metorial-platform/refs/heads/dev/assets/typescript.png" width="12px" height="12px" /> JavaScript / TypeScript

  • <img src="https://raw.githubusercontent.com/metorial/metorial-platform/refs/heads/dev/assets/python.svg" width="12px" height="12px" /> Python

如果您想构建自定义集成,请参阅我们的 API documentation 以了解如何直接使用 Metorial API 的详细信息。

Self-Hosting

Metorial Platform 是驱动 Metorial 引擎的核心代码。它是开源的且支持 self-hosted。您可以使用它来运行自己的 Metorial 实例,并由本仓库中的 MCP servers 提供支持。

Quick Start

最简单的入门方式是使用 Metorial Search,这是一个内置的 Web 搜索提供商,无需进行 auth 配置。

JavaScript / TypeScript
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);
}

使用以下命令安装:
bash
npm install metorial @metorial/ai-sdk @ai-sdk/anthropic ai
### Python
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())

使用以下命令安装:
bash
pip install metorial pydantic-ai python-dotenv
## OAuth 集成

在处理需要用户身份验证的服务(如 Slack、GitHub、Google Calendar 或 SAP)时,Metorial 提供 setup sessions 来处理 OAuth 流程,并复用生成的 auth config。

JavaScript / TypeScript
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
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 流程详解

1. 创建 setup session:在 TypeScript 中调用 providerDeployments.setupSessions.create() 或在 Python 中调用 provider_deployments.setup_sessions.create()
2. 发送 URL:将 setup session URL 展示给用户,以便他们在浏览器中进行身份验证。
3. 等待完成:等待 setup session 完成并返回 auth config。
4. 使用 auth config:在配置 providers 时传递 auth config ID。

Provider 配置示例

使用同一个 providers 列表来组合 dashboard 管理的部署、预创建的 auth configs、内联凭据以及可复用的 session 模板:

typescript
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' }
]
});

python
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"},
  ],
)
## Examples

查看 SDK 示例目录以获取完整的可运行示例:

TypeScript

Python- pydantic-ai - PydanticAI + Anthropic

多供应商支持

在不同的 AI 客户端和框架中使用相同的 Metorial providers。| Provider | TypeScript adapter | Python adapter | Model examples |
| ------------- | ---------------------- | ------------------------------ | ------------------------------------------ |
| 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 构建,但为开发者提供了单行代码(one-liner)即可将其 AI 应用连接到任何 API、数据源或工具的能力。 从而使开发者能够创建能够以可靠、简单且安全的方式与其他系统交互的 agentic AI 应用。

Tech Stack- Model Context Protocol (MCP) - Metorial 由 Model Context Protocol 提供支持,这是一个将 AI 模型连接到外部数据和工具的标准。

Features

Metorial 旨在让开发者能够极其轻松地将 AI 应用连接到外部数据和工具。基于 Model Context Protocol (MCP),Metorial 构建在标准之上。

Large Server CatalogMetorial server index 已包含超过 5000 个 MCP server。它可以让你非常轻松地为 AI 应用查找并使用 MCP server。所有内容均可搜索且组织有序,方便你根据使用场景找到合适的 server。

https://github.com/user-attachments/assets/a171030e-0159-4ce2-9e92-f4fb3f7bfdc6

Embedded MCP Explorer

直接在 Metorial Dashboard 中测试和探索 MCP server。Embedded MCP Explorer 允许你在不离开 dashboard 的情况下使用任何 MCP server,从而在编写代码前轻松测试和调试集成。

https://github.com/user-attachments/assets/eeb73085-e1d6-4745-988a-385694d26500

Monitoring and Debugging

每个 MCP session 都会被记录并可在 Metorial Dashboard 中查看。这使你能够监控并发现集成中的问题。更棒的是,如果发生错误,Metorial 会自动检测并提供详细的错误报告,以便你快速修复问题。

https://github.com/user-attachments/assets/c676411e-25b6-442a-af22-c8d99e2be25b

Built for Developers

Metorial 为开发者量身打造。以下是使其成为开发者绝佳选择的一些关键特性:- 可定制化:Metorial 高度可定制,允许您根据需求配置集成。






License

Metorial Catalog 采用 Apache License 2.0 许可。

<div align="center">
<sub>Built with ❤️ by <a href="https://metorial.com">Metorial</a></sub>
</div>

查看官方来源