plugged.in MCP Proxy Server

plugged.in MCP Proxy Server

Plugged.in MCP 服务器在一个 MCP 中管理你所有的其他 MCP。

VeriTeknik

开发者工具
访问服务器

README

plugged.in MCP 代理服务器

<div align="center"> <img src="https://plugged.in/_next/image?url=%2Fpluggedin-wl.png&w=256&q=75" alt="plugged.in Logo" width="256" height="75"> <h3>AI 数据交换的十字路口</h3> <p>用于管理所有 MCP 服务器的统一界面</p>

GitHub Stars License TypeScript MCP </div>

📋 概述

plugged.in MCP 代理服务器是一个强大的中间件,它将多个机器对话协议 (MCP) 服务器聚合到一个统一的界面中。它从 plugged.in App 获取工具、提示和资源配置,并将请求智能地路由到适当的底层 MCP 服务器。

该代理能够与任何 MCP 客户端(Claude、Cline、Cursor 等)无缝集成,同时通过 plugged.in 生态系统提供高级管理功能。

✨ 主要特性

  • 通用 MCP 兼容性:与任何 MCP 客户端(包括 Claude Desktop、Cline 和 Cursor)配合使用
  • 多服务器支持:连接 STDIO(命令行)和 WebSocket(基于 HTTP)MCP 服务器
  • 命名空间隔离:通过适当的前缀,保持加入的 MCP 分离和组织
  • 多工作区层:一键切换不同的 MCP 配置集
  • 简化架构:精简的代码库,缩短启动时间并降低复杂性
  • API 驱动的代理:从 plugged.in App API 获取功能,而不是直接发现
  • 完整 MCP 支持:处理工具、资源、资源模板和提示
  • 自定义指令:支持格式化为 MCP 提示的服务器特定指令

🚀 快速开始

前提条件

  • Node.js 18+(推荐 v20+)
  • 来自 plugged.in App 的 API 密钥(在 plugged.in/api-keys 获取)

安装

# 使用 npx 安装和运行
npx -y @pluggedin/mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY

MCP 客户端的配置

Claude Desktop

将以下内容添加到您的 Claude Desktop 配置中:

{
  "mcpServers": {
    "pluggedin": {
      "command": "npx",
      "args": ["-y", "@pluggedin/mcp-proxy@latest"],
      "env": {
        "PLUGGEDIN_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Cline

将以下内容添加到您的 Cline 配置中:

{
  "mcpServers": {
    "pluggedin": {
      "command": "npx",
      "args": ["-y", "@pluggedin/mcp-proxy@latest"],
      "env": {
        "PLUGGEDIN_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Cursor

对于 Cursor,您可以使用命令行参数而不是环境变量:

npx -y @pluggedin/mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY

⚙️ 配置选项

环境变量

变量 描述 是否必需 默认值
PLUGGEDIN_API_KEY 来自 plugged.in App 的 API 密钥 -
PLUGGEDIN_API_BASE_URL plugged.in App 的基本 URL https://plugged.in

命令行参数

命令行参数优先于环境变量:

npx -y @pluggedin/mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY --pluggedin-api-base-url https://your-custom-url.com

有关选项的完整列表:

npx -y @pluggedin/mcp-proxy@latest --help

🐳 Docker 用法

您还可以使用 Docker 构建和运行代理服务器。

构建镜像

确保您已安装并运行 Docker。导航到 pluggedin-mcp 目录并运行:

docker build -t pluggedin-mcp-proxy:latest .

包含一个 .dockerignore 文件以优化构建上下文。

运行容器

运行容器,提供必要的环境变量:

docker run -it --rm \
  -e PLUGGEDIN_API_KEY="YOUR_API_KEY" \
  -e PLUGGEDIN_API_BASE_URL="YOUR_API_BASE_URL" \
  --name pluggedin-mcp-container \
  pluggedin-mcp-proxy:latest

替换 YOUR_API_KEYYOUR_API_BASE_URL(如果未使用默认的 https://plugged.in)。

使用 MCP Inspector 进行测试

在容器运行时,您可以使用 MCP Inspector 连接到它:

npx @modelcontextprotocol/inspector docker://pluggedin-mcp-container

这将连接到正在运行的容器的标准输入/输出。

停止容器

在执行 docker run 的终端中按 Ctrl+C--rm 标志确保容器在停止时自动删除。

🏗️ 系统架构

plugged.in MCP 代理服务器充当 MCP 客户端和多个底层 MCP 服务器之间的桥梁:

sequenceDiagram
    participant MCPClient as MCP 客户端 (例如 Claude Desktop)
    participant PluggedinMCP as plugged.in MCP 代理
    participant PluggedinApp as plugged.in App
    participant MCPServers as 底层 MCP 服务器

    MCPClient ->> PluggedinMCP: 请求工具/资源/提示列表
    PluggedinMCP ->> PluggedinApp: 通过 API 获取功能
    PluggedinApp ->> PluggedinMCP: 返回功能(带前缀)

    MCPClient ->> PluggedinMCP: 调用工具/读取资源/获取提示
    alt 标准功能
        PluggedinMCP ->> PluggedinApp: 将功能解析为服务器
        PluggedinApp ->> PluggedinMCP: 返回服务器详细信息
        PluggedinMCP ->> MCPServers: 将请求转发到目标服务器
        MCPServers ->> PluggedinMCP: 返回响应
    else 自定义指令
        PluggedinMCP ->> PluggedinApp: 获取自定义指令
        PluggedinApp ->> PluggedinMCP: 返回格式化的消息
    end
    PluggedinMCP ->> MCPClient: 返回响应

    alt 发现工具
        MCPClient ->> PluggedinMCP: 调用 pluggedin_discover_tools
        PluggedinMCP ->> PluggedinApp: 触发发现操作
        PluggedinApp ->> MCPServers: 连接并发现功能
        MCPServers ->> PluggedinApp: 返回功能
        PluggedinApp ->> PluggedinMCP: 确认发现完成
        PluggedinMCP ->> MCPClient: 返回发现结果
    end

🔄 工作流程

  1. 配置:代理从 plugged.in App 获取服务器配置
  2. 功能列表:代理从 plugged.in App API 获取发现的功能
    • tools/list:从 /api/tools 获取(返回带前缀的名称)
    • resources/list:从 /api/resources 获取
    • resource-templates/list:从 /api/resource-templates 获取
    • prompts/list:从 /api/prompts/api/custom-instructions 获取,合并结果
  3. 功能解析:代理将功能解析为目标服务器
    • tools/call:从工具名称解析前缀,在内部映射中查找服务器
    • resources/read:调用 /api/resolve/resource?uri=... 以获取服务器详细信息
    • prompts/get:检查自定义指令前缀或调用 /api/resolve/prompt?name=...
  4. 请求路由:请求被路由到适当的底层 MCP 服务器
  5. 响应处理:来自底层服务器的响应返回给客户端

🧩 与 plugged.in App 集成

plugged.in MCP 代理服务器旨在与 plugged.in App 无缝协作,后者提供:

  • 用于管理 MCP 服务器配置的基于 Web 的界面
  • 集中式功能发现(工具、资源、模板、提示)
  • 自定义指令管理
  • 对不同配置集的多工作区支持
  • 用于测试 MCP 工具的交互式游乐场
  • 用户身份验证和 API 密钥管理

📚 相关资源

🤝 贡献

欢迎贡献!请随时提交 Pull Request。

📄 许可证

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

🙏 鸣谢

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript