项目简介

'CrewAI文本摘要MCP服务器' 是一个实现了 Model Context Protocol (MCP) 的应用后端,专注于提供文本摘要服务。它利用 CrewAI 框架创建智能代理(Agent)来执行摘要任务,并通过 MCP 协议将摘要功能暴露给各类 LLM 客户端,例如 Claude Desktop。该服务器允许客户端通过标准化的 MCP 接口调用文本摘要工具,并根据需求指定摘要的长度。

主要功能点

  • 文本摘要工具 (summarize): 核心功能,接收文本输入,使用预配置的 CrewAI 智能体进行文本摘要,并返回摘要结果。
  • 可配置的摘要长度: 支持 "short"(短)、"medium"(中)、"long"(长)三种摘要长度选项,满足不同场景的需求。
  • 基于 CrewAI 框架: 利用 CrewAI 的 Agent 和 Task 机制,可以灵活定制摘要流程和使用的 LLM 模型。
  • MCP 协议支持: 通过标准的 MCP 协议与客户端通信,易于集成到支持 MCP 协议的 LLM 应用中。
  • 使用 YAML 配置文件: Agent 和 Task 的配置信息通过 'agents.yaml' 和 'tasks.yaml' 文件进行管理,方便用户自定义和扩展。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.10 或 3.11 (推荐使用 uv 或 pip + venv 进行包管理)。
    • 安装 git。
  2. 克隆仓库:

    git clone https://github.com/matheus896/crewai-mcp.git
    cd crewai-mcp/summarizer_server
  3. 创建并激活虚拟环境 (推荐):

    # 使用 venv
    python -m venv .venv
    source .venv/bin/activate   # Linux/macOS
    .\.venv\Scripts\activate  # Windows
  4. 安装依赖:

    # 使用 uv (推荐)
    uv pip install -e .
    
    # 或使用 pip
    pip install -e .
  5. 配置环境变量:

    • 在 'summarizer_server/' 目录下创建 '.env' 文件。
    • 根据你使用的 LLM 模型,在 '.env' 文件中配置 API 密钥。例如使用 Gemini 模型:
      GEMINI_API_KEY=YOUR_GEMINI_API_KEY
      如果使用 OpenAI 模型,则配置 'OPENAI_API_KEY' 和 'OPENAI_MODEL_NAME'。

服务器配置

对于 MCP 客户端 (如 Claude Desktop),需要配置 MCP 服务器的启动命令和参数。以下是使用 'uv' 和 'python' 两种方式启动服务器的配置示例,请根据你的实际情况选择其一,并添加到 MCP 客户端的配置文件中。请注意将 'cwd' 路径替换为你本地仓库 'summarizer_server' 目录的实际路径。

1. 使用 'uv' 启动 (推荐):

{
  "mcpServers": {
    "crewai-summarizer": {
      "command": "uv",
      "args": [
        "run",
        "run_crew"
      ],
      "cwd": "/path/to/crewai-mcp/summarizer_server"  // 替换为你的实际路径
    }
  }
}

配置说明:

  • '"server name"': 'crewai-summarizer' - 服务器名称,客户端用于标识和调用。
  • '"command"': '"uv"' - 启动服务器的命令,这里使用 'uv run' 运行 'pyproject.toml' 中定义的 'run_crew' 脚本。
  • '"args"': '["run", "run_crew"]' - 传递给 'uv' 命令的参数,执行 'run_crew' 脚本。
  • '"cwd"': '"/path/to/crewai-mcp/summarizer_server"' - 非常重要,指定命令执行的工作目录为 'summarizer_server' 目录,确保程序能找到依赖和配置文件。

2. 使用 'python' 启动:

{
  "mcpServers": {
    "crewai-summarizer": {
      "command": "python",
      "args": [
        "-m",
        "summarizer_server.main"
      ],
      "cwd": "/path/to/crewai-mcp/summarizer_server"  // 替换为你的实际路径
    }
  }
}

配置说明:

  • '"server name"': 'crewai-summarizer' - 服务器名称。
  • '"command"': '"python"' - 启动服务器的命令,直接使用 python 解释器。
  • '"args"': '["-m", "summarizer_server.main"]' - 传递给 'python' 命令的参数,'-m' 参数用于运行模块 'summarizer_server.main'。
  • '"cwd"': '"/path/to/crewai-mcp/summarizer_server"' - 非常重要,指定工作目录。

基本使用方法

  1. 启动服务器: 按照上述服务器配置,在 MCP 客户端中配置并启动 'crewai-summarizer' 服务器。

  2. 调用 'summarize' 工具: 在 MCP 客户端中,可以使用类似以下的 JSON-RPC 请求来调用 'summarize' 工具进行文本摘要:

    {
      "jsonrpc": "2.0",
      "method": "call",
      "params": {
        "tool_name": "summarize",
        "input": {
          "text": "Your long text to be summarized...",
          "length": "medium" // 可选值: "short", "medium", "long", 默认为 "medium"
        }
      },
      "id": "1"
    }
    • 将 '"Your long text to be summarized..."' 替换为你要摘要的文本内容。
    • 根据需要选择 '"length"' 参数的值。
  3. 接收摘要结果: 服务器将返回 JSON-RPC 响应,其中包含摘要后的文本内容。

信息

分类

AI与计算