使用说明

项目简介

MCP工具服务器是一个基于Model Context Protocol (MCP) 构建的后端服务,旨在增强大型语言模型(LLM)的能力。该服务器提供了一系列工具,使LLM客户端能够安全地访问互联网信息,包括网页搜索和网页内容访问,从而更有效地解决现实世界的问题。

主要功能点

  • 网页搜索 (Search): 通过集成 SearXNG 搜索引擎,为LLM提供实时的网络搜索能力,帮助LLM获取最新的信息、特定的资源或进行计算。
  • 网页访问 (Web): 允许LLM访问和处理网页内容。支持将网页转换为易于阅读的 Markdown 格式,获取原始网页内容,以及提取网页中的链接。
  • 标准 MCP 服务器: 遵循 Model Context Protocol 协议,提供标准的上下文服务接口。
  • 多种连接方式: 支持通过 Stdio (标准输入输出) 和 SSE (Server-Sent Events) 等多种方式与MCP客户端连接。
  • 易于部署: 提供 Docker 镜像和 Docker Compose 配置,方便用户快速部署和运行。

安装步骤

1. 使用 Docker (推荐)

  • 确保已安装 Docker 和 Docker Compose。

  • 创建 'docker-compose.yml' 文件,并复制以下内容:

    services:
      mcp-server:
        environment:
          # 必须: SearXNG 实例的 Search API URL
          - SEARXNG_QUERY_URL=http://searxng:8080
          # 可选: 启用 SSE 网络模式 (例如 LibreChat)
          - SSE_HOST=0.0.0.0
          - SSE_PORT=8080
          # 可选: 自定义 User-Agent
          - USER_AGENT=MCP-Server/1.0 (github.com/tcpipuk/mcp-server)
        image: ghcr.io/tcpipuk/mcp-server/server:latest
        ports: # 仅当使用 SSE_HOST/SSE_PORT 时需要
          - "8080:8080" # 映射端口到宿主机
        restart: unless-stopped
        stop_grace_period: 1s

    注意: 必须配置 'SEARXNG_QUERY_URL' 环境变量,指向您的 SearXNG 实例的 Search API 端点。

  • 运行命令启动服务:

    docker compose up -d

2. 本地运行

  • 确保已安装 Python 3.13+ 和 'uv' (可以使用命令 'curl -LsSf https://astral.sh/uv/install.sh | sh' 安装)。

  • 创建并激活虚拟环境:

    uv venv
    source .venv/bin/activate  # Linux/macOS
    # 或
    .venv\Scripts\activate     # Windows
  • 安装依赖:

    uv sync
  • 设置环境变量 (例如,在 '.env' 文件中或直接在终端中 export):

    export SEARXNG_QUERY_URL="http://your-searxng-instance.local:8080"
    # 可选: 自定义 User-Agent
    export USER_AGENT="CustomAgent/1.0"
  • 运行服务器:

    • SSE 模式 (例如 LibreChat):
      mcp-server --sse-host 0.0.0.0 --sse-port 3001
    • Stdio 模式 (例如 Claude Desktop):
      mcp-server

服务器配置 (MCP 客户端)

MCP 客户端需要配置以下信息以连接到 MCP工具服务器。以下是两种连接模式的配置示例:

1. Stdio 模式配置 (例如 Claude Desktop):

{
  "serverName": "mcp-server",
  "command": "mcp-server",
  "args": []
}
  • 'serverName': 服务器名称,可以自定义。
  • 'command': 启动 MCP 服务器的命令,这里使用 'mcp-server' (假设已添加到 PATH 环境变量或在项目根目录下运行)。
  • 'args': 启动命令的参数,Stdio 模式下无需额外参数,所以为空数组。

2. SSE 模式配置 (例如 LibreChat):

{
  "serverName": "mcp-server",
  "type": "sse",
  "url": "http://mcp-server:8080/sse"
}
  • 'serverName': 服务器名称,可以自定义,与 LibreChat 的 'librechat.yaml' 中 'mcpServers' 下的键名对应。
  • 'type': 连接类型,设置为 'sse' 表示使用 Server-Sent Events 连接。
  • 'url': SSE 连接的 URL,根据 Docker Compose 或本地运行的配置,默认为 'http://mcp-server:8080/sse' (如果 MCP 服务器和 LibreChat 在同一网络中,'mcp-server' 可以解析为 Docker Compose 服务名,否则需要替换为 MCP 服务器的 IP 地址或域名)。

基本使用方法

  1. 启动 MCP工具服务器:根据上述安装步骤启动服务器。
  2. 配置 MCP 客户端: 在您的 MCP 客户端 (如 Claude Desktop 或 LibreChat) 中,根据您选择的连接模式 (Stdio 或 SSE) 配置 MCP服务器信息,填入上面提供的 JSON 配置。
  3. 在 LLM 中使用工具: 在您的 LLM 应用中,当需要进行网页搜索或访问网页时,LLM 客户端会自动调用 MCP工具服务器提供的工具,并将结果返回给 LLM。具体工具的使用方式取决于 LLM 客户端的界面和指令。例如,在支持工具调用的 LLM 应用中,您可以使用自然语言指令指示 LLM 使用 "search" 工具进行搜索,或使用 "web" 工具访问特定 URL。

信息

分类

网页与API