Ship-ready MCP server for Gemini + Imagen diagram/plot generation. Runs on Claude, ChatGPT, VSCode Copilot, Cursor.
Project description
figurify-mcp
An MCP server that adds image generation to Claude, Cursor, VSCode Copilot, and any other MCP-compatible host that does not have native image generation.
Currently supports Google Gemini + Imagen. Support for other image-generation providers is on the roadmap.
Install
pip install figurify-mcp
You will need a Gemini API key — create one at aistudio.google.com/apikey.
Setup in your host
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"figurify": {
"command": "uvx",
"args": ["figurify-mcp"],
"env": { "GOOGLE_API_KEY": "your-key" }
}
}
}
Claude Code / Cursor
claude mcp add figurify -s user \
-e GOOGLE_API_KEY=$GOOGLE_API_KEY \
-- uvx figurify-mcp
VSCode Copilot
Create .vscode/mcp.json:
{
"servers": {
"figurify": {
"command": "uvx",
"args": ["figurify-mcp"],
"env": { "GOOGLE_API_KEY": "your-key" }
}
}
}
Restart the host. Ten tools become available automatically.
Tools
| Tool | What it does |
|---|---|
create_simple_diagram |
Prompt → image. One call. |
create_infographic |
Topic → styled poster (VLM designs layout, Imagen renders). |
create_methodology_diagram |
Academic paper figure with iterative critique. |
create_statistical_plot |
Tabular data → matplotlib chart. |
evaluate_diagram |
VLM-as-judge comparison of two diagrams. |
Five additional meta-tools help the host pick the right tool without loading
every schema upfront: search_tools, describe_tool, recommend_model,
estimate_cost, list_available_models.
All generation tools default to 1K resolution so images render inline without hitting the ~1 MB tool-result cap enforced by Claude.
Configuration
All environment variables are optional except GOOGLE_API_KEY.
| Variable | Default | Description |
|---|---|---|
GOOGLE_API_KEY |
required | Gemini + Imagen API key |
FIGURIFY_OUTPUT_DIR |
~/.figurify/outputs |
Where generated PNGs are saved |
FIGURIFY_VLM_MODEL |
auto-routed | Pin a specific Gemini text/vision model |
FIGURIFY_IMAGE_MODEL |
auto-routed | Pin a specific image-generation model |
FIGURIFY_MAX_METHODOLOGY_ITERATIONS |
4 |
Upper bound for the critique loop |
Transports
figurify-mcp # stdio (default)
figurify-mcp --transport http --host 0.0.0.0 --port 8765 # streamable HTTP
Stdio is what hosts like Claude Desktop use. HTTP is useful for remote deployments (ChatGPT Apps SDK, VSCode Copilot remote MCP).
Development
git clone https://github.com/genaimanoj/figurify-mcp
cd figurify-mcp
uv venv && source .venv/bin/activate
uv pip install -e '.[dev]'
cp .env.example .env # set GOOGLE_API_KEY
pytest -q
Issues, feature requests, and pull requests welcome at github.com/genaimanoj/figurify-mcp.
License
MIT · © 2026 Manoj Bhandari
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file figurify_mcp-0.2.2.tar.gz.
File metadata
- Download URL: figurify_mcp-0.2.2.tar.gz
- Upload date:
- Size: 33.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88441829699d55a5e52861f41de4f08e19c30e51a205f1bfd0ffa012d587f647
|
|
| MD5 |
9dfa150fe7e6674f1f1204c5758ee763
|
|
| BLAKE2b-256 |
1c2a8ec195b15b5e9c771d0c999032bbcf29957feef8b8e764b9b1a98f5f4e0f
|
Provenance
The following attestation bundles were made for figurify_mcp-0.2.2.tar.gz:
Publisher:
ci.yml on genaimanoj/figurify-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
figurify_mcp-0.2.2.tar.gz -
Subject digest:
88441829699d55a5e52861f41de4f08e19c30e51a205f1bfd0ffa012d587f647 - Sigstore transparency entry: 1323195926
- Sigstore integration time:
-
Permalink:
genaimanoj/figurify-mcp@78c91f1d9d6e438c5dd4f51a771379e0acba358f -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/genaimanoj
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@78c91f1d9d6e438c5dd4f51a771379e0acba358f -
Trigger Event:
push
-
Statement type:
File details
Details for the file figurify_mcp-0.2.2-py3-none-any.whl.
File metadata
- Download URL: figurify_mcp-0.2.2-py3-none-any.whl
- Upload date:
- Size: 34.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a6fb55b89d7470fe66d5c8290b0cec7d8046104c96bf95519e12c1ad0478534
|
|
| MD5 |
2fb2884e3071bcce40d1fc1ee92a9984
|
|
| BLAKE2b-256 |
5ac18766e141212ff94c113742cd42662c2df39919318df4c3403dd6054af47b
|
Provenance
The following attestation bundles were made for figurify_mcp-0.2.2-py3-none-any.whl:
Publisher:
ci.yml on genaimanoj/figurify-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
figurify_mcp-0.2.2-py3-none-any.whl -
Subject digest:
9a6fb55b89d7470fe66d5c8290b0cec7d8046104c96bf95519e12c1ad0478534 - Sigstore transparency entry: 1323196098
- Sigstore integration time:
-
Permalink:
genaimanoj/figurify-mcp@78c91f1d9d6e438c5dd4f51a771379e0acba358f -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/genaimanoj
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@78c91f1d9d6e438c5dd4f51a771379e0acba358f -
Trigger Event:
push
-
Statement type: