[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-metorial--metorial":3,"tool-metorial--metorial":62},[4,18,26,36,46,54],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":42,"last_commit_at":43,"category_tags":44,"status":17},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[13,45],"插件",{"id":47,"name":48,"github_repo":49,"description_zh":50,"stars":51,"difficulty_score":32,"last_commit_at":52,"category_tags":53,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":55,"name":56,"github_repo":57,"description_zh":58,"stars":59,"difficulty_score":32,"last_commit_at":60,"category_tags":61,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[45,13,15,14],{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":68,"readme_en":69,"readme_zh":70,"quickstart_zh":71,"use_case_zh":72,"hero_image_url":73,"owner_login":65,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":95,"env_os":96,"env_gpu":97,"env_ram":97,"env_deps":98,"category_tags":110,"github_topics":111,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":120,"updated_at":121,"faqs":122,"releases":152},8375,"metorial\u002Fmetorial","metorial","Connect any AI model to 600+ integrations; powered by MCP 📡 🚀","Metorial 是一个专为智能体（Agentic AI）开发打造的开源集成平台。它的核心使命是打破大模型与外部世界之间的壁垒，让开发者能够通过简单的函数调用，将任意 AI 模型无缝连接至 600 多种 API、数据源及工具（如 Slack、Google Calendar 等）。\n\n在构建能自主执行任务的 AI 应用时，开发者往往面临复杂的协议适配和繁琐的身份验证流程。Metorial 基于模型上下文协议（MCP）构建，将这些底层技术细节高度抽象化，提供统一的接口和自动化会话管理。这意味着你无需重复编写大量胶水代码来处理不同服务的连接逻辑或 OAuth 认证，只需几行代码即可让 AI 具备操作外部软件的能力。\n\n这款工具主要面向需要构建高质量 AI 智能体应用的开发者。它提供了 JavaScript\u002FTypeScript 和 Python SDK，支持快速原型开发与生产级部署。除了便捷的云端服务，Metorial 还完全开源并支持自托管，赋予团队对数据和架构的完全控制权。其独特的“一行代码”集成能力和内置的详细监控功能，极大地降低了多工具协作开发的门槛，是让 AI 从“只会聊天”走向“","Metorial 是一个专为智能体（Agentic AI）开发打造的开源集成平台。它的核心使命是打破大模型与外部世界之间的壁垒，让开发者能够通过简单的函数调用，将任意 AI 模型无缝连接至 600 多种 API、数据源及工具（如 Slack、Google Calendar 等）。\n\n在构建能自主执行任务的 AI 应用时，开发者往往面临复杂的协议适配和繁琐的身份验证流程。Metorial 基于模型上下文协议（MCP）构建，将这些底层技术细节高度抽象化，提供统一的接口和自动化会话管理。这意味着你无需重复编写大量胶水代码来处理不同服务的连接逻辑或 OAuth 认证，只需几行代码即可让 AI 具备操作外部软件的能力。\n\n这款工具主要面向需要构建高质量 AI 智能体应用的开发者。它提供了 JavaScript\u002FTypeScript 和 Python SDK，支持快速原型开发与生产级部署。除了便捷的云端服务，Metorial 还完全开源并支持自托管，赋予团队对数据和架构的完全控制权。其独特的“一行代码”集成能力和内置的详细监控功能，极大地降低了多工具协作开发的门槛，是让 AI 从“只会聊天”走向“真正做事”的高效桥梁。","\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmetorial_metorial_readme_4394de88dc22.webp\" alt=\"Metorial\" width=\"100%\" \u002F>\n\n\u003Cbr \u002F>\n\n\u003Ch1 align=\"center\">Metorial (YC F25)\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\nThe open source integration platform for agentic AI. \u003Cbr \u002F>\nConnect any AI model to thousands of APIs, data sources, and tools with a single function call.\n\u003C\u002Fp>\n\n> [!TIP]\n> *Skip the setup and go hosted:* The fasted, simplest and most reliable way to use [Metorial](https:\u002F\u002Fmetorial.com) is to sign up to [our hosted platform](https:\u002F\u002Fapp.metorial.com\u002F).\n> \n> ➡️ **[Get Started (for free)](https:\u002F\u002Fmetorial.com)**\n\n## Introduction\n\nMetorial enables AI agent developers to easily connect their models to a wide range of APIs, data sources, and tools using the Model Context Protocol (MCP).\nMetorial abstracts away the complexities of MCP and offers a simple, unified interface for developers, including powerful SDKs, detailed monitoring, and a highly customizable platform.\n\n## Features\n\n* **✨ One-liner SDKs**: Connect your AI model to any API, data source, or tool with a single function call.\n* **🛠️ Powered by MCP**: Metorial is built on the Model Context Protocol, a standard for connecting AI models to external data and tools.\n* **🚀 Get started in minutes**: Metorial is designed to be easy to use, with a simple setup process and a unified interface for all your AI integrations.\n* **🕊️ Self-hosting**: Metorial's source code is hosted on GitHub and you can self-host it.\n* **👩‍💻 Built for developers**: Metorial isn't built for end users, but for developers who need high quality tooling, monitoring, and customization options to build agentic AI applications.\n\n## SDKs\n\nMetorial currently provides SDKs for the following languages:\n\n* \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmetorial_metorial_readme_c31e5d8b8bcd.png\" width=\"12px\" height=\"12px\" \u002F> [**JavaScript\u002FTypeScript**](https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-node)\n* \u003Cimg src=\"assets\u002Fpython.svg\" width=\"12px\" height=\"12px\" \u002F> [**Python**](https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-python)\n\nIf you want to build a custom integration, check out our [API documentation](https:\u002F\u002Fmetorial.com\u002Fapi) for details on how to use the Metorial API directly.\n\n## Metorial Platform\n\nThe [Metorial Platform](https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-platform) is the code that powers the engine behind Metorial. It is open source and can be self-hosted. You can use it to run your own Metorial instance, powered by the MCP servers in this repo.\n\n## Quick Start\n\nThe simplest way to get started is with the `.run()` method, which handles session management and conversation loops automatically:\n\n```typescript\nimport { Metorial } from 'metorial';\nimport OpenAI from 'openai';\n\nlet metorial = new Metorial({ apiKey: 'your-metorial-api-key' });\nlet openai = new OpenAI({ apiKey: 'your-openai-api-key' });\n\nlet result = await metorial.run({\n  message: 'Scan my slack messages for meetings and put them on my google calendar.',\n  serverDeployments: ['google-calendar-server', 'slack-server'], \n  model: 'gpt-4o',\n  client: openai,\n  maxSteps: 10 \u002F\u002F Optional: limit conversation steps\n});\n\nconsole.log(`Response (completed in ${result.steps} steps):`);\nconsole.log(result.text);\n```\n\n```python\nimport asyncio\nfrom metorial import Metorial\nfrom openai import AsyncOpenAI\n\nasync def main():\n  metorial = Metorial(api_key=\"your-metorial-api-key\")\n  openai = AsyncOpenAI(api_key=\"your-openai-api-key\")\n  \n  response = await metorial.run(\n    message=\"Search Hackernews for the latest AI discussions.\",\n    server_deployments=[\"hacker-news-server-deployment\"],\n    client=openai,\n    model=\"gpt-4o\",\n    max_steps=25    # optional\n  )\n  \n  print(\"Response:\", response.text)\n\nasyncio.run(main())\n```\n\n## OAuth Integration\n\nWhen working with services that require user authentication (like Google Calendar, Slack, etc.), Metorial provides OAuth session management to handle the authentication flow:\n\n```typescript\nimport { Metorial } from 'metorial';\nimport Anthropic from '@anthropic-ai\u002Fsdk';\n\nlet metorial = new Metorial({ apiKey: 'your-metorial-api-key' });\nlet anthropic = new Anthropic({ apiKey: 'your-anthropic-api-key' });\n\n\u002F\u002F Create OAuth sessions for services that require user authentication\nlet [googleCalOAuthSession, slackOAuthSession] = await Promise.all([\n  metorial.oauth.sessions.create({ \n    serverDeploymentId: 'your-google-calendar-server-deployment-id' \n  }),\n  metorial.oauth.sessions.create({ \n    serverDeploymentId: 'your-slack-server-deployment-id' \n  })\n]);\n\n\u002F\u002F Give user OAuth URLs for authentication\nconsole.log('OAuth URLs for user authentication:');\nconsole.log(`   Google Calendar: ${googleCalOAuthSession.url}`);\nconsole.log(`   Slack: ${slackOAuthSession.url}`);\n\n\u002F\u002F Wait for user to complete OAuth flow\nawait metorial.oauth.waitForCompletion([googleCalOAuthSession, slackOAuthSession]);\n\nconsole.log('OAuth sessions completed!');\n\n\u002F\u002F Now use the authenticated sessions in your run\nlet result = await metorial.run({\n  message: `Look in Slack for mentions of potential partners. Use Exa to research their background, \n  company, and email. Schedule a 30-minute intro call with them for an open slot on Dec 13th, 2025 \n  SF time and send me the calendar link. Proceed without asking for any confirmations.`,\n\n  serverDeployments: [\n    { \n      serverDeploymentId: 'your-google-calendar-server-deployment-id', \n      oauthSessionId: googleCalOAuthSession.id \n    },\n    { \n      serverDeploymentId: 'your-slack-server-deployment-id', \n      oauthSessionId: slackOAuthSession.id \n    },\n    { \n      serverDeploymentId: 'your-exa-server-deployment-id' \u002F\u002F No OAuth needed for Exa\n    }\n  ],\n  client: anthropic,\n  model: 'claude-3-5-sonnet-20241022'\n});\n\nconsole.log(result.text);\n```\n\n```python\nimport asyncio\nimport os\nfrom metorial import Metorial\nfrom anthropic import AsyncAnthropic\n\nasync def main():\n  metorial = Metorial(api_key=os.getenv(\"METORIAL_API_KEY\"))\n  anthropic = AsyncAnthropic(api_key=os.getenv(\"ANTHROPIC_API_KEY\"))\n\n  # Create OAuth session for authenticated services\n  google_cal_deployment_id = os.getenv(\"GOOGLE_CALENDAR_DEPLOYMENT_ID\")\n  \n  print(\"🔗 Creating OAuth session...\")\n  oauth_session = metorial.oauth.sessions.create(\n    server_deployment_id=google_cal_deployment_id\n  )\n\n  print(\"OAuth URLs for user authentication:\")\n  print(f\"   Google Calendar: {oauth_session.url}\")\n\n  print(\"\\n⏳ Waiting for OAuth completion...\")\n  await metorial.oauth.wait_for_completion([oauth_session])\n  print(\"✅ OAuth session completed!\")\n\n  # Use multiple server deployments with mixed auth\n  hackernews_deployment_id = os.getenv(\"HACKERNEWS_DEPLOYMENT_ID\")\n  \n  result = await metorial.run(\n    message=\"\"\"Search Hackernews for the latest AI discussions using the available tools. \n    Then create a calendar event using Google Calendar tools with my@email.address for tomorrow at 2pm to discuss AI trends.\"\"\",\n    server_deployments=[\n      { \"serverDeploymentId\": google_cal_deployment_id, \"oauthSessionId\": oauth_session.id },\n      { \"serverDeploymentId\": hackernews_deployment_id },\n    ],\n    client=anthropic,\n    model=\"claude-sonnet-4-20250514\",\n    max_tokens=4096,\n    max_steps=25,\n  )\n  print(result.text)\n\nasyncio.run(main())\n```\n\n### OAuth Flow Explained\n\n1. **Create OAuth Sessions**: Call `metorial.oauth.sessions.create()` for each service requiring user authentication\n2. **Send URLs**: Show the OAuth URLs to users so they can authenticate in their browser\n3. **Wait for Completion**: Use `metorial.oauth.waitForCompletion()` to wait for users to complete the OAuth flow\n4. **Use Authenticated Sessions**: Pass the `oauthSessionId` when configuring `serverDeployments`\n\n## Examples\n\nCheck out the `examples\u002F` directory for more comprehensive examples:\n\n- [`https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-node\u002Ftree\u002Fmain\u002Fexamples\u002Ftypescript-openai-run\u002F`](examples\u002Ftypescript-openai-run\u002F) - **Simple `.run()` method example**\n- [`https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-node\u002Ftree\u002Fmain\u002Fexamples\u002Ftypescript-openai\u002F`](examples\u002Ftypescript-openai\u002F) - Manual OpenAI integration\n- [`https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-node\u002Ftree\u002Fmain\u002Fexamples\u002Ftypescript-anthropic\u002F`](examples\u002Ftypescript-anthropic\u002F) - Anthropic integration\n- [`https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-node\u002Ftree\u002Fmain\u002Fexamples\u002Ftypescript-ai-sdk\u002F`](examples\u002Ftypescript-ai-sdk\u002F) - AI SDK integration\n\n\n## Multi-Provider Support\n\nUse the same tools across different AI providers\n\n| Provider   | Model Examples                    | Client Required     |\n|------------|-----------------------------------|---------------------|\n| OpenAI     | `gpt-4o`, `gpt-4`, `gpt-3.5-turbo` | `openaiClient`     |\n| Anthropic  | `claude-3-5-sonnet-20241022`, `claude-3-haiku-20240307` | `anthropicClient` |\n| Google     | `gemini-pro`, `gemini-1.5-pro`, `gemini-flash` | `googleClient` |\n| DeepSeek   | `deepseek-chat`, `deepseek-coder` | `deepseekClient` |\n| Mistral    | `mistral-large-latest`, `mistral-small-latest` | `mistralClient` |\n| XAI        | `grok-beta`, `grok-vision-beta`   | `xaiClient`        |\n| TogetherAI | `meta-llama\u002FLlama-2-70b-chat-hf`, `NousResearch\u002FNous-Hermes-2-Mixtral-8x7B-DPO` | `togetheraiClient` |\n\n\n## Motivation\n\nMCP is a powerful standard for connecting AI models to external data and tools, but it focuses on enabling AI clients (like Claude Desktop or Cursor) to connect to tools and data sources. \nMetorial builds on MCP but makes it a one-liner for developers to connect their AI apps to any API, data source, or tool.\nThereby we enable developers to create agentic AI applications that can interact with other systems in a reliable, simple, and secure way.\n\n## Tech Stack\n\n* [**Model Context Protocol (MCP)**](https:\u002F\u002Fmodelcontextprotocol.io) - Metorial is powered by the Model Context Protocol, a standard for connecting AI models to external data and tools.\n* [**Docker**](https:\u002F\u002Fwww.docker.com) - Metorial uses Docker to run MCP servers in a containerized environment, making it easy to deploy and manage.\n* [**MCP Containers**](https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmcp-containers) - Metorial provides a collection of pre-built MCP servers in Docker containers.\n* [**Typescript**](https:\u002F\u002Fwww.typescriptlang.org) - Most of Metorial is written in TypeScript.\n* [**Bun**](https:\u002F\u002Fbun.sh) - The core of Metorial runs on Bun, a fast JavaScript runtime that is compatible with Node.js.\n* [**Go**](https:\u002F\u002Fgo.dev) - The MCP engine is written in Go, providing a high-performance backend for Metorial.\n* [**PostgreSQL**](https:\u002F\u002Fwww.postgresql.org) - Metorial uses PostgreSQL for data storage.\n* [**Redis**](https:\u002F\u002Fredis.io) - Metorial uses Redis for caching and real-time data processing.\n* [**MongoDB**](https:\u002F\u002Fwww.mongodb.com) - Metorial uses MongoDB for storing usage data and logs.\n* [**React**](https:\u002F\u002Freactjs.org) - The Metorial Dashboard is built with React.\n\n## Features\n\nMetorial is built to make it super easy for developers to connect their AI apps to external data and tools. Powered by the Model Context Protocol (MCP), Metorial is built on standards.\n\n### Large Server Catalog\n\nThe [Metorial server index](https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmcp-index) already contains more than 5000 MCP servers. It's a super easy to find and use MCP servers for your AI applications. Everything is searchable and neatly organized, so you can find the right server for your use case.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa171030e-0159-4ce2-9e92-f4fb3f7bfdc6\n\n### Embedded MCP Explorer\n\nTest and explore MCP servers directly in the Metorial Dashboard. The embedded MCP Explorer allows you to use any MCP server without leaving the dashboard. This makes it easy to test and debug your integrations before writing any code.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Feeb73085-e1d6-4745-988a-385694d26500\n\n### Monitoring and Debugging\n\nEvery MCP session is recorded and can be reviewed in the Metorial Dashboard. This allows you to monitor and find issues in your integrations. And even better, if an error occurs, Metorial detects it and provides a detailed error report so you can quickly fix the issue.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fc676411e-25b6-442a-af22-c8d99e2be25b\n\n### Built for Developers\n\nMetorial is built from the ground up for developers. Here are some of the key features that make Metorial a great choice for developers:\n\n* **Customizable**: Metorial is highly customizable, allowing you to configure your integrations to fit your needs.\n* **Open source**: Metorial is open source, so you can run it on your own infrastructure or use our hosted platform.\n* **Multi-instance support**: Create multiple instances of your Metorial Projects to test different configurations, environments or versions of your integrations.\n* **Powerful SDKs**: Metorial provides powerful SDKs for JavaScript\u002FTypeScript and Python, making it easy to integrate with your AI applications.\n* **Detailed documentation**: Metorial provides [detailed documentation](https:\u002F\u002Fmetorial.com\u002Fdocs) for all its features, including examples and tutorials to help you get started quickly.\n* **Full API access**: Every feature of Metorial is accessible via the API, allowing you to build custom integrations and automate your workflows. Theoretically, you could build your own dashboard using the API.\n* **Advanced dashboard**: The Metorial Dashboard provides a powerful interface for managing your integrations, monitoring your usage, and debugging your MCP servers.\n\n## License\n\nThe Metorial Catalog is licensed under the [Apache License 2.0](LICENSE).\n\n\u003Cdiv align=\"center\">\n  \u003Csub>Built with ❤️ by \u003Ca href=\"https:\u002F\u002Fmetorial.com\">Metorial\u003C\u002Fa>\u003C\u002Fsub>\n\u003C\u002Fdiv>","\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmetorial_metorial_readme_4394de88dc22.webp\" alt=\"Metorial\" width=\"100%\" \u002F>\n\n\u003Cbr \u002F>\n\n\u003Ch1 align=\"center\">Metorial (YC F25)\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n面向智能体AI的开源集成平台。\u003Cbr \u002F>\n只需一次函数调用，即可将任何AI模型连接到数千个API、数据源和工具。\n\u003C\u002Fp>\n\n> [!TIP]\n> *跳过部署，直接使用托管服务：* 使用[Metorial](https:\u002F\u002Fmetorial.com)最快速、最简单且最可靠的方式，就是注册我们的[托管平台](https:\u002F\u002Fapp.metorial.com\u002F)。\n> \n> ➡️ **[立即开始（免费）](https:\u002F\u002Fmetorial.com)**\n\n## 简介\n\nMetorial使AI智能体开发者能够通过模型上下文协议（MCP）轻松地将他们的模型连接到各种API、数据源和工具。Metorial抽象了MCP的复杂性，为开发者提供了一个简单统一的接口，包括功能强大的SDK、详细的监控以及高度可定制的平台。\n\n## 特性\n\n* **✨ 一行式SDK**：只需一次函数调用，即可将您的AI模型连接到任何API、数据源或工具。\n* **🛠️ 基于MCP**：Metorial构建于模型上下文协议之上，该协议是用于将AI模型与外部数据和工具连接的标准。\n* **🚀 数分钟内上手**：Metorial设计简洁易用，设置流程简单，并为所有AI集成提供统一的界面。\n* **🕊️ 自行部署**：Metorial的源代码托管在GitHub上，您可以自行部署。\n* **👩‍💻 专为开发者打造**：Metorial并非面向最终用户，而是为需要高质量工具、监控和自定义选项来构建智能体AI应用的开发者而设计。\n\n## SDK\n\nMetorial目前提供以下语言的SDK：\n\n* \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmetorial_metorial_readme_c31e5d8b8bcd.png\" width=\"12px\" height=\"12px\" \u002F> [**JavaScript\u002FTypeScript**](https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-node)\n* \u003Cimg src=\"assets\u002Fpython.svg\" width=\"12px\" height=\"12px\" \u002F> [**Python**](https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-python)\n\n如果您想构建自定义集成，请查看我们的[API文档](https:\u002F\u002Fmetorial.com\u002Fapi)，了解如何直接使用Metorial API。\n\n## Metorial平台\n\n[Metorial平台](https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-platform)是驱动Metorial引擎的核心代码。它是开源的，支持自行部署。您可以使用它运行自己的Metorial实例，该实例由本仓库中的MCP服务器提供支持。\n\n## 快速入门\n\n最简单的入门方式是使用`.run()`方法，它可以自动处理会话管理和对话循环：\n\n```typescript\nimport { Metorial } from 'metorial';\nimport OpenAI from 'openai';\n\nlet metorial = new Metorial({ apiKey: 'your-metorial-api-key' });\nlet openai = new OpenAI({ apiKey: 'your-openai-api-key' });\n\nlet result = await metorial.run({\n  message: '扫描我的Slack消息，找出会议并将其添加到我的Google日历中。',\n  serverDeployments: ['google-calendar-server', 'slack-server'], \n  model: 'gpt-4o',\n  client: openai,\n  maxSteps: 10 \u002F\u002F 可选：限制对话步骤\n});\n\nconsole.log(`响应（共${result.steps}步完成）：`);\nconsole.log(result.text);\n```\n\n```python\nimport asyncio\nfrom metorial import Metorial\nfrom openai import AsyncOpenAI\n\nasync def main():\n  metorial = Metorial(api_key=\"your-metorial-api-key\")\n  openai = AsyncOpenAI(api_key=\"your-openai-api-key\")\n  \n  response = await metorial.run(\n    message=\"在HackerNews上搜索最新的AI讨论。\",\n    server_deployments=[\"hacker-news-server-deployment\"],\n    client=openai,\n    model=\"gpt-4o\",\n    max_steps=25    # 可选\n  )\n  \n  print(\"响应：\", response.text)\n\nasyncio.run(main())\n```\n\n## OAuth 集成\n\n在使用需要用户认证的服务（如 Google 日历、Slack 等）时，Metorial 提供 OAuth 会话管理来处理认证流程：\n\n```typescript\nimport { Metorial } from 'metorial';\nimport Anthropic from '@anthropic-ai\u002Fsdk';\n\nlet metorial = new Metorial({ apiKey: 'your-metorial-api-key' });\nlet anthropic = new Anthropic({ apiKey: 'your-anthropic-api-key' });\n\n\u002F\u002F 为需要用户认证的服务创建 OAuth 会话\nlet [googleCalOAuthSession, slackOAuthSession] = await Promise.all([\n  metorial.oauth.sessions.create({ \n    serverDeploymentId: 'your-google-calendar-server-deployment-id' \n  }),\n  metorial.oauth.sessions.create({ \n    serverDeploymentId: 'your-slack-server-deployment-id' \n  })\n]);\n\n\u002F\u002F 向用户提供 OAuth 认证 URL\nconsole.log('用于用户认证的 OAuth URL：');\nconsole.log(`   Google 日历：${googleCalOAuthSession.url}`);\nconsole.log(`   Slack：${slackOAuthSession.url}`);\n\n\u002F\u002F 等待用户完成 OAuth 流程\nawait metorial.oauth.waitForCompletion([googleCalOAuthSession, slackOAuthSession]);\n\nconsole.log('OAuth 会话已完成！');\n\n\u002F\u002F 现在可以在运行中使用已认证的会话\nlet result = await metorial.run({\n  message: `在 Slack 中查找提及潜在合作伙伴的内容。使用 Exa 查找他们的背景、公司和电子邮件。请为他们安排一场 30 分钟的介绍性电话，时间定在 2025 年 12 月 13 日旧金山时间的空闲时段，并将日历链接发送给我。无需等待任何确认即可继续执行。`,\n\n  serverDeployments: [\n    { \n      serverDeploymentId: 'your-google-calendar-server-deployment-id', \n      oauthSessionId: googleCalOAuthSession.id \n    },\n    { \n      serverDeploymentId: 'your-slack-server-deployment-id', \n      oauthSessionId: slackOAuthSession.id \n    },\n    { \n      serverDeploymentId: 'your-exa-server-deployment-id' \u002F\u002F Exa 不需要 OAuth\n    }\n  ],\n  client: anthropic,\n  model: 'claude-3-5-sonnet-20241022'\n});\n\nconsole.log(result.text);\n```\n\n```python\nimport asyncio\nimport os\nfrom metorial import Metorial\nfrom anthropic import AsyncAnthropic\n\nasync def main():\n  metorial = Metorial(api_key=os.getenv(\"METORIAL_API_KEY\"))\n  anthropic = AsyncAnthropic(api_key=os.getenv(\"ANTHROPIC_API_KEY\"))\n\n  # 创建用于认证服务的 OAuth 会话\n  google_cal_deployment_id = os.getenv(\"GOOGLE_CALENDAR_DEPLOYMENT_ID\")\n  \n  print(\"🔗 创建 OAuth 会话...\")\n  oauth_session = metorial.oauth.sessions.create(\n    server_deployment_id=google_cal_deployment_id\n  )\n\n  print(\"用于用户认证的 OAuth URL：\");\n  print(f\"   Google 日历：{oauth_session.url}\")\n\n  print(\"\\n⏳ 等待 OAuth 完成...\");\n  await metorial.oauth.wait_for_completion([oauth_session])\n  print(\"✅ OAuth 会话已完成！\")\n\n  # 使用包含混合认证的多个服务器部署\n  hackernews_deployment_id = os.getenv(\"HACKERNEWS_DEPLOYMENT_ID\")\n  \n  result = await metorial.run(\n    message=\"\"\"使用现有工具在 Hackernews 上搜索最新的 AI 讨论。然后使用 Google 日历工具为 my@email.address 创建一个明天下午 2 点举行的关于 AI 趋势的会议日程。\"\"\",\n    server_deployments=[\n      { \"serverDeploymentId\": google_cal_deployment_id, \"oauthSessionId\": oauth_session.id },\n      { \"serverDeploymentId\": hackernews_deployment_id },\n    ],\n    client=anthropic,\n    model=\"claude-sonnet-4-20250514\",\n    max_tokens=4096,\n    max_steps=25,\n  )\n  print(result.text)\n\nasyncio.run(main())\n```\n\n### OAuth 流程说明\n\n1. **创建 OAuth 会话**：为每个需要用户认证的服务调用 `metorial.oauth.sessions.create()` 方法。\n2. **发送 URL**：向用户展示 OAuth URL，以便他们在浏览器中完成认证。\n3. **等待完成**：使用 `metorial.oauth.waitForCompletion()` 等待用户完成 OAuth 流程。\n4. **使用已认证的会话**：在配置 `serverDeployments` 时传递 `oauthSessionId`。\n\n## 示例\n\n更多全面的示例请参阅 `examples\u002F` 目录：\n\n- [`https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-node\u002Ftree\u002Fmain\u002Fexamples\u002Ftypescript-openai-run\u002F`](examples\u002Ftypescript-openai-run\u002F) - **简单的 `.run()` 方法示例**\n- [`https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-node\u002Ftree\u002Fmain\u002Fexamples\u002Ftypescript-openai\u002F`](examples\u002Ftypescript-openai\u002F) - 手动 OpenAI 集成\n- [`https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-node\u002Ftree\u002Fmain\u002Fexamples\u002Ftypescript-anthropic\u002F`](examples\u002Ftypescript-anthropic\u002F) - Anthropic 集成\n- [`https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial-node\u002Ftree\u002Fmain\u002Fexamples\u002Ftypescript-ai-sdk\u002F`](examples\u002Ftypescript-ai-sdk\u002F) - AI SDK 集成\n\n\n## 多提供商支持\n\n可在不同 AI 提供商之间使用相同的工具。\n\n| 提供商   | 模型示例                    | 必需客户端     |\n|------------|-----------------------------------|---------------------|\n| OpenAI     | `gpt-4o`, `gpt-4`, `gpt-3.5-turbo` | `openaiClient`     |\n| Anthropic  | `claude-3-5-sonnet-20241022`, `claude-3-haiku-20240307` | `anthropicClient` |\n| Google     | `gemini-pro`, `gemini-1.5-pro`, `gemini-flash` | `googleClient` |\n| DeepSeek   | `deepseek-chat`, `deepseek-coder` | `deepseekClient` |\n| Mistral    | `mistral-large-latest`, `mistral-small-latest` | `mistralClient` |\n| XAI        | `grok-beta`, `grok-vision-beta`   | `xaiClient`        |\n| TogetherAI | `meta-llama\u002FLlama-2-70b-chat-hf`, `NousResearch\u002FNous-Hermes-2-Mixtral-8x7B-DPO` | `togetheraiClient` |\n\n\n## 动机\n\nMCP 是一种强大的标准，用于将 AI 模型与外部数据和工具连接起来，但它主要面向 AI 客户端（如 Claude Desktop 或 Cursor），帮助它们连接到工具和数据源。\nMetorial 在 MCP 的基础上进一步简化了这一过程，使开发者只需一行代码即可将其 AI 应用程序连接到任何 API、数据源或工具。\n通过这种方式，我们赋能开发者构建能够以可靠、简单和安全的方式与其他系统交互的智能体式 AI 应用程序。\n\n## 技术栈\n\n* [**模型上下文协议 (MCP)**](https:\u002F\u002Fmodelcontextprotocol.io) - Metorial 基于模型上下文协议构建，该协议是一种用于将 AI 模型连接到外部数据和工具的标准。\n* [**Docker**](https:\u002F\u002Fwww.docker.com) - Metorial 使用 Docker 在容器化环境中运行 MCP 服务器，从而简化部署和管理。\n* [**MCP 容器**](https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmcp-containers) - Metorial 提供了一系列预构建的 MCP 服务器 Docker 镜像。\n* [**TypeScript**](https:\u002F\u002Fwww.typescriptlang.org) - Metorial 的大部分代码使用 TypeScript 编写。\n* [**Bun**](https:\u002F\u002Fbun.sh) - Metorial 的核心运行在 Bun 上，Bun 是一个与 Node.js 兼容的高性能 JavaScript 运行时。\n* [**Go**](https:\u002F\u002Fgo.dev) - MCP 引擎使用 Go 语言编写，为 Metorial 提供高性能的后端服务。\n* [**PostgreSQL**](https:\u002F\u002Fwww.postgresql.org) - Metorial 使用 PostgreSQL 进行数据存储。\n* [**Redis**](https:\u002F\u002Fredis.io) - Metorial 使用 Redis 进行缓存和实时数据处理。\n* [**MongoDB**](https:\u002F\u002Fwww.mongodb.com) - Metorial 使用 MongoDB 存储使用数据和日志。\n* [**React**](https:\u002F\u002Freactjs.org) - Metorial 控制台基于 React 构建。\n\n## 功能特性\n\nMetorial 旨在让开发者能够极其便捷地将其 AI 应用程序连接到外部数据和工具。依托模型上下文协议 (MCP)，Metorial 坚持标准化设计。\n\n### 海量服务器目录\n\n[Metorial 服务器索引](https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmcp-index) 已收录超过 5000 个 MCP 服务器。开发者可以轻松查找并使用适合其 AI 应用的 MCP 服务器。所有内容均可搜索且分类清晰，便于您根据具体需求快速定位合适的服务器。\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa171030e-0159-4ce2-9e92-f4fb3f7bfdc6\n\n### 内置 MCP 浏览器\n\n您可以在 Metorial 控制台中直接测试和探索 MCP 服务器。内置的 MCP 浏览器使您无需离开控制台即可使用任何 MCP 服务器，从而在编写代码之前轻松完成集成的测试与调试。\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Feeb73085-e1d6-4745-988a-385694d26500\n\n### 监控与调试\n\n每个 MCP 会话都会被记录，并可在 Metorial 控制台中查看。这使您能够监控集成状态并及时发现潜在问题。更棒的是，一旦发生错误，Metorial 会自动检测并生成详细的错误报告，帮助您迅速解决问题。\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fc676411e-25b6-442a-af22-c8d99e2be25b\n\n### 专为开发者打造\n\nMetorial 从一开始就以开发者为核心进行设计。以下是一些使其成为开发者理想选择的关键特性：\n\n* **可定制性**：Metorial 具有高度可定制性，允许您根据自身需求配置集成方案。\n* **开源**：Metorial 是开源项目，您可以将其部署在自己的基础设施上，也可以使用我们的托管平台。\n* **多实例支持**：为测试不同的配置、环境或版本的集成，您可以创建多个 Metorial 项目实例。\n* **强大的 SDK**：Metorial 提供功能强大的 JavaScript\u002FTypeScript 和 Python SDK，方便您与 AI 应用程序无缝集成。\n* **详尽文档**：Metorial 为所有功能提供了[详细文档](https:\u002F\u002Fmetorial.com\u002Fdocs)，包含示例和教程，助您快速上手。\n* **全面 API 访问**：Metorial 的每一项功能均可通过 API 调用，方便您构建自定义集成并自动化工作流。理论上，您甚至可以利用 API 打造属于自己的控制台。\n* **高级控制台**：Metorial 控制台提供强大的界面，用于管理集成、监控使用情况以及调试 MCP 服务器。\n\n## 许可证\n\nMetorial 目录采用 [Apache License 2.0](LICENSE) 许可证授权。\n\n\u003Cdiv align=\"center\">\n  \u003Csub>由 \u003Ca href=\"https:\u002F\u002Fmetorial.com\">Metorial\u003C\u002Fa> 用心打造\u003C\u002Fsub>\n\u003C\u002Fdiv>","# Metorial 快速上手指南\n\nMetorial 是一个开源的 AI Agent 集成平台，基于模型上下文协议（MCP），帮助开发者通过单次函数调用将 AI 模型连接到数千个 API、数据源和工具。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux, macOS 或 Windows (WSL2 推荐)\n*   **运行时环境**:\n    *   **Node.js** (推荐 v18+) 或 **Bun** (用于 TypeScript\u002FJavaScript 开发)\n    *   **Python** 3.9+ (用于 Python 开发)\n*   **API Keys**:\n    *   **Metorial API Key**: 需在 [Metorial 官网](https:\u002F\u002Fapp.metorial.com\u002F) 注册获取。\n    *   **大模型 API Key**: 如 OpenAI, Anthropic, Google 等对应的密钥。\n*   **依赖库**:\n    *   TypeScript\u002FJS: `npm install metorial openai` (或其他对应 SDK)\n    *   Python: `pip install metorial openai` (或其他对应 SDK)\n\n> **提示**: 为了获得最稳定的体验，建议直接使用 Metorial 提供的托管服务，无需自行部署后端基础设施。\n\n## 安装步骤\n\n根据您的开发语言选择相应的安装命令：\n\n### 1. TypeScript \u002F JavaScript\n\n使用 npm 或 bun 安装官方 SDK：\n\n```bash\nnpm install metorial openai\n# 或者\nbun add metorial openai\n```\n\n### 2. Python\n\n使用 pip 安装官方 SDK：\n\n```bash\npip install metorial openai\n```\n\n## 基本使用\n\nMetorial 的核心功能是 `.run()` 方法，它自动处理会话管理和对话循环。以下是最简单的使用示例。\n\n### 场景示例\n让 AI 扫描 Slack 消息中的会议安排，并自动添加到 Google 日历中。\n\n### TypeScript 示例\n\n```typescript\nimport { Metorial } from 'metorial';\nimport OpenAI from 'openai';\n\n\u002F\u002F 初始化客户端\nlet metorial = new Metorial({ apiKey: 'your-metorial-api-key' });\nlet openai = new OpenAI({ apiKey: 'your-openai-api-key' });\n\n\u002F\u002F 执行任务\nlet result = await metorial.run({\n  message: 'Scan my slack messages for meetings and put them on my google calendar.',\n  serverDeployments: ['google-calendar-server', 'slack-server'], \n  model: 'gpt-4o',\n  client: openai,\n  maxSteps: 10 \u002F\u002F 可选：限制最大交互步数\n});\n\nconsole.log(`Response (completed in ${result.steps} steps):`);\nconsole.log(result.text);\n```\n\n### Python 示例\n\n```python\nimport asyncio\nfrom metorial import Metorial\nfrom openai import AsyncOpenAI\n\nasync def main():\n  # 初始化客户端\n  metorial = Metorial(api_key=\"your-metorial-api-key\")\n  openai = AsyncOpenAI(api_key=\"your-openai-api-key\")\n  \n  # 执行任务\n  response = await metorial.run(\n    message=\"Search Hackernews for the latest AI discussions.\",\n    server_deployments=[\"hacker-news-server-deployment\"],\n    client=openai,\n    model=\"gpt-4o\",\n    max_steps=25    # 可选\n  )\n  \n  print(\"Response:\", response.text)\n\nasyncio.run(main())\n```\n\n### 进阶：处理 OAuth 认证\n\n当连接需要用户授权的服务（如 Google Calendar, Slack）时，需先创建 OAuth 会话：\n\n1.  调用 `metorial.oauth.sessions.create()` 创建会话。\n2.  引导用户在浏览器中打开返回的 URL 完成授权。\n3.  调用 `waitForCompletion` 等待授权完成。\n4.  在 `run` 方法中传入 `oauthSessionId`。\n\n*(具体代码逻辑请参考官方文档中的 OAuth Integration 章节)*\n\n### 支持的模型提供商\n\nMetorial 支持多种主流大模型提供商，只需更换 `client` 和 `model` 参数即可：\n\n| 提供商 | 模型示例 | 所需 Client |\n| :--- | :--- | :--- |\n| **OpenAI** | `gpt-4o`, `gpt-4` | `openaiClient` |\n| **Anthropic** | `claude-3-5-sonnet` | `anthropicClient` |\n| **Google** | `gemini-pro` | `googleClient` |\n| **DeepSeek** | `deepseek-chat` | `deepseekClient` |\n| **Mistral** | `mistral-large-latest` | `mistralClient` |","某初创公司的后端工程师需要快速构建一个能自动读取 Slack 消息并同步至 Google Calendar 的 AI 助理，以解决团队会议安排混乱的问题。\n\n### 没有 metorial 时\n- 开发者需手动研究 Slack 和 Google Calendar 两套完全不同的 API 文档，编写大量样板代码来处理认证与数据格式转换。\n- 为了适配 Model Context Protocol (MCP)，必须从零搭建复杂的中间件来桥接大模型与外部工具，调试耗时极长。\n- 处理 OAuth 用户授权流程极其繁琐，需要单独开发登录回调、令牌刷新及会话状态管理逻辑，容易出安全漏洞。\n- 每新增一个工具集成（如后续想加入 Notion），都需要重复上述开发过程，导致项目迭代速度严重受阻。\n\n### 使用 metorial 后\n- 仅需调用一行 `metorial.run()` 函数并指定 `slack-server` 和 `google-calendar-server`，即可瞬间打通两个平台的数据链路。\n- metorial 底层已抽象好 MCP 协议细节，开发者无需关心复杂的协议握手，直接专注于业务逻辑指令的下发。\n- 内置的 OAuth 会话管理机制自动处理了 Google 和 Slack 的授权跳转与令牌维护，彻底免除了手动编写鉴权代码的痛苦。\n- 未来若要集成更多工具，只需在参数列表中增加对应的服务器部署名称，实现了真正的“即插即用”式扩展。\n\nmetorial 将原本数天的多系统集成工作压缩至几分钟，让开发者能专注于打造真正的智能体应用而非陷入连接器的泥潭。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmetorial_metorial_4394de88.webp","Metorial","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmetorial_c8846c6f.png","The open source AI integration platform for developers.",null,"hey@metorial.com","MetorialAi","https:\u002F\u002Fmetorial.com","https:\u002F\u002Fgithub.com\u002Fmetorial",[83,87],{"name":84,"color":85,"percentage":86},"TypeScript","#3178c6",100,{"name":88,"color":89,"percentage":90},"JavaScript","#f1e05a",0,3249,357,"2026-04-16T12:00:46","Apache-2.0",4,"未说明 (基于 Docker，理论上支持所有主流操作系统)","未说明",{"notes":99,"python":100,"dependencies":101},"该工具是一个集成平台而非本地运行的 AI 模型，因此无特定 GPU 或显存需求。自托管版本强烈依赖 Docker 容器化环境来运行 MCP 服务器。后端技术栈包含 Go (MCP 引擎)、Bun (核心运行时)、PostgreSQL (数据存储)、Redis (缓存) 和 MongoDB (日志)。用户需自行部署这些基础设施或通过 Docker Compose 启动。主要使用场景是通过 Python 或 TypeScript SDK 调用 API，连接外部大模型（如 OpenAI, Anthropic 等）与各类工具。","未说明 (提供 Python SDK，但核心运行时基于 Bun\u002FGo)",[102,103,104,105,106,107,108,109],"Docker","PostgreSQL","Redis","MongoDB","Bun","Go","Node.js\u002FTypeScript (SDK)","Python (SDK)",[13],[112,113,114,115,116,117,118,119],"agent","agentic-ai","agentic-workflow","container","docker","mcp","modelcontextprotocol","security","2026-03-27T02:49:30.150509","2026-04-17T10:20:41.859582",[123,128,133,138,143,148],{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},37488,"如何向项目贡献新的 MCP 服务器？","贡献者应遵循 CONTRIBUTING.md 文件中的指南。为了简化流程，维护者已将构建步骤整合到 `add-server` 脚本中，因此不再需要手动运行 `bun build single` 命令。只需将最新的更改拉取到您的 fork 仓库中，然后运行 `add-server` 脚本即可自动完成构建和配置。","https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial\u002Fissues\u002F10",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},37489,"StarRocks MCP 容器是否提供 Web 界面或文档接口（如 \u002Fdocs）？","不提供。该容器仅包含 MCP 服务器本身，不包含任何 Web 服务器或用户界面功能。如果您看到其他 MCP 服务器有 http:\u002F\u002Flocalhost:8000\u002Fdocs 这样的接口，那是因为它们集成了额外的 Web 服务，而 StarRocks 的官方 MCP 实现专注于纯协议通信，需通过 MCPO 代理或其他客户端进行连接。","https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial\u002Fissues\u002F21",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},37490,"项目是否有社区交流群（如 Discord）以便贡献者沟通？","目前项目尚未正式推出 Discord 服务器。维护者表示即将启动，建议关注项目动态，一旦上线会及时通知社区成员。","https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial\u002Fissues\u002F28",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},37491,"如何请求添加新的第三方 MCP 服务器到容器中？","用户可以通过提交 Issue 提出建议，需提供目标项目的 GitHub 仓库链接、简要描述以及是否包含 Dockerfile 等信息。维护者在评估后会将其集成并发布到 metorial\u002Fmcp-containers 的包仓库中。例如，paper-search-mcp 和 pubmed-mcp-smithery 均是通过此流程成功添加的。","https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial\u002Fissues\u002F15",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},37492,"发现服务器代码中存在敏感信息（如 OAuth Token）被打印到日志的问题怎么办？","这是一个已确认的安全隐患。维护者已针对 Slack 等服务器中的问题日志语句进行了修复，移除了直接打印完整配置对象的行为，以防止访问令牌或密钥泄露到容器日志或日志聚合系统中。如果您在其他服务器中发现类似问题，欢迎提交 PR 协助修复。","https:\u002F\u002Fgithub.com\u002Fmetorial\u002Fmetorial\u002Fissues\u002F100",{"id":149,"question_zh":150,"answer_zh":151,"source_url":127},37493,"在本地开发时遇到无法还原的无关文件修改（如 Bankless 大小写变化）如何处理？","这种情况可能与版本发现过程有关，但在本地环境中不应触发。如果遇到此类无法还原的修改（例如文件名大小写变更或重复条目），建议在提交 PR 前仔细检查差异。维护者已在相关 PR 中处理了 Bankless 服务器的重复条目和命名不一致问题，拉取最新代码通常可解决此类冲突。",[]]