Pluggedin App

Pluggedin App

VeriTeknik

开发者工具
访问服务器

README

plugged.in 应用

<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 Next.js MCP </div>

📋 概述

plugged.in 应用是一个用于管理机器对话协议 (MCP) 服务器的综合性 Web 应用程序。它与 plugged.in MCP 代理 协同工作,提供一个统一的界面,用于发现、配置和利用跨多个 MCP 服务器的 AI 工具。

该应用程序能够与任何 MCP 客户端(Claude、Cline、Cursor 等)无缝集成,同时通过直观的 Web 界面提供高级管理功能。

✨ 主要特性

  • 多工作区支持:在不同的 MCP 配置集之间切换,以防止上下文污染
  • 交互式 Playground:直接在浏览器中测试和实验您的 MCP 工具
  • 工具管理:发现、组织和管理来自多个来源的 AI 工具
  • 资源和模板发现:查看已连接 MCP 服务器的可用资源和资源模板
  • 自定义指令:添加可用作 MCP 提示的服务器特定指令
  • 服务器备注:为每个配置的 MCP 服务器添加自定义备注
  • 广泛的日志记录:Playground 中 MCP 交互的详细日志记录功能
  • 提示管理:发现和管理来自已连接 MCP 服务器的提示
  • 扩展发现:在 GitHub、Smithery 和 npmjs.com 上搜索 MCP 服务器
  • 自托管:运行您自己的实例,完全控制您的数据

🚀 使用 Docker 快速开始

使用 Docker Compose 是开始使用 plugged.in 应用的最简单方法:

# 克隆存储库
git clone https://github.com/VeriTeknik/pluggedin-app.git
cd pluggedin-app

# 设置环境变量
cp .env.example .env
# 使用您的特定配置编辑 .env

# 使用 Docker Compose 启动应用程序
docker compose up --build -d

然后在浏览器中打开 http://localhost:12005 以访问 plugged.in 应用。

🔌 连接 MCP 客户端

前提条件

  • plugged.in 应用正在运行(无论是自托管还是在 https://plugged.in 上)
  • 来自 plugged.in 应用的 API 密钥(可在 API 密钥页面中找到)
  • 已安装 plugged.in MCP 代理

Claude Desktop 配置

{
  "mcpServers": {
    "pluggedin": {
      "command": "npx",
      "args": ["-y", "@pluggedin/mcp-proxy@latest"],
      "env": {
        "PLUGGEDIN_API_KEY": "YOUR_API_KEY",
        "PLUGGEDIN_API_BASE_URL": "http://localhost:12005" // 对于自托管实例
      }
    }
  }
}

Cursor 配置

对于 Cursor,您可以使用命令行参数:

npx -y @pluggedin/mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY --pluggedin-api-base-url http://localhost:12005

🏗️ 系统架构

plugged.in 生态系统由两个主要组件组成:

sequenceDiagram
    participant MCPClient as MCP 客户端 (例如,Claude Desktop)
    participant PluggedinMCP as plugged.in MCP 代理
    participant PluggedinApp as plugged.in 应用
    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

💻 生产部署

系统要求

  • Node.js v18+(推荐 v20+)
  • PostgreSQL 15+
  • PNPM 包管理器
  • Nginx Web 服务器(用于生产部署)
  • Systemd(用于服务管理)

生产设置

  1. 克隆存储库:

    git clone https://github.com/VeriTeknik/pluggedin-app.git /home/pluggedin/pluggedin-app
    cd /home/pluggedin/pluggedin-app
    
  2. 安装依赖项:

    pnpm install
    
  3. 设置环境变量:

    cp .env.example .env
    # 使用您的特定配置编辑 .env
    
  4. 运行数据库迁移:

    pnpm db:migrate:auth
    pnpm db:generate
    pnpm db:migrate
    
  5. 构建用于生产的应用程序:

    NODE_ENV=production pnpm build
    
  6. /etc/systemd/system/pluggedin.service 创建一个 systemd 服务文件:

    [Unit]
    Description=plugged.in 应用程序服务
    After=network.target postgresql.service
    Wants=postgresql.service
    
    [Service]
    User=pluggedin
    Group=pluggedin
    WorkingDirectory=/home/pluggedin/pluggedin-app
    ExecStart=/usr/bin/pnpm start
    Restart=always
    RestartSec=10
    StandardOutput=append:/var/log/pluggedin/pluggedin_app.log
    StandardError=append:/var/log/pluggedin/pluggedin_app.log
    Environment=PATH=/usr/bin:/usr/local/bin
    Environment=NODE_ENV=production
    Environment=PORT=12005
    
    [Install]
    WantedBy=multi-user.target
    
  7. 将 Nginx 设置为反向代理:

    # HTTPS 服务器
    server {
        listen 443 ssl;
        server_name your-domain.com;
    
        # SSL 配置
        ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
    
        # Next.js 静态文件
        location /_next/static/ {
            alias /home/pluggedin/pluggedin-app/.next/static/;
            expires 365d;
            add_header Cache-Control "public, max-age=31536000, immutable";
        }
    
        # Node.js 应用程序的代理设置
        location / {
            proxy_pass http://localhost:12005;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
    
    # HTTP 重定向到 HTTPS
    server {
        listen 80;
        server_name your-domain.com;
        return 301 https://$host$request_uri;
    }
    
  8. 启用并启动服务:

    sudo systemctl daemon-reload
    sudo systemctl enable pluggedin.service
    sudo systemctl start pluggedin.service
    

安全注意事项

MCP 服务器沙箱 (Linux/Ubuntu)

当在 Linux 系统上运行时,plugged.in 应用会自动使用 firejail --quiet 包装 STDIO MCP 服务器的执行。这利用 Firejail 的默认安全配置文件来限制服务器的功能,特别是限制文件系统访问。

要启用此安全功能,请安装 Firejail:

sudo apt update && sudo apt install firejail

🔄 云 vs. 自托管

功能 自托管 云 (plugged.in)
成本 免费 提供免费层
数据隐私 完全控制 服务器端加密
身份验证 可选 内置
会话上下文 基本 增强
托管 您的基础设施 托管服务
更新 手动 自动
延迟 取决于您的设置 优化的全球 CDN

🧩 与 plugged.in MCP 代理集成

plugged.in 应用旨在与 plugged.in MCP 代理 无缝协作,后者提供:

  • 所有 MCP 客户端的统一界面
  • 工具发现和报告
  • 将请求路由到适当的 MCP 服务器
  • 支持最新的 MCP 规范

📚 相关资源

🤝 贡献

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

📄 许可证

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

🔮 路线图

plugged.in 项目正在积极开发几个令人兴奋的功能:

  • 测试基础设施:核心功能的全面测试覆盖
  • Playground 优化:改进日志处理的性能
  • 嵌入式聊天(第二阶段):通过可嵌入的 AI 聊天界面产生收入
  • AI 助手平台(第三阶段):创建一个专业的 AI 助手社交网络
  • 以隐私为中心的基础设施(第四阶段):专用 RAG 服务器和分布式 GPU 服务
  • 检索增强生成 (RAG):与 Milvus 等向量数据库集成
  • 协作与共享:多用户会话和可嵌入的聊天小部件

推荐服务器

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