- MCP Pixabay Server
MCP Pixabay Server
MCP Pixabay Server
基于 MCP (Model Context Protocol) 的 Pixabay API 接口服务器,让 AI 模型可以搜索和获取 Pixabay 平台的图片和视频资源。
功能特性
- 完全符合 MCP 协议规范的服务器实现
- 提供两个核心工具:
search_images- 搜索 Pixabay 图片资源search_videos- 搜索 Pixabay 视频资源
- 支持丰富的搜索参数:关键词、图片/视频类型、方向、类别、颜色等
- 返回完整的资源元数据(URL、分辨率、标签等)
- 支持通过环境变量配置 API 密钥
安装
全局安装
npm install -g @sadais/mcp-pixabay-server
项目依赖安装
npm install @sadais/mcp-pixabay-server --save
配置
服务器需要 Pixabay API 密钥才能正常工作。您可以通过环境变量设置它:
export PIXABAY_API_KEY=your_api_key_here
如果您没有 Pixabay API 密钥,可以在 Pixabay API 文档 页面注册并获取。
使用方法
作为命令行工具
# 启动 MCP 服务器
mcp-pixabay-server
与 AI 模型集成
本服务器可以与支持 MCP 协议的 AI 模型(如 Claude)集成使用:
- 启动 MCP 服务器
- 配置 AI 模型使用此 MCP 服务
在使用 Claude Opus 的 Cursor 或 Anthropic Console 等环境中,您可以通过配置 mcp.json 文件来集成此服务:
"pixabay": {
"command": "npx",
"args": ["-y", "@sadais/mcp-pixabay-server"],
"env": {
"PIXABAY_API_KEY": "your_api_key_here"
}
}
将以上配置添加到您的 mcp.json 文件中,然后 AI 模型就能通过 MCP 协议调用 Pixabay 搜索功能。
API 参考
search_images
搜索 Pixabay 图片资源。
参数:
query(必填) - 搜索关键词image_type- 图片类型 ("all", "photo", "illustration", "vector")orientation- 图片方向 ("all", "horizontal", "vertical")category- 图片类别colors- 图片颜色safesearch- 安全搜索模式page- 页码per_page- 每页结果数量(3-200)
search_videos
搜索 Pixabay 视频资源。
参数:
query(必填) - 搜索关键词video_type- 视频类型 ("all", "film", "animation")category- 视频类别safesearch- 安全搜索模式page- 页码per_page- 每页结果数量(3-200)
开发指南
环境设置
# 克隆仓库
git clone https://github.com/sadais-org/mcp-pixabay-server.git
cd mcp-pixabay-server
# 安装依赖
npm install
# 构建项目
npm run build
# 开发模式(自动编译)
npm run watch
测试
我们使用 Vitest 进行测试。运行以下命令执行测试:
# 运行所有测试
npm test
# 观察模式运行测试
npm run test:watch
# 生成测试覆盖率报告
npm run test:coverage
代码质量
我们使用 ESLint 和 Prettier 来保证代码质量:
# 运行代码检查
npm run lint
# 自动修复代码问题
npm run lint:fix
提交规范
我们使用 Conventional Commits 规范来格式化提交信息。提交信息应遵循以下格式:
type(scope): subject
类型必须是以下之一:
feat: 新功能fix: Bug修复docs: 文档更新style: 代码风格变更(不影响功能)refactor: 代码重构perf: 性能改进test: 测试相关build: 构建系统或外部依赖项ci: CI配置和脚本chore: 其他修改revert: 回滚提交
调试
由于 MCP 服务器通过 stdio 进行通信,调试可能具有挑战性。推荐使用 MCP Inspector:
npm run inspector
Inspector 将提供一个 URL,让您可以在浏览器中访问调试工具。
贡献指南
我们欢迎并感谢任何形式的贡献!
Issue 规范
创建 Issue 时,请遵循以下规范:
- 使用清晰简洁的标题描述问题或功能
- 对于 Bug 报告:
- 描述问题的复现步骤
- 预期行为和实际行为
- 环境信息(操作系统、Node.js 版本等)
- 相关日志或截图
- 对于功能请求:
- 描述功能及其目的
- 预期的使用场景
- 实现建议(可选)
Pull Request 规范
提交 PR 时,请遵循以下规范:
- 创建一个描述性的分支名,如
feature/add-image-filters或fix/api-timeout - 确保代码通过所有测试和代码检查
- PR 标题应简洁明了地描述更改内容,并遵循 Conventional Commits 规范
- PR 描述中包含:
- 更改的详细说明
- 关联的 Issue 编号(如有)
- 测试方法(如适用)
- 代码风格保持一致
质量检查
每个 PR 必须满足以下质量要求:
- 通过所有自动化测试
- 通过所有代码检查(ESLint)
- 测试覆盖率不降低(目标覆盖率≥70%)
- 提交信息符合规范
开发流程
- Fork 仓库并克隆到本地
- 创建新分支进行开发
- 提交更改并推送到您的 Fork
- 创建 Pull Request 到主仓库
许可证
本项目基于 MIT 许可证开源 - 详见 LICENSE 文件