metorial

GitHub
3.2k 357 较难 1 次阅读 今天Apache-2.0Agent
AI 解读 由 AI 自动生成,仅供参考

Metorial 是一个专为智能体(Agentic AI)开发打造的开源集成平台。它的核心使命是打破大模型与外部世界之间的壁垒,让开发者能够通过简单的函数调用,将任意 AI 模型无缝连接至 600 多种 API、数据源及工具(如 Slack、Google Calendar 等)。

在构建能自主执行任务的 AI 应用时,开发者往往面临复杂的协议适配和繁琐的身份验证流程。Metorial 基于模型上下文协议(MCP)构建,将这些底层技术细节高度抽象化,提供统一的接口和自动化会话管理。这意味着你无需重复编写大量胶水代码来处理不同服务的连接逻辑或 OAuth 认证,只需几行代码即可让 AI 具备操作外部软件的能力。

这款工具主要面向需要构建高质量 AI 智能体应用的开发者。它提供了 JavaScript/TypeScript 和 Python SDK,支持快速原型开发与生产级部署。除了便捷的云端服务,Metorial 还完全开源并支持自托管,赋予团队对数据和架构的完全控制权。其独特的“一行代码”集成能力和内置的详细监控功能,极大地降低了多工具协作开发的门槛,是让 AI 从“只会聊天”走向“真正做事”的高效桥梁。

使用场景

某初创公司的后端工程师需要快速构建一个能自动读取 Slack 消息并同步至 Google Calendar 的 AI 助理,以解决团队会议安排混乱的问题。

没有 metorial 时

  • 开发者需手动研究 Slack 和 Google Calendar 两套完全不同的 API 文档,编写大量样板代码来处理认证与数据格式转换。
  • 为了适配 Model Context Protocol (MCP),必须从零搭建复杂的中间件来桥接大模型与外部工具,调试耗时极长。
  • 处理 OAuth 用户授权流程极其繁琐,需要单独开发登录回调、令牌刷新及会话状态管理逻辑,容易出安全漏洞。
  • 每新增一个工具集成(如后续想加入 Notion),都需要重复上述开发过程,导致项目迭代速度严重受阻。

使用 metorial 后

  • 仅需调用一行 metorial.run() 函数并指定 slack-servergoogle-calendar-server,即可瞬间打通两个平台的数据链路。
  • metorial 底层已抽象好 MCP 协议细节,开发者无需关心复杂的协议握手,直接专注于业务逻辑指令的下发。
  • 内置的 OAuth 会话管理机制自动处理了 Google 和 Slack 的授权跳转与令牌维护,彻底免除了手动编写鉴权代码的痛苦。
  • 未来若要集成更多工具,只需在参数列表中增加对应的服务器部署名称,实现了真正的“即插即用”式扩展。

metorial 将原本数天的多系统集成工作压缩至几分钟,让开发者能专注于打造真正的智能体应用而非陷入连接器的泥潭。

运行环境要求

操作系统
  • 未说明 (基于 Docker,理论上支持所有主流操作系统)
GPU

未说明

内存

未说明

依赖
notes该工具是一个集成平台而非本地运行的 AI 模型,因此无特定 GPU 或显存需求。自托管版本强烈依赖 Docker 容器化环境来运行 MCP 服务器。后端技术栈包含 Go (MCP 引擎)、Bun (核心运行时)、PostgreSQL (数据存储)、Redis (缓存) 和 MongoDB (日志)。用户需自行部署这些基础设施或通过 Docker Compose 启动。主要使用场景是通过 Python 或 TypeScript SDK 调用 API,连接外部大模型(如 OpenAI, Anthropic 等)与各类工具。
python未说明 (提供 Python SDK,但核心运行时基于 Bun/Go)
Docker
PostgreSQL
Redis
MongoDB
Bun
Go
Node.js/TypeScript (SDK)
Python (SDK)
metorial hero image

快速开始

Metorial

Metorial (YC F25)

面向智能体AI的开源集成平台。
只需一次函数调用,即可将任何AI模型连接到数千个API、数据源和工具。

[!TIP] 跳过部署,直接使用托管服务: 使用Metorial最快速、最简单且最可靠的方式,就是注册我们的托管平台

➡️ 立即开始(免费)

简介

Metorial使AI智能体开发者能够通过模型上下文协议(MCP)轻松地将他们的模型连接到各种API、数据源和工具。Metorial抽象了MCP的复杂性,为开发者提供了一个简单统一的接口,包括功能强大的SDK、详细的监控以及高度可定制的平台。

特性

  • ✨ 一行式SDK:只需一次函数调用,即可将您的AI模型连接到任何API、数据源或工具。
  • 🛠️ 基于MCP:Metorial构建于模型上下文协议之上,该协议是用于将AI模型与外部数据和工具连接的标准。
  • 🚀 数分钟内上手:Metorial设计简洁易用,设置流程简单,并为所有AI集成提供统一的界面。
  • 🕊️ 自行部署:Metorial的源代码托管在GitHub上,您可以自行部署。
  • 👩‍💻 专为开发者打造:Metorial并非面向最终用户,而是为需要高质量工具、监控和自定义选项来构建智能体AI应用的开发者而设计。

SDK

Metorial目前提供以下语言的SDK:

如果您想构建自定义集成,请查看我们的API文档,了解如何直接使用Metorial API。

Metorial平台

Metorial平台是驱动Metorial引擎的核心代码。它是开源的,支持自行部署。您可以使用它运行自己的Metorial实例,该实例由本仓库中的MCP服务器提供支持。

快速入门

最简单的入门方式是使用.run()方法,它可以自动处理会话管理和对话循环:

import { Metorial } from 'metorial';
import OpenAI from 'openai';

let metorial = new Metorial({ apiKey: 'your-metorial-api-key' });
let openai = new OpenAI({ apiKey: 'your-openai-api-key' });

let result = await metorial.run({
  message: '扫描我的Slack消息,找出会议并将其添加到我的Google日历中。',
  serverDeployments: ['google-calendar-server', 'slack-server'], 
  model: 'gpt-4o',
  client: openai,
  maxSteps: 10 // 可选:限制对话步骤
});

console.log(`响应(共${result.steps}步完成):`);
console.log(result.text);
import asyncio
from metorial import Metorial
from openai import AsyncOpenAI

async def main():
  metorial = Metorial(api_key="your-metorial-api-key")
  openai = AsyncOpenAI(api_key="your-openai-api-key")
  
  response = await metorial.run(
    message="在HackerNews上搜索最新的AI讨论。",
    server_deployments=["hacker-news-server-deployment"],
    client=openai,
    model="gpt-4o",
    max_steps=25    # 可选
  )
  
  print("响应:", response.text)

asyncio.run(main())

OAuth 集成

在使用需要用户认证的服务(如 Google 日历、Slack 等)时,Metorial 提供 OAuth 会话管理来处理认证流程:

import { Metorial } from 'metorial';
import Anthropic from '@anthropic-ai/sdk';

let metorial = new Metorial({ apiKey: 'your-metorial-api-key' });
let anthropic = new Anthropic({ apiKey: 'your-anthropic-api-key' });

// 为需要用户认证的服务创建 OAuth 会话
let [googleCalOAuthSession, slackOAuthSession] = await Promise.all([
  metorial.oauth.sessions.create({ 
    serverDeploymentId: 'your-google-calendar-server-deployment-id' 
  }),
  metorial.oauth.sessions.create({ 
    serverDeploymentId: 'your-slack-server-deployment-id' 
  })
]);

// 向用户提供 OAuth 认证 URL
console.log('用于用户认证的 OAuth URL:');
console.log(`   Google 日历:${googleCalOAuthSession.url}`);
console.log(`   Slack:${slackOAuthSession.url}`);

// 等待用户完成 OAuth 流程
await metorial.oauth.waitForCompletion([googleCalOAuthSession, slackOAuthSession]);

console.log('OAuth 会话已完成!');

// 现在可以在运行中使用已认证的会话
let result = await metorial.run({
  message: `在 Slack 中查找提及潜在合作伙伴的内容。使用 Exa 查找他们的背景、公司和电子邮件。请为他们安排一场 30 分钟的介绍性电话,时间定在 2025 年 12 月 13 日旧金山时间的空闲时段,并将日历链接发送给我。无需等待任何确认即可继续执行。`,

  serverDeployments: [
    { 
      serverDeploymentId: 'your-google-calendar-server-deployment-id', 
      oauthSessionId: googleCalOAuthSession.id 
    },
    { 
      serverDeploymentId: 'your-slack-server-deployment-id', 
      oauthSessionId: slackOAuthSession.id 
    },
    { 
      serverDeploymentId: 'your-exa-server-deployment-id' // Exa 不需要 OAuth
    }
  ],
  client: anthropic,
  model: 'claude-3-5-sonnet-20241022'
});

console.log(result.text);
import asyncio
import os
from metorial import Metorial
from anthropic import AsyncAnthropic

async def main():
  metorial = Metorial(api_key=os.getenv("METORIAL_API_KEY"))
  anthropic = AsyncAnthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))

  # 创建用于认证服务的 OAuth 会话
  google_cal_deployment_id = os.getenv("GOOGLE_CALENDAR_DEPLOYMENT_ID")
  
  print("🔗 创建 OAuth 会话...")
  oauth_session = metorial.oauth.sessions.create(
    server_deployment_id=google_cal_deployment_id
  )

  print("用于用户认证的 OAuth URL:");
  print(f"   Google 日历:{oauth_session.url}")

  print("\n⏳ 等待 OAuth 完成...");
  await metorial.oauth.wait_for_completion([oauth_session])
  print("✅ OAuth 会话已完成!")

  # 使用包含混合认证的多个服务器部署
  hackernews_deployment_id = os.getenv("HACKERNEWS_DEPLOYMENT_ID")
  
  result = await metorial.run(
    message="""使用现有工具在 Hackernews 上搜索最新的 AI 讨论。然后使用 Google 日历工具为 my@email.address 创建一个明天下午 2 点举行的关于 AI 趋势的会议日程。""",
    server_deployments=[
      { "serverDeploymentId": google_cal_deployment_id, "oauthSessionId": oauth_session.id },
      { "serverDeploymentId": hackernews_deployment_id },
    ],
    client=anthropic,
    model="claude-sonnet-4-20250514",
    max_tokens=4096,
    max_steps=25,
  )
  print(result.text)

asyncio.run(main())

OAuth 流程说明

  1. 创建 OAuth 会话:为每个需要用户认证的服务调用 metorial.oauth.sessions.create() 方法。
  2. 发送 URL:向用户展示 OAuth URL,以便他们在浏览器中完成认证。
  3. 等待完成:使用 metorial.oauth.waitForCompletion() 等待用户完成 OAuth 流程。
  4. 使用已认证的会话:在配置 serverDeployments 时传递 oauthSessionId

示例

更多全面的示例请参阅 examples/ 目录:

多提供商支持

可在不同 AI 提供商之间使用相同的工具。

提供商 模型示例 必需客户端
OpenAI gpt-4o, gpt-4, gpt-3.5-turbo openaiClient
Anthropic claude-3-5-sonnet-20241022, claude-3-haiku-20240307 anthropicClient
Google gemini-pro, gemini-1.5-pro, gemini-flash googleClient
DeepSeek deepseek-chat, deepseek-coder deepseekClient
Mistral mistral-large-latest, mistral-small-latest mistralClient
XAI grok-beta, grok-vision-beta xaiClient
TogetherAI meta-llama/Llama-2-70b-chat-hf, NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO togetheraiClient

动机

MCP 是一种强大的标准,用于将 AI 模型与外部数据和工具连接起来,但它主要面向 AI 客户端(如 Claude Desktop 或 Cursor),帮助它们连接到工具和数据源。 Metorial 在 MCP 的基础上进一步简化了这一过程,使开发者只需一行代码即可将其 AI 应用程序连接到任何 API、数据源或工具。 通过这种方式,我们赋能开发者构建能够以可靠、简单和安全的方式与其他系统交互的智能体式 AI 应用程序。

技术栈

  • 模型上下文协议 (MCP) - Metorial 基于模型上下文协议构建,该协议是一种用于将 AI 模型连接到外部数据和工具的标准。
  • Docker - Metorial 使用 Docker 在容器化环境中运行 MCP 服务器,从而简化部署和管理。
  • MCP 容器 - Metorial 提供了一系列预构建的 MCP 服务器 Docker 镜像。
  • 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 控制台基于 React 构建。

功能特性

Metorial 旨在让开发者能够极其便捷地将其 AI 应用程序连接到外部数据和工具。依托模型上下文协议 (MCP),Metorial 坚持标准化设计。

海量服务器目录

Metorial 服务器索引 已收录超过 5000 个 MCP 服务器。开发者可以轻松查找并使用适合其 AI 应用的 MCP 服务器。所有内容均可搜索且分类清晰,便于您根据具体需求快速定位合适的服务器。

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

内置 MCP 浏览器

您可以在 Metorial 控制台中直接测试和探索 MCP 服务器。内置的 MCP 浏览器使您无需离开控制台即可使用任何 MCP 服务器,从而在编写代码之前轻松完成集成的测试与调试。

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

监控与调试

每个 MCP 会话都会被记录,并可在 Metorial 控制台中查看。这使您能够监控集成状态并及时发现潜在问题。更棒的是,一旦发生错误,Metorial 会自动检测并生成详细的错误报告,帮助您迅速解决问题。

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

专为开发者打造

Metorial 从一开始就以开发者为核心进行设计。以下是一些使其成为开发者理想选择的关键特性:

  • 可定制性:Metorial 具有高度可定制性,允许您根据自身需求配置集成方案。
  • 开源:Metorial 是开源项目,您可以将其部署在自己的基础设施上,也可以使用我们的托管平台。
  • 多实例支持:为测试不同的配置、环境或版本的集成,您可以创建多个 Metorial 项目实例。
  • 强大的 SDK:Metorial 提供功能强大的 JavaScript/TypeScript 和 Python SDK,方便您与 AI 应用程序无缝集成。
  • 详尽文档:Metorial 为所有功能提供了详细文档,包含示例和教程,助您快速上手。
  • 全面 API 访问:Metorial 的每一项功能均可通过 API 调用,方便您构建自定义集成并自动化工作流。理论上,您甚至可以利用 API 打造属于自己的控制台。
  • 高级控制台:Metorial 控制台提供强大的界面,用于管理集成、监控使用情况以及调试 MCP 服务器。

许可证

Metorial 目录采用 Apache License 2.0 许可证授权。

Metorial 用心打造

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

158.6k|★★☆☆☆|今天
开发框架Agent语言模型

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|今天
Agent插件

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|6天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像