一个MCP(模型上下文协议)服务器,提供工具用于搜索和获取来自Openverse的公开许可图像。
npm install -g @mcp/openverse
或者从源码安装:
git clone https://github.com/yourusername/mcp-openverse.git
cd mcp-openverse
npm install
npm run build
npm link
添加到你的Claude Desktop配置中(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"openverse": {
"command": "npx",
"args": ["@mcp/openverse"]
}
}
}
或者如果本地安装:
{
"mcpServers": {
"openverse": {
"command": "node",
"args": ["/path/to/mcp-openverse/dist/index.js"]
}
}
}
search_images根据各种过滤器搜索公开许可的图像。
参数:
query(必需):搜索词page:页数(默认:1)page_size:每页结果数量(默认:20,最大:500)license:许可类型(by,by-sa,by-nc,by-nd,cc0等)license_type:commercial或modificationcreator:按创作者名称筛选source:按来源筛选(flickr,wikimedia,met等)extension:文件类型(jpg,png,gif,svg)aspect_ratio:tall,wide或squaresize:small,medium或largemature:是否包含成熟内容(默认:false)示例:
// 搜索具有商业许可的森林景观照片
{
"query": "forest landscape",
"page_size": 10,
"license_type": "commercial",
7"extension": "jpg",
"aspect_ratio": "wide"
}
get_image_details获取特定图像的详细信息。
参数:
image_id(必需):Openverse图像ID(UUID格式)get_related_images查找与特定图像相关的图像。
参数:
image_id(必需):要查找相关图像的图像IDpage:页数(默认:1)page_size:每页结果数量(默认:10)get_image_stats获取按来源分类的可用图像统计数据。
无需参数。
search_images_for_essay高级工具,用于查找插图以说明文章或文章。
参数:
essay_topic(必需):文章的主要主题/标题concepts(必需):要查找图像的关键概念数组style:photo,illustration或any(默认:any)max_images:返回的最大图像数量(默认:10)示例:
{
"essay_topic": "气候变化",
"concepts": ["全球变暖", "可再生能源", "碳排放"],
"style": "photo",
"max_images": 15
}
来自Openverse的所有图像都附有归属要求。API提供:
attribution:预格式化的归属文本license:许可代码(例如,'by-sa')license_url:许可链接creator:原始创作者/摄影师creator_url:创作者个人资料链接在使用图像时,请始终包含适当的归属。
Openverse API具有以下请求限制:
此MCP服务器当前使用匿名访问。如需更高的请求限制,请考虑实现OAuth认证。
npm install
npm run build
npm run dev
你可以使用MCP检查器测试服务器:
npx @modelcontextprotocol/inspector dist/index.js
// 使用search_images_for_essay工具
{
"essay_topic": "可持续建筑",
"concepts": ["绿色建筑", "太阳能板", "环保设计"],
"style": "photo",
"max_images": 10
}
// 使用search_images工具
{
"query": "山景日出",
"aspect_ratio": "wide",
"license_type": "commercial",
"extension": "jpg",
"size": "large",
"page_size": 20
}
MIT许可 - 详情见LICENSE文件。
欢迎贡献!请随意提交Pull Request。
设置DEBUG环境变量:
DEBUG=mcp:* npx @mcp/openverse