使用说明(Markdown 格式)

  • 项目简介
    • 该仓库实现了一个基于 MCP(Model Context Protocol)的后端服务器,面向 LLM 客户端提供统一的资源(数据访问)、工具(外部功能调用)以及 Prompt 模板的注册与渲染等能力。服务器通过 JSON-RPC 风格的接口与客户端通信,支持通过标准输入/输出(Stdio)等传输方式。
  • 主要功能点
    • 资源与数据访问:提供对本地文件、网页抓取结果、文档内容等的访问与管理能力。
    • 工具与执行:注册并执行多种工具(如网页搜索、维基百科、PDF 解析、地理定位、计算器、文本摘要等),LLM 可以通过统一接口调用外部功能。
    • Prompt 模板与渲染:支持描述和渲染提示模板,便于 LLM 进行定制化的人机交互。
    • MCP 协议实现:围绕 MCP 的核心能力(列出工具、执行工具、返回结构化输出)进行实现,具备会话管理和能力声明。
    • JSON-RPC 交互与多传输:通过 JSON-RPC 与客户端通信,代码中实现了 list_tools()、call_tool() 等入口,且通过 stdio 服务端运行(未来也可扩展到 SSE/WebSocket 等传输)。
  • 安装步骤
    • 运行环境:Python 3.10 及以上版本。
    • 安装:可通过 PyPI 安装 mcp-search-server,或从源码安装并进入开发模式进行使用。
    • 启动方式:安装后直接执行服务器命令,示例命令如下(客户端不需要关心具体实现细节,仅需知道服务器启动命令即可与 MCP 客户端对接):
      • 启动命令:mcp-search-server
      • 说明:该命令会开启一个 MCP 服务器,默认通过标准输入输出与客户端通信,后续可扩展为其它传输协议如 SSE、WebSocket。
  • 服务器配置(给 MCP 客户端的配置信息,采用 JSON 格式,含 server name、command、args 等)
    • JSON 配置示例(用于 MCP 客户端在本地或远端连接时加载服务器信息;此处仅展示字段含义,非代码实现): { "server_name": "search", "command": "mcp-search-server", "args": [] }
    • 字段说明:
      • server_name: MCP 客户端用于标识该服务器的名称,在客户端配置中引用。
      • command: 启动该 MCP 服务器的命令名称或可执行路径。此处对应仓库提供的入口命令 mcp-search-server。
      • args: 启动命令的参数列表,如需要可指定的运行参数;当前实现默认不强制任何参数,客户端配置中可按需追加。
  • 基本使用方法
    • 启动服务器后,MCP 客户端应向服务器发送注册信息,服务器返回能力宣告(列出可用工具、资源、Prompts)。
    • 客户端可通过调用 call_tool 与服务器交互,例如请求列出可用工具、调用特定工具并获取返回的文本内容与结构化数据。
    • 通过服务器返回的结构化数据,LLM 可以与外部数据源交互后进行进一步推理、摘要或回答生成。
    • 如需进一步了解实现细节,可查看源代码中的 list_tools、call_tool、以及各工具实现模块(如搜索、地图、维基、PDF 解析、时间与定位等)。

信息

分类

网页与API