mcp-plesk统一
    
在整个Plesk文档表面进行最新技术(SOTA)语义搜索,针对Apple Silicon上的亚秒延迟进行了优化。
______________________________________________________________________
为什么存在
Plesk文档分布在五个不同的来源:管理指南、REST API参考、CLI参考、PHP SDK和JS SDK。回答一个扩展开发问题通常意味着手动搜索所有问题,交叉引用结果,但仍然缺少相关部分。
该服务器接收所有五个源,用多语言模型嵌入它们,并公开一个 search_plesk_unified MCP工具。它使用混合搜索(矢量+FTS)、互易秩融合(RRF)和交叉编码器重新排序,在毫秒内提供高精度结果。
______________________________________________________________________
架构与性能
flowchart TD
Client["MCP Client\n(Claude Desktop / Cursor / etc.)"]
Client -->|"search_plesk_unified(query)"| Server
subgraph Server["FastMCP Server · Modular Architecture"]
direction TB
Main["Bootstrap · server/main.py"]
Life["Lifecycle Hooks · server/lifecycle.py"]
Tools["MCP Tools · server/mcp_app.py"]
Main --> Life --> Tools
end
subgraph Pipeline["Retrieval Pipeline"]
direction TB
E["1 · Embed query\n(Hardware-accelerated)"]
S["2 · Hybrid Search\nVector (LanceDB) + FTS (Tantivy)"]
R["3 · RRF Merge + Rerank\n(MiniLM-L4-v2)"]
N["4 · Neighbor Expansion\n(Context Enrichment)"]
A["5 · AI Synthesis\n(sampling-enabled)"]
E --> S --> R --> N --> A
end
subgraph Store["LanceDB Vector & FTS Store"]
direction LR
G["Guide"]
A_["API"]
C["CLI"]
P["PHP Stubs"]
J["JS SDK"]
end
Tools --> Pipeline
S Store绩效基准(2026-05-04)
使用MPS加速和内存驻留表缓存,针对Apple Silicon(M2/M3)进行了优化。
| 配置文件 | 嵌入模型 | HR@5 | MRR@5 | 平均延迟 | 估计值。RAM |
|---|---|---|---|---|---|
light | BAAI/bge-small | 100.0% | 0.950 | ~0.35秒 | 约200 MB |
medium BAAI/bge基地。 100.0% | 0.917 | ~0.60秒 | ~600 MB | ||
full-tq | BAAI/bge-m3 | 75.0% | 0.750 | ~0.40秒 | 约1300 MB |
*在启用LanceDB连接缓存的Apple M2 Pro上测量的指标。*
______________________________________________________________________
主要特点
- 亚秒级混合搜索: 矢量+Tantivy FTS与 RAM缓存表连接 用于即时检索。
- AST感知分块: 用途
tree-sitter尊重PHP、JS和TS文档中的类和方法边界。 - TurboQuant加速: 快速4位量化搜索
full-tq配置文件,为大型型号提供10倍的低延迟。 - 邻里检索: 自动获取相邻块(上一个/下一个),为接地提供完整的上下文。
- 宏观背景概述: 使用以下命令将文件级目的摘要注入到每个块中
SummaryCache. - 人工智能综合答案: 通过结构化内联引用从搜索结果中生成简洁的答案
[1],[2].
______________________________________________________________________
MCP组件
此服务器提供工具、提示和资源。看 docs/mcp-components.md 以获取完整参考。
主要工具
| 工具 | 说明 |
|---|---|
search_plesk_unified | 使用RRF和交叉编码器重新排序的混合搜索。 |
get_file_content | 检索特定文档文件的完整内容。 |
resolve_references | 查找引用特定符号或主题的所有文件。 |
refresh_knowledge | 重新获取源并更新索引(增量)。 |
trigger_index_sync | 启动后台索引作业。 |
daemon_health | 检查准备状态、硬件加速(MPS/CUDA)和延迟统计数据。 |
资源
plesk://toc/api-API文件目录。plesk://toc/cli-CLI参考目录。plesk://toc/guide-扩展指南目录。plesk://toc/php-stubs-PHP类的分层列表。
______________________________________________________________________
快速启动
安装
git clone https://github.com/barateza/mcp-plesk-unified.git
cd mcp-plesk-unified
uv pip install -e .初始索引
uv run python -m plesk_unified.server.main refresh_knowledge跑步
# Standard mode
uv run python -m plesk_unified.server.main
# Responsive daemon mode (auto-warmup)
PLESK_DAEMON_AUTO_WARMUP=true uv run python -m plesk_unified.server.main______________________________________________________________________
配置
在中设置环境变量 .env:
PLESK_MODEL_PROFILE=light # light | medium | full-tq
PLESK_ENABLE_SAMPLING=true # AI-Synthesized answers
PLESK_DAEMON_AUTO_WARMUP=true # Preload models on startup
PLESK_INDEX_SUMMARIES=true # Enable file-level summaries
OPENROUTER_API_KEY=sk-or-v1-...______________________________________________________________________
文档
- docs/benchmarks.md -详细的延迟和质量报告。
- docs/mcp-components.md -完整的工具和资源参考。
- docs/turboquant.md -4位量化内部。
______________________________________________________________________
许可证
MIT。看 许可证.
*旨在使Plesk扩展开发更快。*
