Nosible MCP 服务器

使用说明 (Markdown 格式)

  • 项目简介

    • 该仓库实现了一个 MCP 服务器,使用 FastMCP 框架暴露基于 HTTP 的 MCP 服务。服务器通过一个流式 HTTP 端点对外提供工具(如 fast-search、scrape-url、topic-trend)以及与 NOSIBLE API 的对接能力,支持会话管理与按用户的 API Key 进行请求上下文隔离。
  • 主要功能点

    • 提供 MCP 服务器端核心入口:/mcp 的流式 HTTP 端点,支持 JSON-RPC 风格的请求/响应。
    • 3 个内置工具:fast-search、scrape-url、topic-trend,均通过 Nosible 客户端在服务器端对 NOSIBLE API 进行调用。
    • per-user API Key 上下文:通过请求头 X-Nosible-Api-Key 提取并在请求生命周期内供工具使用,确保多租户隔离。
    • 跨源资源共享(CORS)配置,便于本地开发时来自浏览器的请求。
    • 健康检查端点 /healthz,可用于 Kubernetes/容器编排的就绪/健康状态探针。
  • 安装步骤

    • 准备 Python 环境(推荐 Python 3.x 版本,具体版本以依赖项为准)。
    • 获取代码并进入项目目录。
    • 安装运行所需依赖(FastAPI、uvicorn、fastmcp、Nosible 客户端及其它依赖)。
    • 设置 API Key 的获取与传递方式(通过请求头 X-Nosible-Api-Key)。
    • 运行服务器:在命令行执行 python src/server.py,默认监听端口 10000,暴露 /mcp 路径用于 MCP 客户端连接。
  • 服务器配置(MCP 客户端所需的最小信息) 说明:MCP 客户端需要知道如何启动并连接到该 MCP 服务器。以下提供一个示例配置,适用于某些客户端(如 Claude Desktop)。配置包含服务器名称、启动命令以及参数,以便客户端能够与服务器建立连接并在运行时注入 API Key。 { "server_name": "nosible-mcp", "command": "npx", "args": [ "mcp-remote", "https://nosible-mcp.onrender.com/mcp/", "--header", "X-Nosible-Api-Key:${NOSIBLE_API_KEY}" ], "env": { "NOSIBLE_API_KEY": "YOUR_NOSIBLE_API_KEY_HERE" } }

    说明:

    • 该配置对应 Claude Desktop 这类需要通过命令启动并传入参数的客户端。实际使用时请替换 YOUR_NOSIBLE_API_KEY_HERE 为你在 NOSIBLE 的实际 API Key,或通过环境变量注入。
    • MCP 客户端的具体配置格式可能因客户端而异,核心信息是服务器地址、请求头(X-Nosible-Api-Key)以及必要的启动命令与参数。
  • 基本使用方法

    • 在 MCP 客户端中选择服务器 nosible-mcp,并指向 /mcp/ 的端点地址,例如 https://nosible-mcp.onrender.com/mcp/。
    • 使用内置工具进行查询:
      • fast-search:对指定 question 进行快速检索并返回结果字典。可配置 expansions、n_results、语言、区域等参数。
      • scrape-url:对给定 URL/HTML 进行抓取与解析,返回结构化数据。
      • topic-trend:获取某个查询在时间段内的趋势数据。
    • 请求时需要在头信息中传递 X-Nosible-Api-Key 以实现按用户上下文的隔离。
    • 运行后,服务器将通过 NOSIBLE API 进行数据获取与处理,并将结果以 MCP 规范的响应返回给客户端。
  • 备注

    • 服务器默认前后端分离,端点路径为 /mcp,健康检查在 /healthz。
    • 如需本地调试,请确保端口 10000 未被占用,或在代码中修改 PORT 常量后重新启动。

关键词:LLM上下文服务, 工具调用, 网页抓取, 搜索API, 会话管理

服务器信息