基于多个图像 API 的搜索服务和图标生成功能,特别设计用于与 Cursor MCP 服务集成。支持图像搜索、下载以及 AI 生成图标。

此工具通过 MCP(模型控制协议)为 Cursor IDE 提供图像搜索和图标生成功能:
用户 (在Cursor中) → 向Claude/大模型提问 → 大模型调用MCP工具 → 工具处理请求 → 返回结果 → 大模型展示结果
例如,您可以在 Cursor 中向 Claude 提问:“帮我找到五张关于太空的照片”,Claude 将通过 MCP 工具搜索并显示这些照片,之后您可以进一步请求下载或生成特定图标。
# macOS 安装 pyenv
brew install pyenv
# 安装 Python
pyenv install 3.13.2
pyenv global 3.13.2
uv 是一个快速的 Python 包管理工具,需要先安装:
# macOS 安装 uv
brew install uv
# 或者使用 pip 安装
pip install uv
git clone https://github.com/yanjunz/mcp_search_images.git
python3 -m pip install fastmcp requests
如果遇到证书问题,可以使用:
python3 -m pip install fastmcp requests --trusted-host pypi.org --trusted-host files.pythonhosted.org --upgrade --force-reinstall --no-cache-dir
从模板文件复制配置文件:
# 复制模板文件作为配置文件
cp config.json.template config.json
# 编辑配置文件,设置 API 密钥
nano config.json # 或使用其他编辑器
在 config.json 中修改以下配置:
{
"api": {
"unsplash_access_key": "你的Unsplash访问密钥",
"pexels_api_key": "你的Pexels API密钥",
"pixabay_api_key": "你的Pixabay API密钥",
"together_api_key": "你的Together API密钥",
"timeout": 30,
"max_retries": 3,
"retry_delay": 5
},
// ...其他配置...
}
注意确保不要将包含 API 密钥的配置文件提交到版本控制系统。 在项目
.gitignore文件中配置忽略config.json,但保留config.json.template
这是最简单的方法,直接使用 Python 运行服务:
python3.11 main.py
服务启动后,会显示以下信息:
启动图片搜索服务 - 端口: 5173
提供的工具: search_images, download_image, generate_icon
INFO: Started server process [xxxxx]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5173 (Press CTRL+C to quit)
如果您已安装 fastmcp 包,也可以使用 fastmcp 命令来运行:
fastmcp dev main.py
fastmcp run main.py
PORT=5174 fastmcp dev main.py
如果您使用 uv 作为包管理工具:
uv run --with fastmcp fastmcp run main.py
或者在开发模式下:
uv run --with fastmcp fastmcp dev main.py
为了更好地理解和解决连接问题,这里提供了 Cursor 如何与 MCP 服务交互的基本工作原理:
MCP 服务启动过程
python3.11 main.py 时,服务初始化并创建一个 SSE(服务器发送事件)应用程序/sse 路径上正确处理 SSE 请求Cursor 连接过程
诊断连接问题
lsof -i :5173curl http://localhost:5173完整的测试过程
# 1. 停止任何可能正在运行的服务
pkill -f "python.*main.py"
# 2. 启动服务(在前台运行以查看日志)
python3.11 main.py
# 3. 在新的终端窗口中,测试连接
curl http://localhost:5173
# 4. 测试 SSE 端点(用于 ServerLink 方式)
curl http://localhost:5173/sse
# 5. 在 Cursor 中添加 MCP 工具并测试
如果按照上述步骤连接仍然失败,您可能需要检查 Python 版本兼容性或确保依赖项正确安装。有时重新安装依赖项也可能有帮助:
python3.11 -m pip uninstall fastmcp mcp uvicorn starlette -y
python3.11 -m pip install fastmcp mcp uvicorn starlette
确保服务正在运行
# 直接运行 Python 脚本
python3.11 main.py
服务启动后,会显示以下信息:
启动图片搜索服务 - 端口: 5173
提供的工具: search_images, download_image, generate_icon
INFO: Started server process [xxxxx]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:5173 (Press CTRL+C to quit)
在 Cursor 中添加 MCP 服务:
替代配置方法 某些版本的 Cursor 可能需要 ServerLink 配置:
- 名称:Image Search Service
- 类型:sse
- ServerLink:http://localhost:5173/sse
- 点击“保存”
注意如果出现“无法创建客户端”的错误,请检查以下几点:
- 确认服务正在运行(通过
lsof -i :5173检查端口是否被监听- 尝试在浏览器中访问
http://localhost:5173测试连通性- 确保 URL 没有多余的斜杠或空格
- 对于 ServerLink 方式,确保使用正确的端点路径
/sse- 重启服务后再尝试添加
- 有时需要重启 Cursor IDE 以清除之前的连接缓存
开始使用 MCP 工具:
在开发过程中随时使用:
查看图标保存位置:
icons 文件夹中ls -la icons
您可以直接向大模型描述需求:
搜索关键词为"技术"的图片
或者更具体的描述:
请在 Unsplash 上搜索 5 张关于"人工智能"的图片
当大模型显示搜索结果时,您可以请求下载特定图像:
下载第 2 张图片并保存为 tech-icon.png
或者指定保存路径:
将第 3 张图片下载到 /Users/username/Desktop/,文件名为 ai-image.jpg
您可以提供详细的描述来生成符合要求的图标:
生成一个蓝色科技风格的图标,保存为 blue-tech.png
或者更详细的描述:
请创建一个扁平化设计的邮件图标,红色轮廓,白色背景,图标尺寸为 256x256,保存为 email-icon.png
查看 示例对话 学习如何在实际使用中与 Claude/大模型互动以搜索和生成图标。
在项目初期阶段批量生成图标:
开发过程中按需搜索:
项目完成阶段定制图标:
category-name-size.png如果您在 Cursor 中添加 MCP 服务时遇到“无法创建客户端”的错误,请尝试以下解决方案:
检查服务状态
# 检查服务是否正在运行
lsof -i :5173
# 如果没有输出,表示服务未运行,请启动服务
python3.11 main.py
测试连接
# 使用 curl 测试 API 连接
curl -v http://localhost:5173
修改连接设置
http://127.0.0.1:5173http://localhost:5173 而不是 http://localhost:5173/重启组件
检查日志
尝试其他端口
uvicorn.run(sse_app, host="0.0.0.0", port=5174)
如果您遇到任何问题,请检查:
欢迎提交问题和拉取请求以改进项目。