返回 MCP 目录
public公开dns本地运行

mcp-package-docs

一个提供多语言包文档查询和语言服务器协议支持的MCP服务器

article

README

🚀 包文档工具使用指南

包文档工具是一款功能强大的工具,它能助力开发者迅速获取各类编程语言库与框架的文档信息,为开发工作提供便利。

🚀 快速开始

包文档工具支持多语言文档,具备智能搜索功能,还集成了语言服务器协议(LSP),可实现代码高亮、自动补全和错误检测。

✨ 主要特性

  • 多语言文档支持:涵盖Go、Python、Rust等主流编程语言的包/库文档。
  • 智能搜索:可在指定语言的包文档中开展全文检索。
  • 语言服务器协议(LSP)集成:提供代码高亮、自动补全和错误检测功能。

📦 安装指南

必备依赖

  • Node.js:版本要求 >= 20
  • Go:用于生成Go语言的文档
  • Python 3:用于生成Python语言的文档
  • 互联网连接:获取NPM包文档和Rust crate文档需要网络

可选依赖(用于LSP功能)

npm install -g typescript-language-server typescript vscode-langservers-extracted

💻 使用示例

安装工具

npm install package-docs

常用命令

  • 初始化项目:package-docs init
  • 生成文档:package-docs build
  • 开发模式:package-docs dev

基础用法

获取包文档

  • Go语言包
const goDocResult = await useMCPTool({
    serverName: "包文档",
    toolName: "描述Go包",
    arguments: {
        包名: "encoding/json", 
        符号名: "Marshal"
    }
});
  • Python语言包
const pythonDocResult = await useMCPTool({
    serverName: "包文档",
    toolName: "描述Python包",
    arguments: {
        包名: "requests", 
        函数名: "post"
    }
});
  • Rust语言库
const rustDocResult = await useMCPTool({
    serverName: "包文档",
    toolName: "描述Rust包",
    arguments: {
        包名: "serde"
    }
});

文档内容检索

const searchResult = await useMCPTool({
    serverName: "包文档",
    toolName: "搜索包文档",
    arguments: {
        包名: "serde", 
        查询词: "序列化",
        语言: "rust",
        模糊匹配: true
    }
});

LSP功能示例

  • 悬停提示
const hoverResult = await useMCPTool({
    serverName: "包文档",
    toolName: "获取悬停信息",
    arguments: {
        语言标识符: "typescript",
        文件路径: "src/index.ts",
        文件内容: "const axios = require('axios');\naxios.get",
        行号: 1,
        列数: 7
    }
});
  • 代码补全
const completionsResult = await useMCPTool({
    serverName: "包文档",
    toolName: "获取代码补全",
    arguments: {
        语言标识符: "typescript",
        文件路径: "src/index.ts", 
        文件内容: "const arr = []; arr.",
        行号: 0,
        列数: 8
    }
});
  • 错误检测
const errorsResult = await useMCPTool({
    serverName: "包文档",
    toolName: "获取错误信息",
    arguments: {
        语言标识符: "typescript",
        文件路径: "src/index.ts", 
        文件内容: "function foo() { console.log('bar'); }"
    }
});

📚 详细文档

开发指南

项目结构

package-docs/
├── src/                 # 源代码目录
│   ├── core/           # 核心逻辑模块
│   ├── lsp/            # LSP协议实现模块
│   └── utils/         # 工具函数模块
└── docs/               # 文档资料

开发流程

  1. 克隆仓库:git clone https://github.com/yourusername/package-docs.git
  2. 安装依赖:npm install
  3. 启动开发环境:npm run dev

操作说明

  • 初始化项目:运行package-docs init创建基本配置文件
  • 构建文档:使用package-docs build生成目标语言的文档信息
  • 启动服务:通过package-docs start开始提供文档服务
  • 日志查看:相关操作日志位于./logs/目录下

⚠️ 注意事项

⚠️ 重要提示

使用前请确保已安装所有依赖项。

💡 使用建议

代码示例仅供参考,实际使用时需根据项目需求调整;如有自定义扩展,请参考扩展文档进行开发。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端