使用说明内容(Markdown格式)

  • 项目简介

    • 该仓库实现一个基于 Model Context Protocol (MCP) 的服务器端,利用 FastMCP 库将 Exa Pool API 封装成一组可被 LLM 客户端调用的工具(Tools)。通过 MCP 服务器,LLM 客户端可以执行网页搜索、获取网页内容、查找相似页面、获取AI生成的答案以及创建和查询研究任务等操作。
  • 主要功能点

    • MCP 服务端实现:使用 FastMCP 提供的服务器端框架,支持多种传输方式(示例中为 stdio,但理论上可扩展)。
    • 工具集(Tools):提供 exa_search、exa_get_contents、exa_find_similar、exa_answer、exa_create_research、exa_get_research 等工具接口,供客户端调用。
    • Exa Pool 接入:通过环境变量配置 Exa Pool 的基地址和 APIKey,内部通过 HTTPX 客户端与 Exa Pool API 通信,并将结果以 JSON 格式返回。
    • 错误与超时处理:对常见 HTTP 状态、超时、连接错误进行统一格式化的错误返回,便于上层客户端解析。
    • 日志记录:使用标准日志记录,便于排错和监控。
  • 安装步骤(易懂版本)

    1. 安装 Python 3.10 及以上版本。
    2. 安装依赖库,如 mcp[cli] 和 httpx:
      • 运行相关包管理工具安装依赖(示例中的依赖声明即可自动安装)。
    3. 获取代码并准备执行文件 exa_pool_mcp.py。
    4. 配置环境变量(示例中需要):
      • EXA_POOL_BASE_URL:Exa Pool API 的基地址
      • EXA_POOL_API_KEY:访问 Exa Pool API 的 API Key
    5. 启动 MCP 服务器(示例命令为直接运行 Python 脚本,具体可结合所用前端/集成工具的运行方式):
      • 直接在终端执行: python3 exa_pool_mcp.py
      • 或通过集成环境(如 Claude Code)以 stdio 传输启动,按集成工具的要求填入环境变量并启动。
  • 服务器配置(MCP 客户端配置要点) MCP 客户端需要知道如何启动服务器以建立连接。以下为示例配置要点(请据实际环境替换参数): { "server_name": "exa-pool", "command": "python3", "args": ["exa_pool_mcp.py"], "environment": { "EXA_POOL_BASE_URL": "<Exa Pool 基础 URL,例如 https://api.exa.ai>", "EXA_POOL_API_KEY": "<你的 Exa Pool API Key>" }, "transport": "stdio" } 说明:

    • server_name 表示 MCP 服务器的标识名称,建议与实际服务名称保持一致。
    • command 与 args 指向启动 MCP 服务器的命令和参数。
    • environment 用于提供运行所需的环境变量,确保在客户端启动时注入。
    • transport 指明通信传输方式,这里使用 stdio(适用于与本地代理/前端集成的场景)。 该配置仅为客户端启动时的指示信息,实际使用时请按你们的集成工具要求进行配置。
  • 基本使用方法

    • 启动后,LLM 客户端通过 MCP 协议向服务器发送请求(如执行 exa_search、exa_get_contents 等工具)。
    • 服务端将调用 Exa Pool API,并返回 JSON 格式的结果,客户端再进行展示或进一步处理。
    • 如遇到 API Key、基地址错误,请检查 EXA_POOL_BASE_URL 与 EXA_POOL_API_KEY 环境变量是否正确设置,以及网络连通性。
  • 其他注意

    • 服务端默认使用 stdio 传输,便于在本地开发与测试中与前端组件进行对话。实际部署中可探索 SSE/WebSocket 等传输方式的扩展。
    • Please ensure your environment provides internet access to Exa Pool API,并且 Exa Pool API 的服务端点可达。

信息

分类

网页与API