gimp-mcp
Controls GIMP (GNU Image Manipulation Program) through MCP, enabling AI assistants to inspect, edit, and export images, call PDB procedures, manage layers, and perform batch operations.
Click on "Install 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., "@gimp-mcpresize current image to 800 pixels wide"
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.
GIMP MCP Server
Control GIMP from Claude Desktop, Codex, Cursor, and other Model Context Protocol clients. This project provides a local MCP server and a GIMP 3.x Python plug-in that expose GIMP automation through a secure Unix socket, including Procedure Database discovery, image export, canvas snapshots, context inspection, and batch operations.
Keywords: GIMP MCP, GIMP Model Context Protocol, Claude GIMP, Codex GIMP, AI image editing, GIMP automation, GIMP Python plug-in, GIMP PDB, MCP server.
Why This Exists
GIMP has a powerful Python and Procedure Database API, but it is not easy for AI assistants to use directly. GIMP MCP bridges that gap:
Ask an AI assistant to inspect or edit images in GIMP.
Search and call GIMP PDB procedures from MCP tools.
Capture the current canvas as MCP image content for visual verification.
Run repeatable image workflows without clicking through the GIMP UI.
Keep automation local by default with a user-owned Unix socket.
The normal MCP path auto-starts a private headless GIMP bridge, so users do not
need to open GIMP or click Filters > Development.
Related MCP server: GIMP MCP
Features
GIMP 3.x automation through MCP
PDB search, describe, and call for broad GIMP feature coverage
MCP image capture with optional crop and max-size scaling
Open image and layer inspection
First-class layer tools for listing and updating layer properties
Friendly drawing tools for rectangles, ellipses, text, and polylines
Foreground/background, brush, font, opacity, antialias, and feather state
File open/export helpers for PNG, JPEG, WebP, TIFF, GIF, BMP, and XCF
Batch bridge operations
Headless auto-start for production-style automation
Manual visible-GIMP bridge for debugging interactive sessions
macOS-friendly installer for
/Applications/GIMP.app
Requirements
GIMP 3.x installed locally
Python 3.11+
An MCP-compatible client such as Codex, Claude Desktop, Cursor, or another stdio MCP client
This repo defaults to macOS and /Applications/GIMP.app. The bridge itself is
Python/GIMP based and can be adapted for Linux by installing the plug-in into
the relevant GIMP profile directory.
Quick Start
git clone https://github.com/abelduarte/gimp-mcp.git
cd gimp-mcp
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -e .
./scripts/install_bridge.sh
./scripts/smoke_test.shIf GIMP is not installed at /Applications/GIMP.app:
GIMP_APP=/path/to/GIMP.app ./scripts/install_bridge.sh
GIMP_APP=/path/to/GIMP.app ./scripts/smoke_test.shMCP Client Configuration
Use the wrapper script as your MCP server command:
/absolute/path/to/gimp-mcp/scripts/run_mcp_server.shThe wrapper starts the stdio MCP server and automatically launches a private headless GIMP bridge if one is not already running.
Codex
Add this to your Codex MCP config:
[mcp_servers.gimp]
command = "/absolute/path/to/gimp-mcp/scripts/run_mcp_server.sh"Claude Desktop
Add this to your Claude Desktop config:
{
"mcpServers": {
"gimp": {
"command": "/absolute/path/to/gimp-mcp/scripts/run_mcp_server.sh"
}
}
}Project-local MCP discovery
The repository includes .mcp.json for clients that support project-local MCP
server discovery.
How It Works
There are two pieces:
gimp_mcp.server: the stdio MCP server used by the AI client.bridge/gimp_mcp_bridge.py: a GIMP Python plug-in that runs inside GIMP and exposes a JSON bridge over a local Unix socket.
Default socket:
/tmp/gimp-mcp-$USER.sockThe socket is created with 0600 permissions. Anyone who can connect to it can
drive the GIMP process, so do not expose it to untrusted users.
Available Tools
gimp.status: check bridge healthgimp.get_info: inspect GIMP version, directories, session, platform, and PDBgimp.get_context_state: inspect colors, brush, opacity, font, antialias, and feathergimp.get_image_bitmap: return a GIMP image as MCP image contentgimp.list_images: list open images and layer treesgimp.get_image: inspect one image by IDgimp.list_layers: list layers for one imagegimp.set_layer_properties: rename layers or update visibility, opacity, and blend modegimp.procedure.search: search GIMP's Procedure Databasegimp.procedure.describe: inspect procedure arguments and return valuesgimp.procedure.call: call a GIMP PDB proceduregimp.open: open an image filegimp.export: export an image filegimp.fill_rect: fill a rectangle on a drawablegimp.fill_ellipse: fill an ellipse on a drawablegimp.add_text: create a text layergimp.draw_polyline: draw deterministic pixel polylinesgimp.batch: run bridge operations in sequence
Example PDB Call
Search before calling:
{
"query": "image-resize",
"limit": 10
}Then call the procedure with exact PDB argument names:
{
"name": "gimp-image-resize",
"args": {
"image": { "id": 1, "type": "image" },
"new-width": 1920,
"new-height": 1080,
"offx": 0,
"offy": 0
}
}Visual Verification
Use gimp.get_image_bitmap to let the AI client see the current GIMP image:
{
"image_id": 1,
"max_width": 1024,
"max_height": 1024
}Crop a region for faster iteration:
{
"image_id": 1,
"region": {
"origin_x": 100,
"origin_y": 100,
"width": 400,
"height": 300
},
"max_width": 800,
"max_height": 600
}Manual Visible-GIMP Mode
For normal automation, use scripts/run_mcp_server.sh. It auto-starts a
headless bridge.
For debugging against the visible GIMP app:
Open GIMP.
Run
Filters > Development > Start MCP Bridge.Start your MCP client with the same
GIMP_MCP_SOCKET.
This manual menu is a debug fallback, not the recommended production path.
Development
Run the smoke test:
./scripts/smoke_test.shRun full local diagnostics:
./scripts/doctor.shCompile-check the Python files:
python3 -m py_compile src/gimp_mcp/server.py bridge/gimp_mcp_bridge.pyInstall the bridge after editing it:
./scripts/install_bridge.shExamples
Generated examples are in examples/generated/, including:
horse-from-gimp-mcp.pngbar-chart-from-gimp-mcp.pngshapes-text-demo.png
Security
GIMP MCP is a local automation bridge. Treat access to the Unix socket as access to the running GIMP process.
Do not expose the socket to untrusted users.
Do not run the bridge as root.
Prefer the default Unix socket transport over TCP.
Review
SECURITY.mdbefore enabling any future raw Python execution feature.
License
MIT. See LICENSE.
Available Tools
18 toolsgimp.add_textC
Create a text layer in an image.
| Name | Required | Description | Default |
|---|---|---|---|
| image_id | Yes | ||
| drawable_id | No | Optional drawable for floating text selection; omit for a new text layer. | |
| text | Yes | ||
| x | Yes | ||
| y | Yes | ||
| size | No | ||
| font | No | Sans-serif | |
| color | No | CSS color string, [r,g,b], [r,g,b,a], or {r,g,b,a}. | |
| border | No | ||
| antialias | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description does not disclose any behavioral traits (e.g., mutability, side effects, error behavior). It fails to inform the agent about what happens when creating a text layer.
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 sentence with no waste, but it lacks necessary detail. Conciseness here compromises completeness.
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 10 parameters, no output schema, and no annotations, the description is woefully incomplete. It does not explain return values, how the text layer is created, or how parameters interact.
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?
The schema description coverage is only 20%, yet the tool description adds no parameter meanings. Most parameters are left unexplained, which is insufficient for an agent to invoke correctly.
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 uses a specific verb 'Create' and resource 'text layer' with context 'in an image', clearly distinguishing it from sibling tools like gimp.fill_rect or gimp.draw_polyline.
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?
No guidance on when to use this tool versus alternatives, or any prerequisites. The description is too minimal to provide usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.batchA
Run a list of bridge operations in order. Stops at the first failing operation.
| Name | Required | Description | Default |
|---|---|---|---|
| operations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and discloses the stop-on-failure behavior and order of execution. However, it does not detail side effects, atomicity, or error handling beyond stopping, which are relevant for a batch tool.
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 extremely concise with two sentences, front-loading the key information about execution order and failure behavior with no superfluous text.
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?
Given the lack of output schema, the description omits return values or success indicators. It does not explain how to construct operations (e.g., using procedure.call), which is necessary given the many sibling tools. Adequate only for basic understanding.
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 does not explain parameter details such as what constitutes a valid 'bridge operation' or how to specify method and params. It adds little value beyond the schema's structural definition.
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 runs a list of bridge operations in order, which is a specific verb and resource. It distinguishes from sibling tools that are individual operations, as batch is a composite executor.
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 executing multiple operations sequentially, but lacks explicit guidance on when to use batch vs individual sibling tools or when not to use it. No mention of prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.draw_polylineC
Draw a deterministic pixel polyline on a drawable.
| Name | Required | Description | Default |
|---|---|---|---|
| drawable_id | Yes | ||
| points | Yes | ||
| color | No | CSS color string, [r,g,b], [r,g,b,a], or {r,g,b,a}. | |
| brush_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'deterministic pixel polyline', hinting at pixel-level output and determinism. However, no annotations are provided, and the description does not disclose side effects, performance, or other behavioral traits beyond this minimal clue.
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 concise with one short sentence, but it is not front-loaded with key details. It could be restructured to include more critical information without sacrificing brevity.
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?
Given the tool has 4 parameters (2 required) and no output schema, the description is insufficiently complete. It does not explain drawable_id, points format, color handling, or brush_size effects, leaving the agent with many unknowns.
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?
The description adds no information about the parameters. Schema coverage is low (25% only on 'color'), and the description does not explain any parameter semantics, such as the structure of 'points' or the effect of 'brush_size'.
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 draws a polyline on a drawable, using the verb 'Draw' and specifying 'pixel polyline'. It is distinct from siblings like fill operations, but could further differentiate by mentioning it connects lines between points.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or conditions for using draw_polyline compared to other drawing or procedural tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.exportB
Export an image to a file. The bridge chooses a file-* export procedure from the extension unless procedure is supplied.
| Name | Required | Description | Default |
|---|---|---|---|
| image_id | Yes | ||
| path | Yes | Absolute export path. | |
| procedure | No | Optional explicit PDB export procedure. | |
| options | No | Additional procedure-specific properties. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose side effects such as overwrite behavior, required permissions, or error handling. For a write operation, this is insufficient.
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 sentences with no waste. The key information is front-loaded, though it could beneficially add a sentence on return value or error behavior.
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?
No output schema exists, and the description omits prerequisites, return values, and error scenarios. For a tool with an optional complex parameter (options), more context is needed.
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?
The schema covers 75% of parameters with descriptions. The tool description adds context for 'procedure' (bridge chooses if omitted) and 'options' (procedure-specific properties), but 'image_id' remains undocumented.
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 'Export an image to a file', a specific verb and resource. It also notes automatic procedure selection unless supplied, distinguishing it from image import or batch operations.
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 exporting single images and mentions the optional procedure parameter, but lacks explicit guidance on when not to use it or how it compares to sibling tools like batch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.fill_ellipseC
Fill an elliptical region on a drawable using the foreground color.
| Name | Required | Description | Default |
|---|---|---|---|
| image_id | Yes | ||
| drawable_id | Yes | ||
| x | Yes | ||
| y | Yes | ||
| width | Yes | ||
| height | Yes | ||
| color | No | CSS color string, [r,g,b], [r,g,b,a], or {r,g,b,a}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims to use 'the foreground color', but the input schema includes a color parameter, creating confusion about whether the foreground is used by default or overridden. No annotations are provided, and behavioral traits like undo behavior, permissions, or drawable expectations are not disclosed.
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 sentence with no wasted words. It is front-loaded and gets to the point quickly. However, it is slightly under-specified, which prevents a top score.
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?
For a tool with seven parameters, no output schema, and no annotations, the description is too minimal. It does not explain the coordinate system, units, or the interplay between the foreground color and the color parameter. More contextual detail is necessary for correct invocation.
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 very low (14%) with only a basic description for the color parameter. The description fails to add meaning for the other six parameters (image_id, drawable_id, x, y, width, height), leaving the agent to infer their roles without sufficient context.
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 uses a specific verb 'fill' and resource 'elliptical region on a drawable', clearly distinguishing it from sibling tools like gimp.fill_rect (rectangle) and gimp.draw_polyline (polyline). It states the action and the object unambiguously.
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?
No guidance is provided on when to use this tool versus alternatives, nor are any prerequisites or exclusions mentioned. The description only states what it does, not when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.fill_rectC
Fill a rectangular region on a drawable using the foreground color.
| Name | Required | Description | Default |
|---|---|---|---|
| image_id | Yes | ||
| drawable_id | Yes | ||
| x | Yes | ||
| y | Yes | ||
| width | Yes | ||
| height | Yes | ||
| color | No | CSS color string, [r,g,b], [r,g,b,a], or {r,g,b,a}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must disclose behavioral traits. It only says 'fill', but does not explain whether this modifies the drawable in place, overwrites existing pixels, creates a new layer, or requires undo steps. The mutability is implied but not detailed.
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 sentence with no extraneous words, but it is too brief given the tool's complexity (7 parameters). It could be slightly expanded without losing conciseness.
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?
For a tool with 7 parameters, no output schema, and only 14% schema description coverage, the description is incomplete. It lacks return value information, side effects, and clarity on required parameter semantics beyond the basic action.
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 14% (only 'color' has a description). The tool description adds 'foreground color' context, which is not in the schema, but it doesn't explain other parameters like image_id, drawable_id, coordinates, or dimensions. The color parameter description in the schema is detailed, but overall parameter semantics are weak.
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 action (fill), the target (rectangular region on a drawable), and the method (using foreground color). It distinguishes from the sibling 'gimp.fill_ellipse' by specifying rectangle shape. However, it could be more precise about the source of foreground color.
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?
No guidance on when to use this tool vs alternatives like 'gimp.fill_ellipse' or 'gimp.set_layer_properties'. No prerequisites (e.g., drawable must exist, be active) or caveats (e.g., color mode limitations) are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.get_context_stateA
Get current GIMP context state such as foreground/background colors, brush, opacity, feather, antialias, and font.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It does not mention that the tool is read-only, whether it requires an active image, or what happens if no context state exists.
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, concise sentence that immediately communicates the tool's purpose and the data it provides, with no extraneous information.
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?
Although there is no output schema, the description sufficiently enumerates the expected return fields. However, it lacks details on format, defaults, or error scenarios, which would improve completeness.
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?
There are no parameters, and the schema is empty. The description adds value by listing the specific state fields returned, which is not encoded in the schema.
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 retrieves current GIMP context state and enumerates specific attributes (foreground/background colors, brush, opacity, feather, antialias, font), distinguishing it from sibling tools that perform actions or manipulate images.
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 the tool is for querying state but does not explicitly state when to use it versus alternatives (e.g., other getters) or provide any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.get_imageC
Inspect one open image by GIMP image ID.
| Name | Required | Description | Default |
|---|---|---|---|
| image_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavior. It says 'inspect' implying read-only, but does not confirm no side effects, permissions needed, or whether the image remains open. Minimal disclosure.
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 sentence, but it is too brief for the complexity of the tool. It lacks necessary details about output or usage, sacrificing completeness for brevity.
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 a vague description, the agent lacks essential context. The tool's return value, behavior, and constraints are entirely unspecified.
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?
The schema has one parameter (image_id) with no description. The description adds no meaning beyond the parameter name, and schema description coverage is 0%.
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 the tool inspects an open image by ID, but 'inspect' is vague and doesn't specify what information is returned (e.g., dimensions, properties). It does not differentiate from siblings like get_info or get_image_bitmap.
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?
No guidance on when to use this tool vs alternatives. There are many sibling tools (e.g., get_image_bitmap, list_images) but no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.get_image_bitmapB
Return a GIMP image as MCP image content with optional max-size scaling and region extraction.
| Name | Required | Description | Default |
|---|---|---|---|
| image_id | No | Optional image ID. Defaults to the first open image. | |
| max_width | No | Optional maximum output width. | |
| max_height | No | Optional maximum output height. | |
| region | No | Optional crop region before scaling. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior but fails to mention default behavior for image_id (first open image), what happens if no region is specified, or the output format (e.g., PNG). It does not state if the operation is destructive or requires permissions.
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, well-structured sentence of 16 words. It front-loads the key action and optional features without redundancy.
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 tool has 0 required parameters and a complex optional region object, yet the description omits default behavior for max_width/max_height (unbounded?), the exact return format (MCP image content is vague), and potential error cases. An output schema is absent, so the description should clarify what the agent receives.
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 coverage is 100%, but the description adds minimal value beyond the schema. The region subparameters ('origin_x', 'x', etc.) are not explained, leaving ambiguity. Baseline 3 is appropriate as the schema provides basic descriptions, but the tool's complexity demands more.
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 action ('Return'), the resource ('GIMP image as MCP image content'), and optional features ('max-size scaling and region extraction'). This differentiates it from siblings like gimp.get_image, which likely returns metadata or raw data.
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?
No guidance is provided on when to use this tool versus alternatives (e.g., gimp.get_image or gimp.export). The description gives no context for choosing scaling or region extraction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.get_infoA
Get GIMP version, directories, session details, platform information, and PDB health checks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It does not mention whether the tool is read-only, if it has side effects, or if it requires authentication. The description only lists what information is retrieved, omitting important behavioral context.
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 sentence that efficiently lists all the information categories. It is front-loaded with the verb 'Get' and contains no extraneous words.
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?
For a simple information retrieval tool with no parameters and no output schema, the description is mostly complete. It lists all the categories of information returned. However, it could benefit from mentioning the return format (e.g., JSON object) to fully inform the agent.
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?
The tool has zero parameters, so the description cannot add meaning beyond the schema. However, it does enumerate the categories of information returned, which helps clarify what to expect. Baseline for 0 parameters is 4, and the description meets that.
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 that the tool retrieves GIMP version, directories, session details, platform information, and PDB health checks. It uses a specific verb ('Get') and distinguishes itself from sibling tools like gimp.get_context_state and gimp.status by listing the specific information categories.
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 provides no guidance on when to use this tool versus alternatives such as gimp.get_context_state or gimp.status. There is no mention of when to use it or when not to, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.list_imagesA
List open images, dimensions, layers, channels, and selected drawables.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read-only listing operation but does not explicitly confirm no side effects or disclose any behavioral constraints beyond what is implied.
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 clear sentence with no wasted words, efficiently conveying the tool's purpose.
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?
Given no parameters and no output schema, the description covers the main functionality but lacks detail on output format or structure.
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?
With zero parameters, the description carries full burden and adds meaningful context about what is listed, earning a baseline 4.
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 lists open images and specific details (dimensions, layers, channels, selected drawables), distinguishing it from sibling tools like gimp.list_layers.
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?
No explicit guidance on when to use versus alternatives is provided, but the description implies it is for listing all open images, contrasting with more specific list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.list_layersB
List layers for an image with IDs, names, visibility, opacity, dimensions, and offsets.
| Name | Required | Description | Default |
|---|---|---|---|
| image_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must cover behavioral traits. It lists the returned information, implying a read-only operation, but does not mention error conditions (e.g., invalid image_id), side effects, or performance considerations. It adds some value but leaves gaps.
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 with no redundant information. Every word serves a purpose, and it is easy to parse quickly.
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?
Given the tool has one parameter and no output schema, the description does a good job specifying what output fields to expect (IDs, names, visibility, opacity, dimensions, offsets). However, it does not specify the output structure (e.g., a list of objects) or ordering, which would improve completeness.
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%, so the description should explain the parameter 'image_id'. However, it only implies its purpose through context ('for an image') without explicit clarification. The description does not add significant meaning beyond the schema.
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 lists layers for an image and enumerates the returned fields (IDs, names, visibility, opacity, dimensions, offsets). The verb and resource are specific, though it does not explicitly distinguish from siblings like 'gimp.get_image' or 'gimp.set_layer_properties'.
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?
No guidance is provided on when to use this tool versus alternatives (e.g., 'gimp.get_image' for a single image, 'gimp.list_images' for all images). There is no mention of prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.openB
Open an image file in GIMP through the file load PDB procedure.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to open. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should provide behavioral context. It only mentions 'file load PDB procedure' which is technical and doesn't disclose side effects, error conditions, or what happens to the GIMP session.
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?
Single sentence, direct, no redundant information. Perfectly concise.
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?
For a simple one-parameter tool, the description is sufficient to understand the basic action, but lacks details on return values or behavior when the file doesn't exist. Could be more complete.
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 coverage is 100% with a clear description for 'path'. The tool description adds no further meaning, so baseline 3 is appropriate.
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 opens an image file in GIMP using a specific procedure. Among siblings like gimp.add_text or gimp.export, this is the only tool for opening a file, so it distinguishes well.
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?
No guidance on when to use versus alternatives, no prerequisites or exclusions mentioned. An agent would need to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.procedure.callA
Call a GIMP PDB procedure. Use describe first; pass object arguments as {"id": 123} or typed refs.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| args | No | Property names to values for the procedure config. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description bears full burden but only states 'Call a GIMP PDB procedure' without detailing side effects, permissions, or error conditions, leaving behavioral traits unclear.
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 efficient sentences with front-loaded purpose and zero waste; every clause adds value.
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?
Given no output schema and two parameters, description covers usage flow and argument format but lacks return value and error context; adequate but not comprehensive.
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 coverage is 50%; description adds format guidance for 'args' but not for 'name'. It clarifies how to structure object arguments beyond the schema's minimal description.
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?
Description clearly states the verb 'call' and resource 'GIMP PDB procedure', distinguishing it from sibling tools like gimp.procedure.describe and gimp.procedure.search.
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?
Explicitly advises to 'Use describe first' and provides format guidance for arguments ('pass object arguments as {"id": 123} or typed refs'), aiding correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.procedure.describeB
Describe a PDB procedure's arguments and return values.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavior. It does not disclose whether the tool is read-only, what happens if the procedure name is invalid, whether it requires specific permissions, or any side effects. The name implies a query, but this is not explicit.
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?
Single sentence with no superfluous words. Could be slightly expanded for clarity without losing conciseness, but as is, it is efficient.
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?
Given the simple input (one string parameter) and no output schema, the description provides the basic purpose but lacks details on error handling, output format, or example usage. More context would help the agent understand what information is returned.
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 coverage is 0%, so the description must compensate. It adds meaning by indicating the 'name' parameter identifies a PDB procedure, but does not explicitly state this or provide further details like format or examples. The tool's purpose helps disambiguate, but more explicit documentation would improve clarity.
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?
Description clearly states verb 'Describe' and resource 'a PDB procedure', specifying that it covers both arguments and return values. This distinguishes it from siblings like gimp.procedure.call (execute) and gimp.procedure.search (find).
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?
No guidance on when to use this tool versus alternatives like gimp.procedure.call or gimp.procedure.search. No mention of prerequisites or scenarios, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.procedure.searchA
Search GIMP's Procedure Database by name/help text. This is the discovery entry point for most GIMP features.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Substring or regex fragment to match. | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions searching by name or help text, which is useful, but does not describe output format, pagination, case sensitivity, or whether regex is supported. The schema hints at regex, but the description itself is limited.
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 sentences with no superfluous words. The first states the action and criteria; the second adds context as an entry point. Every sentence serves a purpose.
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?
For a simple search tool with no output schema, the description is functional but incomplete. It lacks details about what the search returns (e.g., list of procedure names) and how to use results with sibling tools like gimp.procedure.describe. The limit parameter is also unexplained.
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 50%; only 'query' has a description. The tool description adds context for 'query' by noting it searches name/help text, but it does not explain 'limit' (default, range, or purpose). Thus it partially aids understanding but not fully.
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 verb 'Search' and the resource 'GIMP's Procedure Database', and specifies the criteria ('by name/help text'). It also positions itself as the discovery entry point, distinguishing it from sibling tools like gimp.procedure.describe or gimp.procedure.call.
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 indicates this tool is the entry point for discovering procedures, implying it should be used before describe or call. However, it does not explicitly state when not to use it or list alternatives, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.set_layer_propertiesB
Update a layer's name, visibility, opacity, or blend mode.
| Name | Required | Description | Default |
|---|---|---|---|
| layer_id | Yes | ||
| name | No | ||
| visible | No | ||
| opacity | No | ||
| mode | No | GIMP LayerMode enum name, e.g. NORMAL, MULTIPLY, SCREEN. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the action ('Update'). It omits behavioral traits like side effects (e.g., immediate image update), error conditions (invalid layer_id), or required state (image must be open).
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?
Single sentence, 12 words, front-loaded with the verb. No redundant or superfluous information. Every word contributes to the purpose.
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?
Given 5 parameters, one required, no output schema, and low schema coverage, the description is too brief. It does not mention that layer_id is required, nor does it explain the expected format for 'mode' beyond the enum example. The tool's completeness is insufficient for reliable use.
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 only 20% (only 'mode' has a description). The description lists the properties but adds no additional semantics beyond what the schema already provides (types, ranges). For example, it does not explain that opacity is a percentage or that visible affects the layer's visibility toggle.
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 purpose: updating layer properties (name, visibility, opacity, blend mode). It uses a specific verb ('Update') and resource ('layer's properties'), distinguishing it from siblings like add_text or draw_polyline.
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?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or exclusions (e.g., when not to use it). An agent would need to infer usage from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gimp.statusA
Check whether the GIMP bridge is alive and which GIMP/Python process is serving requests.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 accurately describes a read-only check without side effects, though it could explicitly state non-destructiveness.
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?
Single sentence, no wasted words, clearly front-loaded with the core action. Efficient and precise.
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?
For a parameterless health-check tool with no output schema, the description sufficiently explains what the agent needs to know: what it checks and what it returns (aliveness and process info).
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?
With zero parameters and 100% schema coverage, the description adds meaningful context by explaining the tool's function without needing parameter details. Baseline for 0 params is 4.
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 checks GIMP bridge aliveness and identifies the serving process. It is a specific health check, distinct from sibling tools that handle image manipulation or queries.
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 verifying bridge connectivity before other operations. No explicit when-not-to-use or alternatives are given, but the purpose is straightforward enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose. Even similar tools like fill_ellipse and fill_rect are differentiated by shape, and list_images vs get_image are different operations. The procedure.* tools are for PDB access and don't overlap with others.
All tool names follow a consistent `gimp.<verb>_<noun>` pattern, with compound verbs like `get_context_state`. The sub-namespace for procedure tools (`gimp.procedure.*`) is also consistent.
18 tools is well-scoped for a GIMP MCP server. It covers core image operations without being overwhelming, and the batch and procedure tools add flexibility without bloating the surface.
The tool set covers essential image operations (open, list, add text, draw shapes, fill, export, layer manipulation) and provides access to the entire GIMP PDB via `procedure.call`, making the surface effectively complete for any GIMP operation.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Edit images over MCP with object removal, background removal, and guided generative edits.
AI image, video, voice and music generation over MCP, routed to Veo 3.1, Seedance 2.0 and more.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server that bridges GIMP 3.0 with natural language commands, enabling conversational image editing through Claude Desktop and other MCP clients. Exposes GIMP's full PyGObject API for AI-powered image manipulation.192GPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables AI models and external applications to control GIMP remotely via the Model Context Protocol, allowing image manipulation and object querying through natural language.3MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to control GIMP 2.10 through its Script-Fu server, providing access to the entire GIMP procedure database with a vision feedback loop for iterative editing.6AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceBridges GIMP image editing with AI assistants via the Model Context Protocol, enabling visual feedback and 56 tools for autonomous image workflows.GPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/abelduarte/gimp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server