image-lab-mcp
Allows searching for images on Openverse and obtaining insertion URLs with attribution information.
Allows searching for images on Wikimedia Commons and obtaining insertion URLs with attribution information.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@image-lab-mcpsearch for a CC0 image of a forest and get attribution"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@0pvalencia/image-lab-mcp
MCP de imágenes: Openverse + Wikimedia Commons + atribución.
Cursor / Claude / VS Code
Local (recomendado si clonas el repo)
{
"mcpServers": {
"image-lab": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/image-lab-mcp/dist/cli.js"]
}
}
}Tras clonar: npm install && npm run build.
npx (sin clonar)
{
"mcpServers": {
"image-lab": {
"command": "npx",
"args": ["-y", "@0pvalencia/image-lab-mcp"]
}
}
}Si abres este repo en Cursor y usas
npx, hace faltanpm installen el proyecto para que el bin local exista. Sin eso,npxfalla conimage-lab-mcp: not foundy el MCP se queda cargando.
Related MCP server: Wikimedia-Search-Images
Install / run
npx -y @0pvalencia/image-lab-mcpLocal
npm install
npm run build
npm startTools
search_images— query →insertUrl+attributionformat_attribution
Usa insertUrl con insert_image de google-documents-mcp.
License
MIT
Available Tools
2 toolsformat_attributionFormatear atribuciónB
Arma una línea 'Fuente: …' para pie de figura.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| title | Yes | ||
| creator | No | ||
| license | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says it 'builds a line' without detailing how the parameters are combined, whether optional parameters affect the output, or any formatting rules. The output format is partially shown ('Fuente: …') but without explaining what replaces the ellipsis or how missing fields are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence, which is concise. However, it is under-specified for a tool with four parameters and no schema descriptions. It conveys the core action but omits necessary context, making it too sparse to be considered appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and zero schema description coverage, the description must carry all contextual information. It only mentions a generic output line and figure captions, but provides no details on parameter roles, required inputs, edge cases, or expected behavior. This is completely inadequate for a tool with four parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no information about the parameters (title, url, creator, license). It does not explain what each parameter contributes to the output or which are optional. The description completely fails to compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Arma una línea "Fuente: …" para pie de figura' (Builds a 'Source: …' line for figure captions). It uses a specific verb ('Arma') and resource ('línea Fuente'), and the purpose is distinct from the sibling tool search_images, which is for searching rather than formatting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context: for figure captions. It implies this tool should be used when an attribution line is needed for an image or figure. However, it does not explicitly state when not to use it or mention alternatives, though the sibling search_images is clearly a different operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_imagesBuscar imágenes libresA
Busca en Openverse y/o Wikimedia Commons. Devuelve insertUrl + attribution.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| sources | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals that the tool searches specific sources and returns insertUrl+attribution, but it does not mention whether it returns a list or single result, pagination behavior, error handling, or licensing details. This is adequate but incomplete transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences deliver the core message without any filler. Every word is useful: the search sources and the return data are stated clearly in a minimal structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete enough for a simple tool with no annotations and no output schema, as it states purpose and return format. However, it omits that the tool can return multiple results (based on limit) and does not mention any constraints or edge cases. This leaves some ambiguity for an agent invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description only partially compensates by naming the sources (Openverse/Commons). It does not explain the 'limit' or 'query' parameters, their defaults, or constraints. While parameter names are self-explanatory, the description adds no value for those fields, missing an opportunity to clarify expected behavior (e.g., that limit controls result count).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Busca' / search) and a resource ('Openverse y/o Wikimedia Commons'), clearly distinguishing it from the sibling tool 'format_attribution' (which likely formats attribution data). It also specifies the return value ('insertUrl + attribution'), making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding free images from Openverse/Commons, and the sibling 'format_attribution' suggests a complementary workflow, but it does not explicitly state when to use this tool over alternatives, nor does it mention any exclusions or prerequisites. There is clear context but no explicit alternatives or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.1- First observed
format_attribution - First observed
search_images
TDQS
Scored across 2 tools
The two tools have completely separate functions: one searches for images, the other formats attribution text. There is no overlap or ambiguity between them.
Both tool names follow the same verb_noun pattern: 'search_images' and 'format_attribution'. The structure is consistent and intuitive.
With only 2 tools, the server feels minimal. While the tools cover a specific workflow (search and attribute), the count is at the low end, making it borderline but not unreasonable for a narrow purpose.
The pair of tools covers a search-and-attribution workflow, but the server name 'image-lab' suggests broader image capabilities that are missing. There are no tools for downloading, processing, or managing images, leaving notable gaps if the server intends to be a full image lab.
Maintenance
Related MCP Connectors
MCP server for Qwen Image 3 AI image generation
MCP server for Flux AI image generation
Focused MCP server for OpenAI image/audio generation (v2.0.0). Wraps endpoints via HAPI CLI.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that enables searching and fetching openly-licensed images from Openverse with features like filtering by license type, getting image details, and finding essay-specific illustrations.528 npm18MIT
- AlicenseBqualityDmaintenanceThis MCP server enables AI assistants to search for images on Wikimedia Commons, providing detailed metadata and optional thumbnail combinations to assist AI models in visual comparisons.12Apache 2.0
- AlicenseAqualityDmaintenanceAn MCP server for searching and retrieving photos from Unsplash with proper attribution, designed for LLMs building content pages.326MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for searching and retrieving Creative-Commons-licensed images and audio from Openverse. Enables AI agents to query open media content.2 npmMIT