文档搜索服务

MCP服务器是一个基于Model Context Protocol的文档搜索服务,支持langchain、openai和llama-index等库的文档搜索功能。

  • by gpreddy172
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 gpreddy172/mcp-server-for-documentation

使用说明

文档MCP服务器

此存储库包含模型上下文协议(MCP)服务器的实现。

此MCP服务器
""" 搜索给定查询和库的最新文档。 它支持langchain、openai和llama索引。

Args: query:要搜索的查询(例如“Chroma DB”) 库:要搜索的库(例如“langchain”)

退货: 文档中的文本 """

什么是MCP?

MCP(模型上下文协议)是一种开放协议,它规范了应用程序如何向LLM提供上下文。将MCP想象成AI应用程序的USB-C端口——它提供了一种将AI模型连接到不同数据源和工具的标准化方法。

关键利益

  • LLM可以直接插入的预构建集成列表越来越多
  • 在LLM提供商和供应商之间灵活切换
  • 在基础架构中保护数据的最佳实践

架构概述

MCP遵循客户端-服务器架构,其中主机应用程序可以连接到多个服务器:

  • MCP主机:希望通过MCP访问数据的程序,如Claude Desktop、IDE或AI工具
  • MCP客户端:与服务器保持1:1连接的协议客户端
  • MCP服务器:通过标准化的模型上下文协议公开特定功能的轻量级程序
  • 数据源:MCP服务器可以访问的本地(文件、数据库)和远程服务(API)

MCP核心概念

MCP服务器可以提供三种主要功能:

  • 资源:可以由客户端读取的类文件数据(如API响应或文件内容)
  • 工具:LLM可以调用的函数(经用户批准)
  • 鼓励:帮助用户完成特定任务的预先编写的模板

系统要求

  • Python 3.10或更高版本
  • MCP SDK 1.2.0或更高版本
  • uv 包管理器

入门指南

安装uv包管理器

在MacOS/Linux上:

curl -LsSf https://astral.sh/uv/install.sh | sh

确保之后重新启动终端,以确保 uv 命令被接收。

项目设置

  1. 创建并初始化项目:
# Create a new directory for our project
uv init mcp-server
cd mcp-server

# Create virtual environment and activate it
uv venv
source .venv/bin/activate  # On Windows use: .venv\Scripts\activate

# Install dependencies
uv add "mcp[cli]" httpx
  1. 创建服务器实现文件:
touch main.py

运行服务器

  1. 启动MCP服务器:
uv run main.py
  1. 服务器将启动并准备接受连接

连接到克劳德桌面

  1. 从官方网站安装Claude Desktop
  2. 配置Claude Desktop以使用您的MCP服务器:

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
    "mcpServers": {
        "mcp-server": {
            "command": "uv",  # It's better to use the absolute path to the uv command
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/YOUR/mcp-server",
                "run",
                "main.py"
            ]
        }
    }
}
  1. 重新启动克劳德桌面

故障排除

如果您的服务器未被Claude Desktop接收:

  1. 检查配置文件路径和权限
  2. 验证配置中的绝对路径是否正确
  3. 确保紫外线正确安装且易于接近
  4. 检查Claude Desktop日志中是否有任何错误消息