项目简介
这是一个实现了 Model Context Protocol (MCP) 的后端服务,旨在让支持 MCP 协议的大型语言模型 (LLM) 客户端(例如 GitHub Copilot Chat)能够方便地搜索和访问 Azure DevOps Wiki 知识库。
主要功能点
- 搜索 Azure Wiki ('search_wiki' 工具): 允许 LLM 客户端根据用户提供的查询关键词,在指定的 Azure DevOps 项目的 Wiki 中进行搜索,并返回相关的 Wiki 页面列表及其路径。
- 按路径获取 Wiki 内容 ('get_wiki_by_path' 工具): 根据通过搜索或其他方式获得的 Wiki 页面路径,获取该 Wiki 页面的完整 Markdown 内容和对应的 Web URL。
- 提供 Prompt 模板 ('start_edge_wiki_search' Prompt): 定义了一个用于指导 LLM 如何利用这些工具进行 Azure Wiki 搜索和内容提取,并最终组织答案的 Prompt 模板。
安装步骤
- 确保您的系统已安装 Python 3.10 或更高版本。
- 安装 'uv' 包管理器。具体安装命令请参考项目的 README 或 'uv' 官方文档。
- 克隆此 GitHub 仓库到您的本地机器:
git clone https://github.com/coder-linping/azure-wiki-search-server.git cd azure-wiki-search-server - 使用 'uv' 创建并激活一个 Python 虚拟环境,然后安装项目所需的依赖:
- 在 Windows 上:
uv venv .venv\Scripts\activate - 在 Mac 或 Linux 上:
uv venv source .venv/bin/activate
- 在 Windows 上:
- 准备一个具有读取 Azure DevOps Wiki 权限的 Personal Access Token (PAT)。这是服务器连接到 Azure DevOps API 所必需的。
服务器配置
该 MCP 服务器设计为由 MCP 客户端(如集成到 IDE 的 LLM 插件)按需启动和管理。您需要在您的 MCP 客户端配置中指定如何启动此服务器。配置通常是一个 JSON 结构,包含服务器的名称、启动命令、参数以及环境变量。
例如,一个典型的客户端配置会包含如下信息(请根据您的客户端实际配置格式调整):
- 一个服务器名称,例如 '"edge_wiki"'。
- 'command': 启动服务器的可执行程序路径,例如 '"uv"'。
- 'args': 传递给启动命令的参数列表。这通常包括 '--directory' 后跟您克隆仓库的绝对路径,以及 'run src/edge_wiki.py' 来执行服务器脚本。您需要将配置中的占位符 '<absolute path to your cloned folder>' 替换为实际路径。
- 'env': 启动服务器进程所需的环境变量。必须设置 'PAT' 变量为您准备好的 Personal Access Token。您还可以通过设置 'ORG' 变量指定 Azure DevOps 组织名称(默认为 'microsoft'),设置 'PROJECT' 变量指定项目名称(默认为 'Edge')。
配置完成后,您的 MCP 客户端将能够识别并启动此服务器,并通过标准输入/输出流 (stdio) 与其进行通信。
基本使用方法
一旦 MCP 服务器通过 MCP 客户端成功启动并连接,兼容的 LLM 将能够发现并使用该服务器提供的工具 ('search_wiki' 和 'get_wiki_by_path')。LLM 会根据用户的请求,调用这些工具来搜索和检索 Azure Wiki 中的信息。例如,当用户询问某个主题时,LLM 可能会先调用 'search_wiki' 查找相关页面,然后调用 'get_wiki_by_path' 获取页面内容和 URL,最后综合信息并引用来源 URL 来回答用户。用户无需直接与服务器交互,所有交互都通过 LLM 客户端进行。
信息
分类
AI与计算