项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 客户端提供访问 Paychex 文档的功能。它通过 工具 (Tools)资源 (Resources) 两种核心 MCP 机制,使得 LLM 能够查询 Paychex 文档的相关信息或获取完整的文档内容,从而增强 LLM 在处理 Paychex 相关问题时的上下文理解和应用能力。

主要功能点

  • Paychex 文档查询工具: 提供 'paychex_query_tool' 工具,允许用户通过自然语言查询 Paychex 文档。服务器会利用预构建的向量数据库检索相关文档片段,并将结果返回给 LLM 客户端,作为上下文信息辅助 LLM 生成更准确的回复。
  • Paychex 完整文档资源: 提供 'docs://paychex/full' 资源,允许客户端获取预先处理好的 Paychex 完整文档内容。这为 LLM 提供了更全面的背景知识,适用于需要深度理解 Paychex 文档的场景。

安装步骤

  1. 安装 Python: 确保你的系统已安装 Python 3.10 或更高版本。你可以从 Python 官网 下载并安装。
  2. 安装 uv (可选但推荐): 'uv' 是一个快速的 Python 包安装和虚拟环境管理工具,可以加速环境搭建过程。按照 uv 官方文档 的指引进行安装。
  3. 创建虚拟环境: 使用 'uv' 或 'venv' 创建 Python 虚拟环境,并激活它。例如,使用 'uv' 可以执行以下命令:
    uv venv --python 3.11 .venv
    source .venv/bin/activate  # 或根据你的操作系统使用相应的激活命令
  4. 安装依赖: 导航到仓库根目录,使用 'uv pip' 或 'pip' 安装 'requirements.txt' 文件中列出的 Python 依赖包:
    uv .venv/bin/pip install -r requirements.txt  # 如果使用 uv
    # 或
    pip install -r requirements.txt # 如果没有安装 uv
  5. 构建本地上下文 (可选): 如果需要使用文档查询工具,可以运行 'notebook/langchain_tool.ipynb' 笔记本,它会预处理 Paychex 文档并构建向量数据库。 笔记本生成的文件 'sklearn_vectorstore.parquet' 将被服务器用于文档检索。
  6. 配置路径: 打开 'paychex-mcp.py' 文件,找到 'PATH' 变量,将其值 '<PATH_TO_YOUR_REPO>/mcp-demo/notebook/' 替换为你本地仓库 'notebook/' 目录的绝对路径。例如:
    PATH = "/Users/your_username/path/to/mcp-demo/notebook/" # 替换为你的实际路径

服务器配置

MCP 服务器需要配合 MCP 客户端使用。你需要将以下配置信息添加到你的 MCP 客户端中,以便客户端能够连接到此服务器。以下配置示例为 JSON 格式,适用于如 MCP Inspector, Claude Desktop, Continue on VSCode, Cursor 等客户端。

{
  "serverName": "Paychex-Docs-MCP-Server",
  "command": "<path_to_repo>/.venv/bin/python",
  "args": [
    "<path_to_repo>/paychex-mcp.py"
  ],
  "env": {
    "AZURE_OPENAI_API_KEY": "<your_azure_openai_api_key>",
    "AZURE_OPENAI_ENDPOINT": "<your_azure_openai_endpoint>",
    "AZURE_OPENAI_EMBEDDING_DEPLOYMENT": "<your_azure_openai_embedding_deployment>",
    "AZURE_OPENAI_DEPLOYMENT": "<your_azure_openai_deployment>",
    "AZURE_OPENAI_EMBEDDING_VERSION": "<your_azure_openai_embedding_version>"
  }
}
  • 'serverName': 服务器的名称,可以自定义,用于在客户端中标识该服务器,例如 "Paychex-Docs-MCP-Server"。
  • 'command': 启动 MCP 服务器的命令,这里指向你的 Python 解释器路径。请确保 '<path_to_repo>' 替换为你的仓库根目录的绝对路径,并指向虚拟环境中的 Python 解释器 ('.venv/bin/python')。
  • 'args': 传递给 'command' 的参数,这里指定了要运行的服务器脚本 'paychex-mcp.py' 的路径。同样需要将 '<path_to_repo>' 替换为你的仓库根目录的绝对路径
  • 'env': 环境变量配置。你需要将占位符 '<your_azure_openai_xxx>' 替换为你的 Azure OpenAI 服务的 API 密钥、Endpoint、以及部署名称等信息。这些信息用于配置服务器访问 Azure OpenAI 服务,以便进行文档的向量化和检索。

注意: 请将配置中的 '<path_to_repo>' 替换为你本地仓库的实际绝对路径,并将 '<your_azure_openai_xxx>' 替换为你的 Azure OpenAI 服务凭据。

基本使用方法

  1. 启动 MCP 服务器: 根据你使用的 MCP 客户端,配置好上述服务器连接信息后,启动 MCP 服务器。例如,在使用 MCP Inspector 时,你可能需要运行类似 'npx @modelcontextprotocol/inspector' 的命令,并配置连接到本地服务器。
  2. 连接 MCP 客户端: 在支持 MCP 协议的客户端 (如 Claude Desktop, Continue on VSCode, Cursor) 中,添加并连接到 "Paychex-Docs-MCP-Server"。
  3. 与 LLM 交互: 在客户端中,你可以像往常一样与 LLM 进行对话。当 LLM 需要 Paychex 文档相关信息时,MCP 服务器将通过工具或资源提供上下文数据,辅助 LLM 生成更准确和有针对性的回复。 例如,你可以提问 "Paychex 的员工福利政策有哪些?",LLM 可能会调用 'paychex_query_tool' 工具来检索相关文档片段,或者利用 'docs://paychex/full' 资源获取更全面的背景信息。

信息

分类

商业系统