项目简介
'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' 文件进行管理,方便用户自定义和扩展。
安装步骤
-
环境准备:
- 确保已安装 Python 3.10 或 3.11 (推荐使用 uv 或 pip + venv 进行包管理)。
- 安装 git。
-
克隆仓库:
git clone https://github.com/matheus896/crewai-mcp.git cd crewai-mcp/summarizer_server -
创建并激活虚拟环境 (推荐):
# 使用 venv python -m venv .venv source .venv/bin/activate # Linux/macOS .\.venv\Scripts\activate # Windows -
安装依赖:
# 使用 uv (推荐) uv pip install -e . # 或使用 pip pip install -e . -
配置环境变量:
- 在 'summarizer_server/' 目录下创建 '.env' 文件。
- 根据你使用的 LLM 模型,在 '.env' 文件中配置 API 密钥。例如使用 Gemini 模型:
如果使用 OpenAI 模型,则配置 'OPENAI_API_KEY' 和 'OPENAI_MODEL_NAME'。GEMINI_API_KEY=YOUR_GEMINI_API_KEY
服务器配置
对于 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"' - 非常重要,指定工作目录。
基本使用方法
-
启动服务器: 按照上述服务器配置,在 MCP 客户端中配置并启动 'crewai-summarizer' 服务器。
-
调用 '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"' 参数的值。
-
接收摘要结果: 服务器将返回 JSON-RPC 响应,其中包含摘要后的文本内容。
信息
分类
AI与计算