使用说明

项目简介

本项目 'mcp-servers' 仓库提供了一系列基于 Model Context Protocol (MCP) 的服务器实现,旨在为科学研究领域的LLM应用提供标准化的上下文信息和功能。目前包含两个核心服务器:

  1. Web Fetch Server (mcp-web-fetch): 一个通用的网页内容抓取工具,能够根据URL获取网页内容,并自动转换为 Markdown 或纯文本格式,方便LLM理解和处理。支持HTML、JSON、PDF等多种网页内容类型。
  2. TXYZ Search Server (mcp-txyz-search): 集成 TXYZ.AI 搜索引擎的服务器,提供学术文献、网页信息的智能搜索功能。支持 Scholar (学术搜索)、Web (网页搜索)、Smart (智能混合搜索) 三种搜索模式,帮助LLM快速检索和利用互联网上的信息资源。

主要功能点

  • Web Fetch Server (mcp-web-fetch)

    • 网页内容抓取: 根据URL抓取网页内容。
    • 内容格式转换: 自动将HTML转换为Markdown,PDF转换为纯文本,JSON保持原始JSON格式,方便LLM理解。
    • 原始内容返回: 可以选择返回未经转换的原始网页文本内容。
  • TXYZ Search Server (mcp-txyz-search)

    • 学术搜索 (Scholar Search): 专注于学术文献和研究资料的搜索,返回论文、文章等学术资源。
    • 网页搜索 (Web Search): 通用的网页信息搜索,返回来自网页的资源。
    • 智能混合搜索 (Smart Search): 结合学术和网页搜索的智能搜索模式,提供更全面的搜索结果。
    • 结果数量控制: 可以限制返回的搜索结果数量。

安装步骤

  1. 克隆仓库

    git clone https://github.com/pathintegral-institute/mcp-servers
    cd mcp-servers
  2. 安装依赖 在项目根目录下,为 'fetch' 和 'txyz-search' 服务器分别安装依赖。

    • Web Fetch Server 依赖安装

      cd servers/fetch
      pip install -e .
      cd ../.. # 返回项目根目录
    • TXYZ Search Server 依赖安装

      cd servers/txyz-search
      pip install -e .
      cd ../.. # 返回项目根目录

服务器配置

MCP客户端需要配置服务器的启动命令和参数才能连接并使用这些MCP服务器。以下是针对 'fetch-web' 和 'txyz-search' 服务器的配置信息(JSON格式),请根据您的实际环境进行调整。

  • Web Fetch Server (mcp-web-fetch) 配置
{
  "serverName": "mcp-web-fetch",
  "command": "python",
  "args": [
    "-m",
    "mcp_web_fetch"
  ],
  "transport": "stdio"
}

参数说明:

  • 'serverName': 服务器名称,客户端用以标识和调用。建议设置为 'mcp-web-fetch'。
  • 'command': 启动服务器的命令,这里使用 'python'。
  • 'args': 传递给 'python' 命令的参数,'-m mcp_web_fetch' 表示运行 'mcp_web_fetch' 模块,即启动 Web Fetch Server。
  • 'transport': 传输协议,这里使用 'stdio' (标准输入输出)。
  • TXYZ Search Server (mcp-txyz-search) 配置

重要: TXYZ Search Server 依赖于 TXYZ.AI API。您需要在运行前配置 'TXYZ_API_KEY' 环境变量。请访问 TXYZ.AI 获取API密钥。

{
  "serverName": "mcp-txyz-search",
  "command": "python",
  "args": [
    "-m",
    "mcp_txyz_search"
  ],
  "transport": "stdio",
  "env": {
    "TXYZ_API_KEY": "<请替换为您的 TXYZ API 密钥>"
  }
}

参数说明:

  • 'serverName': 服务器名称,客户端用以标识和调用。建议设置为 'mcp-txyz-search'。
  • 'command': 启动服务器的命令,这里使用 'python'。
  • 'args': 传递给 'python' 命令的参数,'-m mcp_txyz_search' 表示运行 'mcp_txyz_search' 模块,即启动 TXYZ Search Server。
  • 'transport': 传输协议,这里使用 'stdio' (标准输入输出)。
  • 'env': 环境变量配置。 'TXYZ_API_KEY' 用于配置 TXYZ.AI API 密钥。请务必将 '<请替换为您的 TXYZ API 密钥>' 替换为您实际的 API 密钥。 或者,您也可以在运行服务器的环境中直接设置 'TXYZ_API_KEY' 环境变量。

基本使用方法

  1. 启动服务器: 根据上述配置,在MCP客户端中启动 'mcp-web-fetch' 和 'mcp-txyz-search' 服务器。

  2. 客户端调用工具: 通过MCP客户端,可以使用以下工具与服务器交互:

    • Web Fetch Server (mcp-web-fetch)

      • 工具名称: 'fetch-web'
      • 工具描述: Fetch URL and return content according to its content type.
      • 参数: '{"url": "目标URL", "raw": false}'
        • 'url': 要抓取的网页 URL。
        • 'raw': (可选) 布尔值,如果设置为 'true',则返回原始文本内容,否则根据内容类型进行转换 (HTML->Markdown, PDF->Text, JSON->JSON String)。默认为 'false'。
    • TXYZ Search Server (mcp-txyz-search)

      • 工具名称: 'txyz_search_scholar' (学术搜索), 'txyz_search_web' (网页搜索), 'txyz_search_smart' (智能混合搜索)
      • 工具描述: 分别对应学术搜索、网页搜索和智能混合搜索。
      • 参数: '{"query": "搜索关键词", "max_results": 数量}'
        • 'query': 搜索关键词。
        • 'max_results': (可选) 最大返回结果数量,范围为 1-20。

示例 MCP 客户端请求 (概念)

假设您想使用 'mcp-web-fetch' 服务器抓取 'https://www.example.com' 的网页内容,并使用 'mcp-txyz-search' 服务器进行关键词 "climate change" 的学术搜索。

您需要在 MCP 客户端中构造符合 MCP 协议的 JSON-RPC 请求,例如调用 'call_tool' 方法,并指定相应的服务器名称、工具名称和参数。 具体的请求格式和客户端操作请参考您使用的 MCP 客户端的文档。

注意事项

  • TXYZ API Key: 使用 'txyz-search' 服务器务必配置有效的 TXYZ API Key。
  • 错误处理: 服务器在遇到错误时会返回 MCP 错误响应,客户端需要妥善处理这些错误。
  • 安全性: 请注意运行外部服务器的安全性,并确保只允许信任的客户端连接。

信息

分类

网页与API