mcpField
M
MCP Plugin for ElizaOS

MCP Plugin for ElizaOS

本地服务
github.com/fleek-platform开发工具4883 周前更新

关于 MCP Plugin for ElizaOS

MCP Plugin for ElizaOS 是为 ElizaOS 提供的插件,使 Agent 能够同时连接多个 MCP 服务,并使用其资源、提示词和工具。它面向基于 ElizaOS 构建 Agent 的开发者,支持 stdio 与 sse 两种服务类型。

主要功能

  1. 01同时连接多个 MCP 服务
  2. 02支持资源、提示词与工具
  3. 03支持 stdio 与 sse 服务类型
  4. 04提供 MCP_SERVERS 上下文提供者
  5. 05可配置超时与禁用单个服务

适用场景

  1. 01为 ElizaOS Agent 接入 GitHub 等外部 MCP 服务
  2. 02在角色配置中统一管理多个 MCP 服务

MCP 相关

该插件作为 MCP 客户端,在角色配置中连接 stdio 或 sse 类型的 MCP 服务,并将其能力暴露给 Agent。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ElizaOS 的 MCP 插件

Conventional Commits

此插件将模型上下文协议(MCP)集成到 ElizaOS 中,使 Agent 能够连接多个 MCP 服务并使用它们的资源、提示词和工具。

🔍 什么是 MCP?

模型上下文协议(MCP)是一种开放协议,可实现大模型应用与外部数据源和工具之间的无缝集成。它提供了一种将大模型与其所需上下文连接起来的标准化方式。

此插件允许 ElizaOS Agent 同时访问多个 MCP 服务,每个服务都提供不同的功能:

  • 资源:供 Agent 参考的上下文和数据
  • 提示词:模板化消息和工作流
  • 工具:供 Agent 执行的函数

📦 安装

在 ElizaOS 项目中安装此插件:

  • npm
npm install @fleek-platform/eliza-plugin-mcp
  • pnpm
pnpm install @fleek-platform/eliza-plugin-mcp
  • yarn
yarn add @fleek-platform/eliza-plugin-mcp
  • bun
bun add @fleek-platform/eliza-plugin-mcp

🚀 用法

  1. 将插件添加到角色配置中:
{
  "name": "Your Character",
  "plugins": ["@fleek-platform/eliza-plugin-mcp"],
  "settings": {
    "mcp": {
      "servers": {
        "github": {
          "type": "stdio",
          "name": "Code Server",
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"]
        }
      }
    }
  }
}

⚙️ 配置选项

MCP 支持两种类型的服务:“stdio”和“sse”。每种类型都有自己的配置选项。

通用选项
选项类型说明
typestringMCP 服务的类型:“stdio”或“sse”
namestring服务的显示名称
timeoutnumber工具调用的超时时间(秒)(默认值:60)
disabledboolean是否禁用此服务
stdio 服务选项
选项类型说明
commandstring运行 MCP 服务的命令
argsstring[]服务的命令行参数
envobject传递给服务的环境变量
cwdstring可选 服务运行时所在的工作目录
sse 服务选项
选项类型说明
urlstringSSE 端点的 URL

🛠️ 使用 MCP 功能

配置完成后,插件会自动向 Agent 提供 MCP 服务的功能:

上下文提供器

插件包含三个提供器,可将 MCP 功能添加到 Agent 的上下文中:

  1. MCP_SERVERS:列出可用服务及其工具、资源和提示词

🔄 插件流程

下图展示了 MCP 插件在工具选择和执行过程中的流程:

graph TD
    %% Starting point - User request
    start[User Request] --> action[CALL_TOOL Action]

    %% MCP Server Validation
    action --> check{MCP Servers Available?}
    check -->|No| fail[Return No Tools Available]
    
    %% Tool Selection Flow
    check -->|Yes| state[Get MCP Provider Data]
    state --> prompt[Create Tool Selection Prompt]
    
    %% First Model Use - Tool Selection
    prompt --> model1[Use Language Model for Tool Selection]
    model1 --> parse[Parse Selection]
    parse --> retry{Valid Selection?}
    
    %% Second Model Use - Retry Selection
    retry -->|No| feedback[Generate Feedback]
    feedback --> model2[Use Language Model for Retry]
    model2 --> parse
    
    %% Tool Selection Result
    retry -->|Yes| toolAvailable{Tool Available?}
    toolAvailable -->|No| fallback[Fallback Response]
    
    %% Tool Execution Flow
    toolAvailable -->|Yes| callTool[Call MCP Tool]
    callTool --> processResult[Process Tool Result]
    
    %% Memory Creation
    processResult --> createMemory[Create Memory Record]
    createMemory --> reasoningPrompt[Create Reasoning Prompt]
    
    %% Third Model Use - Response Generation
    reasoningPrompt --> model3[Use Language Model for Response]
    model3 --> respondToUser[Send Response to User]
    
    %% Styling
    classDef model fill:#f9f,stroke:#333,stroke-width:2px;
    classDef decision fill:#bbf,stroke:#333,stroke-width:2px;
    classDef output fill:#bfb,stroke:#333,stroke-width:2px;
    
    class model1,model2,model3 model;
    class check,retry,toolAvailable decision;
    class respondToUser,fallback output;

📋 示例:设置多个 MCP 服务

以下是一个包含两种类型多个 MCP 服务的完整配置示例:

{
  "name": "Developer Assistant",
  "plugins": ["@elizaos/plugin-mcp", "other-plugins"],
  "settings": {
    "mcp": {
      "servers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
          }
        },
        "puppeteer": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
        },
        "google-maps": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-google-maps"],
          "env": {
            "GOOGLE_MAPS_API_KEY": "<YOUR_API_KEY>"
          }
        }
      },
      "maxRetries": 2
    }
  }
}

🔒 安全注意事项

请注意,MCP 服务可以执行任意代码,因此请仅连接到可信的服务。

🔍 故障排除

如果 MCP 插件出现问题:

  1. 检查 MCP 服务是否已正确配置并运行
  2. 确保 ElizaOS 环境可以访问这些命令
  3. 查看日志,排查连接错误
  4. 确认插件已在角色配置中正确加载

👥 参与贡献

感谢您考虑为我们的项目做出贡献!

如何贡献
  1. Fork 此代码仓库。
  2. 创建新分支:git checkout -b feature-branch-name。
  3. 进行修改。
  4. 使用 Conventional Commits 规范提交更改。
  5. 推送到您的 Fork,并提交拉取请求。
提交规范

我们的提交消息遵循 Conventional Commits:

  • test:💍 补充缺失的测试
  • feat:🎸 新功能
  • fix:🐛 修复 Bug
  • chore:🤖 构建流程或辅助工具变更
  • docs:✏️ 仅修改文档
  • refactor:💡 既不修复 Bug 也不添加功能的代码变更
  • style:💄 标记、空白字符、格式、缺少分号等变更

📄 许可证

此插件采用与 ElizaOS 相同的许可证发布。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。