⚡ MCP CrewLink
一个强大的集成项目,将模型上下文协议(MCP)服务器与CrewAI代理连接起来,使AI助手具有增强的功能,包括图像生成、网络搜索和文件系统操作。
🚀 特性
- 图像生成:使用OpenAI的DALL-E 3模型创建高质量图像
- 网页搜索:使用Brave Search API执行web搜索
- 文件系统操作:读取、写入和管理指定目录中的文件
- AI代理集成:利用CrewAI进行智能任务执行和协调
- MCP协议:利用模型上下文协议实现无缝工具集成
📁 项目结构
project-root/
├── main.py # Main application entry point
├── servers/
│ └── image_server.py # Custom MCP server for image generation
├── images/ # Generated images output directory (auto-created)
├── requirements.txt # Python dependencies
├── .env # Environment variables (create this)
└── README.md # This file🛠️ 安装
先决条件
- Python 3.8+
- Node.js 16+
- npm或纱线
1.克隆存储库
git clone https://github.com/naakaarafr/MCP-CrewLink.git
cd MCP-CrewLink2.安装Python依赖项
pip install -r requirements.txt3.安装Node.js依赖项
该项目使用需要Node.js包的MCP服务器:
# Install MCP filesystem server
npm install -g @modelcontextprotocol/server-filesystem
# Install MCP Brave search server
npm install -g @modelcontextprotocol/server-brave-search4.环境设置
创建一个 .env 项目根目录中的文件,包含以下变量:
# OpenAI Configuration
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_ORGANIZATION=your_openai_organization_id_here
# Brave Search Configuration
BRAVE_API_KEY=your_brave_api_key_here🔑 API密钥设置
OpenAI API密钥
- 访问 OpenAI API平台
- 创建新的API密钥
- 将密钥复制到您的
.env文件
勇敢搜索API密钥
- 访问 勇敢搜索API
- 注册一个账户
- 生成API密钥
- 将密钥复制到您的
.env文件
🚀 用法
运行主应用程序
python main.py独立运行映像服务器
python servers/image_server.py🔧 组件
1.图像服务器(servers/image_server.py)
一个定制的MCP服务器,使用OpenAI的DALL-E 3提供图像生成功能。
特征:
- 高质量图像生成(1024x1024,高清质量)
- Base64图像处理
- 自动文件保存
- 错误处理和日志
使用示例:
# The server exposes the image_creation_openai tool
# Parameters: query (str), image_name (str)
# Returns: Dict with success status, file_path, and message2.主要应用(main.py)
协调MCP服务器和CrewAI代理之间的集成。
配置:
- 文件系统服务器:管理中的文件
/Users/tylerreed/Downloads - Brave搜索服务器:提供网络搜索功能
- iMage服务器:自定义图像生成服务器
代理配置:
- 角色:创作者
- 目标:使用MCP工具的AI创建者
- 能力:研究、图像创建、文件管理
📋 示例任务
该应用程序包括演示集成的示例任务:
- 研究任务:研究模型上下文协议并创建一个深入的图表
- 摘要任务:总结结果并保存到文本文件
🔄 工作流程
- 初始化:配置MCP服务器参数
- 代理设置:使用MCP工具创建CrewAI代理
- 任务定义:定义研究和创作任务
- 执行:运行机组人员执行任务
- 输出:生成图像、执行搜索和保存结果
🛡️ 错误处理
该项目包括全面的错误处理:
- 图像生成:捕获API错误和文件系统问题
- 服务器通信:处理MCP服务器连接问题
- 环境变量:验证所需的API密钥
📝 定制
添加新的MCP服务器
要添加其他MCP服务器,请执行以下操作:
- 在中定义服务器参数
main.py:
new_server_params = StdioServerParameters(
command="your_command",
args=["your", "args"],
env={"YOUR_ENV_VAR": os.getenv("YOUR_ENV_VAR")}
)- 初始化服务器连接
- 将工具添加到代理的工具列表中
修改图像生成
要自定义图像生成参数,请编辑 image_server.py:
result = client.images.generate(
model="dall-e-3",
prompt=f"Your custom prompt: {query}",
size="1024x1024", # Options: 1024x1024, 1792x1024, 1024x1792
quality="hd", # Options: standard, hd
response_format="b64_json"
)更改输出目录
更新 output_dir 变量in image_server.py:
output_dir = "your_custom_directory"🔍 故障排除
常见问题
- 缺少API密钥:确保设置了所有必需的环境变量
- 权限错误:检查输出目录的文件系统权限
- Node.js依赖关系:验证MCP服务器是否正确安装
- Python依赖关系:确保安装了所有必需的软件包
调试
通过设置启用详细日志记录:
agent = Agent(
# ... other parameters
verbose=True,
)📦 依赖项
Python包
crewai:AI代理框架mcp:模型上下文协议客户端openai:OpenAI API客户端httpx:HTTP客户端库pydantic:数据验证
Node.js包
@modelcontextprotocol/server-filesystem@modelcontextprotocol/server-brave-search
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🆘 支持
对于问题和疑问:
- 检查故障排除部分
- 审查MCP文件
- 在存储库中打开问题
🔗 相关资源
______________________________________________________________________
备注该项目旨在促进发展和教育。确保您遵守API的所有服务条款和使用限制。
