MCP Hub中的插件——代理·知识·内存·工具
The Crossroads for AI Data Exchanges
A unified MCP hub that gives your AI Knowledge, Memory, and Tools — not just a proxy. Manage and test all MCP servers from a single connection while powering document-aware and memory-augmented workflows across clients.
](https://smithery.ai/server/@VeriTeknik/pluggedin-mcp) ](https://github.com/VeriTeknik/pluggedin-mcp/releases) ](https://github.com/VeriTeknik/pluggedin-mcp/stargazers)    ](https://lobehub.com/mcp/veriteknik-pluggedin-mcp)
📋 概述
plugged.in MCP代理服务器是一个功能强大的中间件,它将多个模型上下文协议(MCP)服务器聚合到一个统一的接口中。它从中获取工具、提示和资源配置 plugged.in应用程序 并智能地将请求路由到适当的底层MCP服务器。
此代理能够与任何MCP客户端(Claude、Cline、Cursor等)无缝集成,同时通过plugged.in生态系统提供高级管理功能。
核心支柱:知识·记忆·工具·代理
知识(RAG v2/AI文档交换)\ 通过统一的、具有属性感知的文档检索进行搜索和地面模型输出。MCP服务器可以通过版本控制、可见性控制和模型归因在库中创建和管理文档。使用内置的RAG搜索所有连接的源,并返回相关的代码段和元数据。
内存(持久AI内存)\ 在会话中幸存的长寿命、工作区/配置文件范围的内存。该中心与plugged.in应用程序的持久内存集成,因此可以跨任务存储和调用代理操作和见解。内置内存工具已在路线图上,以暴露低摩擦 get/put/search 同一身份验证模型下的模式。
工具\ 与下游MCP服务器(STDIO、SSE、流式HTTP)聚合内置功能。工具发现被缓存,可以按需刷新;中心级发现为任何MCP客户端返回一个统一的目录。该中心支持工具、资源、资源模板和提示。
代理\ 每个客户端都有一个连接。以STDIO(默认)或Streamable HTTP运行,具有可选的API身份验证和无状态模式。适用于Claude Desktop、Cline、Cursor、MCP Inspector等;在集中策略和遥测的同时,保留现有的客户端配置。
⭐ 如果你觉得这个项目有用,请考虑在GitHub上给它一颗星! 它帮助我们接触到更多的开发人员,并激励我们不断改进。
✨ 主要特点
🚀 核心能力
- 内置AI游乐场:无需任何客户端设置,即可使用Claude、Gemini、OpenAI和xAI立即测试您的MCP
- 通用MCP兼容性:适用于任何MCP客户端,包括Claude Desktop、Cline和Cursor
- 多服务器支持:连接到STDIO、SSE和流式HTTP MCP服务器
- 双重运输模式:以STDIO(默认)或Streamable HTTP服务器运行代理
- 统一文档搜索:搜索所有具有内置RAG功能的连接服务器
- AI文档交换(RAG v2):MCP服务器可以在您的库中创建和管理具有完整归属的文档
- 来自任何模型的通知:通过可选的电子邮件传递接收实时通知
- 多工作空间层:只需单击一下即可在不同的MCP配置集之间切换
- API驱动的代理:从plugged.in应用程序API获取功能,而不是直接发现
- 完全MCP支持:处理工具、资源、资源模板和提示
- 客户指令:支持格式化为MCP提示的服务器特定指令
🎯 v1.5.0中的新功能(RAG v2-AI文档交换)
- AI文档创建:MCP服务器现在可以直接在您的库中创建文档
- 完整的模型归因跟踪(AI创建/更新了文档) - 带有更改跟踪的版本历史记录 - 通过SHA-256哈希进行重复数据删除 - 支持多种格式:MD、TXT、JSON、HTML、PDF等
- 高级文档搜索:通过AI过滤增强RAG查询
- 按AI模型、提供者、日期范围、标签和源类型筛选 - 具有相关性评分的语义搜索 - 自动生成带有关键字突出显示的代码段 - 支持过滤: ai_generated, upload,或 api 来源
- 通过MCP进行文档管理:
- 设置文档可见性:私有、工作区或公共 - 文档版本的父子关系 - 基于档案的组织与基于项目的范围界定 - 文档处理的实时进度跟踪
🎯 v1.4.0的功能(注册表v2支持)
- OAuth令牌管理:可流式HTTP MCP服务器的无缝OAuth身份验证处理
- 从plugged.in应用程序中自动检索令牌 - 安全的令牌存储和刷新机制 - 无需客户端身份验证
- 增强型通知系统:双向通知支持
- 向plugged.in应用程序发送通知 - 接收来自MCP服务器的通知 - 将通知标记为已读/未读 - 以编程方式删除通知
- 趋势分析:实时活动跟踪
- 每次工具调用都会被记录和跟踪 - 有助于服务器计算趋势 - 使用指标和流行度洞察
- 注册表集成:完全支持Registry v2功能
- 从注册表自动发现服务器 - 安装跟踪和指标 - 社区服务器支持
📦 v1.1.0版本的功能
- 流式HTTP支持:完全支持使用Streamable HTTP传输的下游MCP服务器
- HTTP服务器模式:将代理作为具有可配置端口的HTTP服务器运行
- 灵活的身份验证:HTTP端点的可选承载令牌身份验证
- 会话管理:在有状态(基于会话)或无状态操作模式之间进行选择
🎯 v1.0.0的核心功能
- 实时通知:通过全面的通知支持跟踪所有MCP活动
- RAG集成:通过plugged.in应用程序支持文档增强查询
- 检查器脚本:用于调试和开发的自动化测试工具
- 健康监测:内置ping端点用于连接监控
🔧 工具类别
代理提供了两类不同的工具:
🔧 静态内置工具(始终可用)
这些工具内置于代理中,无需任何服务器配置即可工作:
pluggedin_discover_tools-智能发现,缓存即时结果pluggedin_ask_knowledge_base-使用AI过滤功能在您的文档中进行RAG搜索pluggedin_send_notification-通过可选的电子邮件传递发送通知pluggedin_create_document-在您的库中创建AI生成的文档pluggedin_list_documents-列出具有筛选选项的文档pluggedin_search_documents-按查询搜索特定文档pluggedin_get_document-按ID检索特定文档的完整内容pluggedin_update_document-更新或附加到现有文档
📋 剪贴板工具(内存系统)
pluggedin_clipboard_set-按名称(语义键)或索引设置剪贴板条目pluggedin_clipboard_get-按名称、索引或列表获取剪贴板条目pluggedin_clipboard_delete-按名称、索引删除剪贴板条目,或全部清除pluggedin_clipboard_list-列出所有包含元数据的剪贴板条目pluggedin_clipboard_push-使用自动递增索引推送值(堆栈推送)pluggedin_clipboard_pop-弹出索引最高的条目(LIFO行为)
⚡ 动态MCP工具(来自连接的服务器)
这些工具来自您配置的MCP服务器,可以打开/关闭:
- 数据库工具(PostgreSQL、SQLite等)
- 文件系统工具
- API集成工具
- 来自任何MCP服务器的自定义工具
该发现工具智能地显示这两个类别,使AI模型能够立即访问所有可用功能。
🚀 发现工具使用
# Quick discovery - returns cached data instantly
pluggedin_discover_tools()
# Force refresh - shows current tools + runs background discovery
pluggedin_discover_tools({"force_refresh": true})
# Discover specific server
pluggedin_discover_tools({"server_uuid": "uuid-here"})示例响应:
## 🔧 Static Built-in Tools (Always Available):
1. **pluggedin_discover_tools** - Smart discovery with caching
2. **pluggedin_rag_query** - RAG v2 search across documents with AI filtering
3. **pluggedin_send_notification** - Send notifications
4. **pluggedin_create_document** - (Coming Soon) Create AI-generated documents
## ⚡ Dynamic MCP Tools (8) - From Connected Servers:
1. **query** - Run read-only SQL queries
2. **generate_random_integer** - Generate secure random integers
...📋 剪贴板使用示例
剪贴板系统为AI工作流提供持久内存:
# Store a named entry (upserts if exists)
pluggedin_clipboard_set({
"name": "customer_context",
"value": "{\"name\": \"John Doe\", \"account_id\": \"12345\"}",
"contentType": "application/json"
})
# Store an indexed entry for ordered pipelines
pluggedin_clipboard_set({
"idx": 0,
"value": "First pipeline step result",
"createdByTool": "data_processor"
})
# Push to stack (auto-incrementing index)
pluggedin_clipboard_push({
"value": "Analysis result from step 1",
"contentType": "text/plain"
})
# Get a specific entry by name
pluggedin_clipboard_get({"name": "customer_context"})
# Pop from stack (LIFO - returns and removes highest index)
pluggedin_clipboard_pop()
# List all entries with metadata
pluggedin_clipboard_list({"limit": 20})
# Delete specific entry
pluggedin_clipboard_delete({"name": "customer_context"})
# Clear all clipboard entries
pluggedin_clipboard_delete({"clearAll": true})📚 RAG v2使用示例
增强的RAG v2系统允许MCP服务器创建和搜索具有完整AI归因的文档:
# Search for documents created by specific AI models
pluggedin_rag_query({
"query": "system architecture",
"filters": {
"modelName": "Claude 3 Opus",
"source": "ai_generated",
"tags": ["technical"]
}
})
# Search across all document sources
pluggedin_rag_query({
"query": "deployment guide",
"filters": {
"dateFrom": "2024-01-01",
"visibility": "workspace"
}
})
# Future: Create AI-generated documents (Coming Soon)
pluggedin_create_document({
"title": "Analysis Report",
"content": "# Market Analysis\n\nDetailed findings...",
"format": "md",
"tags": ["analysis", "market"],
"metadata": {
"model": {
"name": "Claude 3 Opus",
"provider": "Anthropic"
}
}
})🚀 快速开始
先决条件
- Node.js 18+(推荐v20+)
- plugged.in应用程序中的API密钥(在 插入in/api-keys)
安装
# Install and run with npx (latest v1.0.0)
npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY🔄 升级到v1.0.0
有关现有安装,请参阅我们的 迁移指南 有关详细的升级说明。
# Quick upgrade
npx -y @pluggedin/pluggedin-mcp-proxy@1.0.0 --pluggedin-api-key YOUR_API_KEYMCP客户端的配置
克劳德桌面版
将以下内容添加到您的Claude Desktop配置中:
{
"mcpServers": {
"pluggedin": {
"command": "npx",
"args": ["-y", "@pluggedin/pluggedin-mcp-proxy@latest"],
"env": {
"PLUGGEDIN_API_KEY": "YOUR_API_KEY"
}
}
}
}克莱恩
将以下内容添加到Cline配置中:
{
"mcpServers": {
"pluggedin": {
"command": "npx",
"args": ["-y", "@pluggedin/pluggedin-mcp-proxy@latest"],
"env": {
"PLUGGEDIN_API_KEY": "YOUR_API_KEY"
}
}
}
}光标
对于Cursor,您可以使用命令行参数而不是环境变量:
npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY⚙️ 配置选项
环境变量
| 变量 | 描述 | 必填 | 默认 |
|---|---|---|---|
PLUGGEDIN_API_KEY | 来自plugged.in应用程序的API密钥 | 是 | - |
PLUGGEDIN_API_BASE_URL | 应用程序中插件的基本URL | 否 | https://plugged.in |
命令行参数
命令行参数优先于环境变量:
npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY --pluggedin-api-base-url https://your-custom-url.com运输选项
| 选项 | 描述 | 默认值 |
|---|---|---|
--transport | 运输类型: stdio 或 streamable-http | stdio |
--port | 流式HTTP服务器的端口 | 12006 |
--stateless | 为Streamable HTTP启用无状态模式 | false |
--require-api-auth | 流式HTTP请求需要API密钥 | false |
有关选项的完整列表:
npx -y @pluggedin/pluggedin-mcp-proxy@latest --help🌐 流式HTTP模式
代理可以作为HTTP服务器而不是STDIO运行,从而实现基于web的访问和远程连接。
基本用法
# Run as HTTP server on default port (12006)
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --pluggedin-api-key YOUR_API_KEY
# Custom port
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --port 8080 --pluggedin-api-key YOUR_API_KEY
# With authentication required
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --require-api-auth --pluggedin-api-key YOUR_API_KEY
# Stateless mode (new session per request)
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --stateless --pluggedin-api-key YOUR_API_KEYHTTP端点
POST /mcp-发送MCP消息GET /mcp-服务器发送的事件流(可选)DELETE /mcp-终止会话GET /health-健康检查端点
会话管理
在有状态模式(默认)下,使用 mcp-session-id 用于维护会话的标头:
# First request creates a session
curl -X POST http://localhost:12006/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
# Subsequent requests use the same session
curl -X POST http://localhost:12006/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: YOUR_SESSION_ID" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"tool_name"},"id":2}'认证
使用时 --require-api-auth,包括您的API密钥作为Bearer令牌:
curl -X POST http://localhost:12006/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","method":"ping","id":1}'🐳 Docker使用
您还可以使用Docker构建和运行代理服务器。
塑造形象
确保你已经安装并运行了Docker。导航到 pluggedin-mcp 目录并运行:
docker build -t pluggedin-mcp-proxy:latest .A. .dockerignore 包含该文件是为了优化构建上下文。
运行容器
STDIO模式(默认)
在STDIO模式下运行容器进行MCP检查器测试:
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流式HTTP模式
将容器作为HTTP服务器运行:
docker run -d --rm \
-e PLUGGEDIN_API_KEY="YOUR_API_KEY" \
-e PLUGGEDIN_API_BASE_URL="YOUR_API_BASE_URL" \
-p 12006:12006 \
--name pluggedin-mcp-http \
pluggedin-mcp-proxy:latest \
--transport streamable-http --port 12006替换 YOUR_API_KEY 和 YOUR_API_BASE_URL (如果不使用默认值 https://plugged.in).
MCP检验员测试
当容器运行时,您可以使用MCP检查器连接到它:
npx @modelcontextprotocol/inspector docker://pluggedin-mcp-container这将连接到正在运行的容器的标准输入/输出。
停止容器
按 Ctrl+C 在终端中 docker run 正在执行。这 --rm 该标志确保容器在停止时自动移除。
☁️ Smithery云部署
将插入的MCP代理部署到 史密瑟里云 用于托管、始终可用的MCP服务器访问。
快速开始
- 访问 史密斯艾 并登录
- 连接您的GitHub帐户并选择
pluggedin-mcp仓库 - 在Smithery UI中配置Plugge.in API密钥
- 部署并获取HTTPS端点
益处
- 24/7可用性:您的代理始终在运行
- 零配置:Smithery自动检测以下设置
smithery.yaml - 自动缩放:处理多个并发连接
- Web访问:非常适合web应用程序和远程客户端
文档
有关完整的部署说明、配置选项、故障排除和技术详细信息,请参阅:
自主代理(预览版)
该集线器旨在支持端到端的代理循环:
MCP Client → plugged.in MCP Hub → (Plan → Act → Reflect)
↘ Knowledge ↘ Memory ↘ Tools- 计划——推导目标和约束,形成任务图。
- 行动——从统一目录中调用工具;跨STDIO/SSE/HTTP服务器安全路由。
- 反思——将结果持久化到记忆和知识(文档、笔记、工件)中,以改进后续步骤。
安全与运营\ 启用 --require-api-auth 在流式HTTP模式下;对命令、参数和env使用allowlists。将服务器级验证与客户端提示相结合,以防止提示注入。利用现有的日志/遥测技术跟踪工具使用情况并记录突变。
🏗️ 系统架构
插入式MCP代理服务器充当MCP客户端和多个底层MCP服务器之间的桥梁:
sequenceDiagram
participant MCPClient as MCP Client (e.g. Claude Desktop)
participant PluggedinMCP as plugged.in MCP Proxy
participant PluggedinApp as plugged.in App
participant MCPServers as Underlying MCP Servers
MCPClient ->> PluggedinMCP: Request list tools/resources/prompts
PluggedinMCP ->> PluggedinApp: Get capabilities via API
PluggedinApp ->> PluggedinMCP: Return capabilities (prefixed)
MCPClient ->> PluggedinMCP: Call tool/read resource/get prompt
alt Standard capability
PluggedinMCP ->> PluggedinApp: Resolve capability to server
PluggedinApp ->> PluggedinMCP: Return server details
PluggedinMCP ->> MCPServers: Forward request to target server
MCPServers ->> PluggedinMCP: Return response
else Custom instruction
PluggedinMCP ->> PluggedinApp: Get custom instruction
PluggedinApp ->> PluggedinMCP: Return formatted messages
end
PluggedinMCP ->> MCPClient: Return response
alt Discovery tool (Smart Caching)
MCPClient ->> PluggedinMCP: Call pluggedin_discover_tools
alt Cached data available
PluggedinMCP ->> PluggedinApp: Check cached capabilities
PluggedinApp ->> PluggedinMCP: Return cached tools/resources/prompts
PluggedinMCP ->> MCPClient: Return instant results (static + dynamic)
else Force refresh or no cache
PluggedinMCP ->> PluggedinApp: Trigger background discovery
PluggedinMCP ->> MCPClient: Return current tools + "discovery running"
PluggedinApp ->> MCPServers: Connect and discover capabilities (background)
MCPServers ->> PluggedinApp: Return fresh capabilities
end
end🔄 工作流程
- 配置:代理从插件中获取服务器配置。在应用程序中
- 智能发现 (
pluggedin_discover_tools):
- 缓存检查:首先检查现有缓存数据(\<1秒) - 即时响应:立即返回静态工具+缓存的动态工具 - 背景刷新:为 force_refresh=true,在后台运行查找,同时显示当前工具 - 新鲜发现:仅在不存在缓存数据的情况下运行完全发现
- 能力列表:代理从插件中获取已发现的功能。在应用程序API中
- tools/list:胎儿来自 /api/tools (包括静态+动态工具) - resources/list:胎儿来自 /api/resources - resource-templates/list:胎儿来自 /api/resource-templates - prompts/list:胎儿来自 /api/prompts 和 /api/custom-instructions,合并结果
- 能力分辨率:代理将功能解析到目标服务器
- tools/call:从工具名称解析前缀,在内部映射中查找服务器 - resources/read:通话 /api/resolve/resource?uri=... 获取服务器详细信息 - prompts/get:检查自定义指令前缀或调用 /api/resolve/prompt?name=...
- 请求路由:请求被路由到相应的底层MCP服务器
- 响应处理:来自底层服务器的响应将返回给客户端
🔒 安全特性
MCP Proxy中的插件实施了全面的安全措施来保护您的系统和数据:
输入验证和消毒
- 命令注入预防:所有命令和参数在执行前都会针对满配列表进行验证
- 环境变量安全:安全解析
.env正确处理引号和多行值的文件 - 令牌验证:API密钥和身份验证令牌的强regex模式(32-64个十六进制字符)
网络安全
- SSRF保护:URL验证阻止访问:
- 本地主机和环回地址(127.0.0.1,::1) - 私有IP范围(10.x、172.16-31.x、192.168.x) - 链接本地地址(169.254.x) - 多播和保留范围 - 常见的内部服务端口(SSH、数据库等)
- 标头验证:通过以下方式防止集管注入:
- 危险的收割台堵塞 - 符合RFC 7230的标头名称验证 - 控制字符检测 - 标头大小限制(最大8KB)
- 速率限制:
- 工具调用:每分钟60个请求 - API调用:每分钟100个请求
- 错误清理:通过清除错误消息来防止信息泄露
过程安全
- 安全命令执行:用途
execFile()而不是exec()防止外壳注射 - 命令允许列表:仅允许执行:
- node, npx -Node.js命令 - python, python3 -Python命令 - uv, uvx, uvenv -UV Python工具
- 论点消毒:从所有参数中删除shell元字符和控制字符
- 环境变量验证:只允许带下划线的字母数字键
流式HTTP安全
- 延迟身份验证:工具发现不需要身份验证,提高了兼容性
- 会话安全:加密安全会话ID生成
- CORS保护:用于web访问的可配置CORS标头
- 请求大小限制:通过大负载防止DoS
安全实用程序
一个专用 security-utils.ts 模块提供:
- 承载令牌验证
- 具有SSRF保护的URL验证
- 命令参数清理
- 环境变量验证
- 限速实施
- 错误消息清理
有关详细的安全实施,请参阅 安全.md.
🧩 与plugged.in应用程序集成
插入式MCP代理服务器旨在与 plugged.in应用程序,它提供:
- 用于管理MCP服务器配置的基于web的界面
- 集中能力发现(工具、资源、模板、提示)
- RAG v2文档库:上传文档并启用具有完整归属的AI生成内容
- 自定义指令管理
- 支持不同配置集的多工作区
- 一个用于使用任何AI模型测试MCP工具的交互式游乐场
- 用户身份验证和API密钥管理
- AI文档交换:使用模型归因跟踪创建、搜索和管理文档
📚 相关资源
🤝 贡献
欢迎投稿!请随时提交拉取请求。
📝 最近的更新
版本1.9.0(2025年9月)-安全增强
🔒 增强的HTML净化
- 行业标准消毒:将基于正则表达式的自定义HTML净化替换为
sanitize-html图书馆 - XSS预防:全面防御跨站点脚本攻击
- HTML属性安全:增强了对HTML属性上下文(引号、与号)的净化
- 格式化字符串注入:修复了日志记录中的格式字符串注入漏洞
- 安全性测试:对所有消毒功能进行全面测试
🛡️ 安全改进
- CodeQL合规性:解决了GitHub CodeQL分析发现的所有安全漏洞
- 输入验证:加强所有职能部门的输入验证和净化
- 依赖关系更新:已添加
sanitize-html用于强大的HTML内容过滤 - 测试覆盖率:增强的安全测试套件,具有XSS攻击防御验证功能
版本1.5.0(2025年1月)-RAG v2
🤖 AI文档交换
- 人工智能生成的文档:MCP服务器现在可以在您的库中创建具有完全AI归因的文档
- 模型归因跟踪:创建或更新每个文档的AI模型的完整历史记录
- 高级文档搜索:按AI模型、提供者、日期、标签和源类型筛选
- 文档版本控制:跟踪AI生成内容的更改并维护版本历史记录
- 多源支持:来自上传、人工智能生成或API集成的文档
🔍 增强RAG能力
- 语义搜索:改进了PostgreSQL全文搜索的相关性评分
- 智能过滤:按可见性、模型归因和文档来源筛选结果
- 代码段生成:自动提取带有关键字突出显示的代码段
- 性能优化:通过优化索引实现更快的查询
版本1.2.0(2025年1月)
🔒 增强的安全性
- URL验证:全面的SSRF保护,阻止私有IP、本地主机和危险端口
- 命令允许列表:只能执行批准的命令(node、npx、python等)
- 顶盖消毒:防止头部注入攻击
- 延迟身份验证:改进了Smithery与无身份验证工具发现的兼容性
🚀 性能改进
- 优化的Docker构建:多阶段构建,实现最小的容器占地面积
- 仅生产依赖性:Docker镜像中排除了测试文件和开发依赖项
- 资源效率:专为在资源受限的环境中部署而设计
🔧 技术改进
- 流式HTTP传输中增强的错误处理
- 更好的会话清理和内存管理
- 改进了TypeScript类型和代码组织
版本1.1.0(2024年12月)
🚀 新功能
- 流式HTTP支持:使用现代Streamable HTTP传输连接到下游MCP服务器
- HTTP服务器模式:将代理作为HTTP服务器运行,以便进行基于web的访问
- 灵活的会话管理:在无状态或有状态模式之间进行选择
- 身份验证选项:HTTP端点的可选承载令牌身份验证
- 健康监测:
/health服务监控端点
🔧 技术改进
- 已将MCP SDK更新到v1.13.1,以获得最新的协议支持
- 为HTTP服务器功能添加了Express.js集成
- 增强的TypeScript类型,提供更好的开发人员体验
版本1.0.0(2025年6月)
🎯 主要功能
- 实时通知系统:通过全面的通知支持跟踪所有MCP活动
- RAG集成:通过plugged.in应用程序支持文档增强查询
- 检查器脚本:用于调试和开发的新自动化测试工具
- 健康监测:内置ping端点用于连接监控
🔒 增强的安全性
- 输入验证:对所有输入进行行业标准验证和消毒
- URL安全:通过SSRF保护增强URL验证
- 环境安全:使用dotenv安全解析环境变量
- 错误清理:防止错误响应中的信息泄露
🐛 错误修复
- 修复了JSON-RPC协议干扰(stdout与stderr分离)
- 解决了开发环境的本地主机URL验证问题
- 修复了检查器脚本中的API密钥处理
- 提高了连接稳定性和内存管理
🔧 开发者工具
- 用于自动化测试的新检查器脚本
- 改进了错误消息和调试功能
- 使用正确的stderr进行结构化日志记录
- 增强的TypeScript类型安全性
看 发布说明 了解完整细节。
🧪 测试和开发
地方发展
测试是出于开发目的而包括在内的,但不包括在Docker构建中,以尽量减少容器占用空间。
# Run tests locally
npm test
# or
./scripts/test-local.sh
# Run tests in watch mode
npm run test:watch
# Run tests with UI
npm run test:ui轻量级Docker构建
Docker镜像经过优化,以实现最小的占用空间:
- 多阶段构建过程
- 最终图像中只有生产依赖关系
- 测试文件和开发依赖项除外
- 针对资源受限的环境进行了优化
# Build optimized Docker image
docker build -t pluggedin-mcp .
# Check image size
docker images pluggedin-mcp📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
