项目简介

FindxAI MCP服务器是一个基于Model Context Protocol (MCP) 构建的应用后端示例。它专注于为大型语言模型(LLM)客户端提供强大的外部能力,特别是通过集成外部服务实现智能搜索和网页内容提取功能。该服务器向连接的MCP客户端声明其可用的工具,允许LLM通过标准的MCP协议调用这些工具来获取或处理信息。

主要功能点

  • 提供搜索工具: 集成Google Custom Search,使LLM能够执行定制化的网页搜索,并根据搜索条件过滤结果。
  • 提供内容提取工具: 能够从指定的文章链接中提取完整的文本内容,为LLM提供深入的信息源。
  • 支持MCP协议: 遵循MCP标准,通过SSE(Server-Sent Events)等传输协议与客户端通信,处理工具调用请求并返回结果。
  • 工具声明与执行: 向客户端声明可用的搜索和内容提取工具及其功能描述,并在接收到LLM的工具调用请求时执行相应的操作。

安装步骤

本项目需要Docker Compose来构建和运行所需的依赖服务(如数据库、gRPC服务等)以及MCP服务器本身。

  1. 获取Google API Key和Custom Search Engine ID:
  2. 配置环境变量: 准备以下环境变量,通常可以通过'.env'文件或直接在命令行中设置:
    • 'API_KEY={YOUR_GOOGLE_API_KEY}'
    • 'PROJECT_ID={YOUR_SEARCH_ENGINE_PROJECT_ID}'
    • 'DB_URL={YOUR_POSTGRES_DB_URL}' (如果docker compose文件需要)
    • 'REDIS_URL={YOUR_REDIS_URL}' (客户端使用,服务器可能不需要)
    • 'FINDXAI_GRPC_CONNECTION={GRPC_SERVER_ADDRESS}' (服务器内部使用,指向搜索和内容gRPC服务)
  3. 运行Docker Compose:
    • 第一次运行需要执行数据库迁移和API Key插入,请设置 'RUN_MIGRATION=1'。
      RUN_MIGRATION=1 API_KEY={YOUR_GOOGLE_API_KEY} PROJECT_ID={YOUR_SEARCH_ENGINE_PROJECT_ID} docker compose -f dockercompose.yml up --build
    • 后续运行仅需构建和启动服务:
      docker compose -f dockercompose.yml up --build
    这将启动MCP服务器及其依赖服务。

服务器配置信息 (供MCP客户端连接使用)

MCP客户端需要配置连接信息才能找到并使用FindxAI MCP服务器提供的能力。以下是客户端所需的配置信息示例(非代码,描述其结构和内容):

  • 服务器名称 (server_name): 'findxai'
  • 传输协议类型 (transport.type): 'sse'
  • 连接地址 (transport.url): 'http://<服务器IP或域名>:8080/sse'
    • '<服务器IP或域名>':部署FindxAI MCP服务器的主机的IP地址或域名。
    • '8080':FindxAI MCP服务器默认监听的端口。

客户端使用这些信息来建立连接,初始化MCP会话,并自动发现服务器声明的所有工具(例如 'search_contents', 'extract_content_from_article_links')。

基本使用方法

  1. 启动服务器: 按照上述“安装步骤”中的说明,使用Docker Compose启动FindxAI MCP服务器及相关服务。
  2. 启动MCP客户端: 启动一个兼容MCP协议的LLM客户端应用。该客户端需要配置连接到FindxAI MCP服务器的地址(例如 'http://localhost:8080/sse')。
  3. LLM交互: 在客户端中与LLM进行交互。当LLM判断需要外部信息(如搜索实时新闻或获取文章内容)时,它会通过MCP协议向FindxAI服务器发起工具调用请求。
  4. 工具执行与响应: FindxAI服务器接收请求,调用内部的搜索或内容提取逻辑(可能通过gRPC调用其他服务),并将结果通过MCP协议返回给客户端。客户端接收到结果后,可以将其作为上下文提供给LLM,帮助LLM生成更准确和信息丰富的回复。

关键词

智能搜索, 内容提取, LLM工具, 外部能力, 信息检索

信息

分类

网页与API