academic-figures-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OLLAMA_MODEL | No | Ollama model name | |
| GOOGLE_API_KEY | No | Google API key for Gemini image generation | |
| OPENAI_API_KEY | No | OpenAI API key for gpt-image-2 | |
| OLLAMA_BASE_URL | No | Base URL for Ollama server | |
| AFM_MANIFEST_DIR | No | Directory to store generation manifests (optional) | |
| AFM_IMAGE_PROVIDER | No | The image provider to use: google, openrouter, openai, ollama | |
| OPENROUTER_API_KEY | No | OpenRouter API key |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| plan_figureA | Plan the best figure type, route, and guardrails before generation. This tool returns a structured plan so an MCP host can decide whether to use direct image generation, SVG-style rendering, or deterministic chart routes. Provide either pmid or a generic source brief. Generic planning supports preprints, repositories, and freeform briefs by passing source_title plus optional source_summary and source_identifier. output_format: Optional final raster delivery type such as png, gif, jpeg, or webp. The planner stores this preference inside planned_payload for downstream rendering. expected_labels: Optional list of exact text labels (especially CJK) the figure must contain. Enables CJK text fidelity guardrails and model escalation. |
| generate_figureA | Generate a publication-ready visual asset. Single high-level entrypoint: callers may provide planned_payload directly, or pass a PMID / generic source brief and let the use case plan internally before rendering. output_format: Optional final raster delivery type such as png, gif, jpeg, or webp. MCP applies the conversion internally after generation when possible. figure_type: auto | flowchart | mechanism | comparison | infographic | anatomical | timeline | data_visualization |
| edit_figureA | Refine an academic figure using natural language feedback. output_format: Optional final raster delivery type such as png, gif, jpeg, or webp. Examples: "箭頭改紅色", "標題字大一點", "Add PMID in footer" |
| prepare_publication_imageA | Resize a raster image and write publication DPI metadata using code only. This tool never calls image-generation providers. To truly meet 600 DPI for final publication size, pass width_mm and/or height_mm. Without a final print size it preserves pixel dimensions and writes target_dpi metadata only. output_format: Optional raster delivery type: png, jpeg, or tiff. |
| evaluate_figureC | Evaluate an academic figure using the 8-domain quality checklist. Domains: text accuracy, anatomy, color, layout, scientific accuracy, legibility, visual polish, citation. |
| batch_generateA | Generate academic figures for multiple PMIDs in sequence. Batch mode validates the full PMID list up front and propagates language, output size, and output directory into every generation request. |
| composite_figureC | Composite multiple panel images into a publication-ready figure. |
| replay_manifestC | Replay a previously saved manifest using the same prompt. |
| record_host_reviewB | Record a host-side visual review back into a persisted manifest. Use this when Copilot or another host model inspects the generated image directly and needs to write its verdict back into the review harness. |
| retarget_journalA | Apply a new journal profile to an existing manifest and regenerate the figure. |
| list_manifestsA | List recent manifests for replay or retargeting. |
| get_manifest_detailA | Load one manifest with full review history and lineage context. |
| verify_figureA | Run the automated quality gate on a generated figure. Uses vision self-check to evaluate 8 quality domains and verify CJK text rendering accuracy. Returns pass/fail verdict, domain scores, and any missing or garbled labels. expected_labels: Exact text strings (e.g. CJK labels) the figure should contain. |
| multi_turn_editA | Iteratively refine a figure through a multi-turn editing session. Sends multiple editing instructions turn-by-turn to fix CJK labels, adjust layout, or improve details. Each turn builds on the previous result for precise iterative corrections. instructions: List of natural language editing instructions applied in order. Examples: ["修正標題為「急性冠心症處置流程」", "箭頭改紅色", "加大字體"] |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| plan_figure_request | Reusable planning prompt for a PMID-driven academic figure request. |
| transform_figure_request | Reusable prompt template for style conversion on an existing figure. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| inventory_resource | Server inventory for MCP hosts and agent discovery. |
| provider_capabilities_resource | Provider capability matrix for MCP hosts and extension discovery. |
| gemini_image_baseline_resource | Official Gemini image-generation defaults used by this repo. |
| renderer_ecosystem_resource | Tracked open-source renderer and editor ecosystem. |
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/u9401066/academic-figures-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server