UV文档MCP服务器
提供编程访问的MCP服务器 紫外线的 通过标准化API编制文档。此服务器现在利用了一种现代的分层资源结构,该结构将高级文档部分和详细的命令文档(包括子部分)作为单独的MCP资源公开。工具已经简化,许多文档查询都是通过资源层处理的。
链接
快速开始
- 要求:\
确保安装了Python 3.13+(MCP SDK兼容性最低为3.10)。
- 克隆存储库:
git clone https://github.com/StevenBtw/uv-docs-mcp.git
cd uv-docs-mcp- 设置虚拟环境并安装依赖关系:
python3.13 -m venv env
source env/bin/activate # On Windows use: env\\Scripts\\activate
pip install -e .- 运行服务器:
uv run uv-docs*(如果使用Claude Desktop或其他MCP客户端,请相应地调整配置。)*
建筑
服务器采用模块化和分层设计构建,明确区分了关注点:
flowchart TD
Client[MCP Client] --> Server[Server Layer]
Server --> Resources[Resource Layer]
Server --> Tools[Tools Layer]
Server --> Prompts[Prompts Layer]
Resources --> Cache[Cache System]
Tools --> Cache- 资源层:\
使用该方案通过URI公开UV文档 uv-docs://资源是分层结构的:
- 第一级: 基础部分(例如。, uv-docs://cli, uv-docs://settings, uv-docs://resolver) - 第二级: 单个命令(例如。, uv-docs://cli/uv-run, uv-docs://cli/uv-cache) - 第三级: 命令子部分(例如。, uv-docs://cli/uv-cache/uv-cache-dir)
- 工具层:\
提供操作命令以与缓存交互并执行实时搜索。
- update_cache: 如果实时版本不同,则更新文档缓存。 - 搜索文档: 使用实时查询执行搜索UV文档。
- 提示层:\
为人工智能助手提供提示模板,以生成文档摘要(例如 summarize-docs 提示)。
组件
资源
使用以下方式访问资源 uv-docs:// URI方案,并提供完整的文档层次结构。例如:
- 基础部分:\
uv-docs://cli 返回所有CLI命令的列表。
- 命令级别:\
uv-docs://cli/uv-cache 返回有关的元数据 uv cache 命令,包括可用的文档部分。
- 分段级别:\
uv-docs://cli/uv-cache/uv-cache-dir 返回“uvcachedir”部分的详细文档内容。
每个资源都返回JSON数据,其中包含详细的元数据,并在请求时返回完整的文档内容。这种细粒度的细分允许MCP客户端和AI助手只查询他们需要的信息。
工具
现有的工具已经简化:
- update_cache
- 目的: 如果实时版本已更改,请更新文档缓存。 - 输入:
{
"force": false
}- 搜索文档
- 目的: 对UV文档进行实时搜索。 - 输入:
{
"query": "search query"
}鼓励
服务器为常见的文档任务提供预构建的提示模板:
- 汇总文档:\
创建UV文档部分的摘要。\ 可选参数:
{
"section": "cli|settings|resolver"
}如果未指定任何部分,则生成所有部分的摘要。
安装和配置
MCP服务器配置
对于 克劳德桌面 用户可以适当地修改MCP服务器设置:
开发/未发布配置
{
"mcpServers": {
"uv-docs": {
"command": "uv",
"args": [
"--directory",
"/Users/steven/Git/MCP/uv-docs",
"run",
"uv-docs"
]
}
}
}已发布配置
{
"mcpServers": {
"uv-docs": {
"command": "uvx",
"args": [
"uv-docs"
]
}
}
}调试与检查
要进行详细的调试,请使用 MCP检查员:
npx @modelcontextprotocol/inspector uv --directory /Users/steven/Git/MCP/uv-docs run uv-docs缓存
服务器实现了一个版本感知缓存系统,以优化文档检索:
- 初始化: 缓存在启动时自动初始化。
- 版本检查: 将实时文档版本与缓存版本进行核对。
- 分段缓存: 每个文档部分(例如CLI、设置、解析器)都是单独缓存的。
- 手动更新: 使用
update_cache必要时使用工具。
发展
项目结构
uv-docs/
├── src/
│ └── uv_docs/
│ ├── __init__.py
│ ├── server.py # Server setup and routing
│ ├── resources.py # Resource handling and MCP resource interface
│ ├── cache.py # Version-aware cache system
│ ├── prompts.py # Prompt templates for documentation tasks
│ └── tools.py # Consolidated tool implementations (update_cache, search_documentation)
├── pyproject.toml # Project configuration
└── README.md # Project overview (this file)建筑与出版
- 同步依赖关系和锁定文件:
uv sync- 构建包分发:
uv build- 发布到PyPI:
uv publish注: 通过以下方式设置PyPI凭据:
- 令牌:
--token或环境变量UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
为了获得最佳的调试体验,请使用 MCP检查员:
npx @modelcontextprotocol/inspector uv --directory /Users/steven/Git/MCP/uv-docs run uv-docs检查器将显示一个用于基于浏览器的调试的URL。
缓存
服务器实现了一个版本感知缓存系统:
- 服务器启动时缓存初始化
- 根据实时文档进行版本检查
- 版本更改时自动更新
- 通过update_cache工具手动更新
- 每个文档部分都单独缓存
