Rini MCP 工具集服务器使用说明

项目简介

Rini MCP 工具集服务器是一个基于 Model Context Protocol (MCP) 的后端实现集合。该仓库包含了多个独立的 Python 文件,每个文件都可以作为一个独立的 MCP 服务器进程运行。这些服务器通过提供一系列特定的功能工具,旨在以标准化方式向大型语言模型 (LLM) 客户端提供丰富的上下文信息和可调用的外部功能。

主要功能点

此服务器集合提供了以下主要功能工具:

  • 网页搜索: 利用外部搜索引擎(如 Google Serper)进行互联网搜索,获取实时信息、网页摘要或特定链接。
  • 网页爬取: 从指定的网页提取纯文本内容,或利用浏览器截图结合多模态AI分析网页的布局、内容和图片。
  • YouTube 处理: 对 YouTube 视频进行音频转录 (STT)、生成基于音频的摘要,或进行全面的音视频及关键帧分析,输出包含时间戳的转录文本和关键帧描述。
  • GitHub 仓库分析: 克隆指定的 GitHub 仓库,提取代码中的函数和类,并利用向量相似性根据用户查询找到相关的代码片段进行分析和回答。
  • AI 推理: 利用集成的 AI 模型(如 Gemini, OpenAI)根据给定的查询进行逻辑推理和回答。
  • 代码生成与执行: 根据自然语言描述生成代码(支持指定语言/框架),并可执行 Python 代码,返回执行结果(stdout, stderr, 返回码)。
  • MCP 服务器生成: 根据用户描述生成符合 MCP 规范的服务器代码,并可执行新生成的代码。

安装步骤

要安装和运行此 MCP 服务器集合,请遵循以下步骤:

  1. 确保您的系统已安装 Python 3.7 或更高版本
  2. 确保您的系统已安装 ffmpeg,尤其对于 YouTube 处理功能是必需的。
  3. 克隆此 GitHub 仓库到您的本地机器。
  4. 打开终端或命令行界面,进入仓库所在的目录。
  5. 安装项目所需的 Python 依赖库。使用以下命令:
    pip install -r requirements.txt
  6. 配置 API 密钥: 部分功能依赖于外部服务 API,如 Google Gemini, OpenAI, Serper 等。您需要获取相应的 API 密钥,并将其配置为环境变量(例如 'GOOGLE_API_KEY', 'OPENAI_API_KEY', 'SERPER_API_KEY')。通常,这通过创建一个 '.env' 文件并在其中写入 'VAR_NAME=your_api_key' 的形式完成,或在您的系统环境中直接设置。

服务器配置

MCP 客户端需要知道如何启动和连接到这些服务器。这是一个由多个独立服务器进程组成的集合。您需要在您的 MCP 客户端配置中为每个功能对应的服务器添加相应的启动信息。以下是每个服务器进程的启动命令和默认监听端口信息,供配置 MCP 客户端时参考:

  • Rini Web Search 服务器

    • 对应的文件: 'web_search.py'
    • 默认端口: 65000
    • MCP客户端配置片段示例(JSON格式,请根据您的客户端实际配置格式调整):
      {
        "server name": "Rini Web Search",
        "command": "python",
        "args": ["web_search.py"],
        "description": "启动提供网页搜索和爬取功能的服务器。默认监听端口 65000。"
      }
  • Rini Youtube Summarize 服务器

    • 对应的文件: 'youtube_summary.py'
    • 默认端口: 65001
    • MCP客户端配置片段示例:
      {
        "server name": "Rini Youtube Summarize",
        "command": "python",
        "args": ["youtube_summary.py"],
        "description": "启动提供YouTube视频处理功能的服务器。默认监听端口 65001。"
      }
  • Rini Github Repository Analysis 服务器

    • 对应的文件: 'github_repo_analysis.py'
    • 默认端口: 65002
    • MCP客户端配置片段示例:
      {
        "server name": "Rini Github Repository Analysis",
        "command": "python",
        "args": ["github_repo_analysis.py"],
        "description": "启动提供GitHub仓库分析功能的服务器。默认监听端口 65002。"
      }
  • Rini Reasoning 服务器

    • 对应的文件: 'reasoning.py'
    • 默认端口: 65003
    • MCP客户端配置片段示例:
      {
        "server name": "Rini Reasoning",
        "command": "python",
        "args": ["reasoning.py"],
        "description": "启动提供AI推理功能的服务器。默认监听端口 65003。"
      }
  • Rini Coding 服务器 (代码生成/执行)

    • 对应的文件: 'coding.py'
    • 默认端口: 65004
    • MCP客户端配置片段示例:
      {
        "server name": "Rini Coding",
        "command": "python",
        "args": ["coding.py"],
        "description": "启动提供代码生成与执行功能的服务器。默认监听端口 65004。"
      }
  • Rini Web Crawl 服务器

    • 对应的文件: 'web_crawl.py'
    • 默认端口: 65005
    • MCP客户端配置片段示例:
      {
        "server name": "Rini Web Crawl",
        "command": "python",
        "args": ["web_crawl.py"],
        "description": "启动提供网页爬取功能的服务器。默认监听端口 65005。"
      }
  • Rini Coding 服务器 (MCP生成)

    • 对应的文件: 'mcp_related.py'
    • 默认端口: 65006
    • MCP客户端配置片段示例:
      {
        "server name": "Rini Coding (MCP Related)",
        "command": "python",
        "args": ["mcp_related.py"],
        "description": "启动提供MCP服务器代码生成与执行功能的服务器。默认监听端口 65006。"
      }
    • 请注意:'mcp_related.py' 在代码内部也使用了 "Rini Coding" 作为服务器名称,为避免与 'coding.py' 混淆,建议在客户端配置中使用更具描述性的名称,如 "Rini Coding (MCP Related)"。

基本使用方法

在配置好您的 MCP 客户端后,客户端会根据您的操作和需要自动启动相应的服务器进程并与之通信。

如果您想手动测试或开发某个特定的服务器功能,可以直接运行对应的 Python 文件。例如,要启动网页搜索服务器,请在仓库目录下执行:

python web_search.py

该服务器将在其默认端口上启动并监听来自 MCP 客户端的连接(使用 SSE 传输协议)。您可以参考 'util_ai.py' 文件中的 'get_tool_prompt' 函数了解工具描述格式,并使用支持 MCP 协议的 LLM 客户端与其交互,调用 '@mcp.tool()' 装饰器标记的函数。

信息

分类

AI与计算