Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

PaperBanana-CN

PYPI · PAPERBANANA-CN · SCANNED SEP 22

Generate and evaluate academic diagrams and plots with independent model connections.

Available components

0 this week 60 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security49
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 9 of 88 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency35
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • License check failed: the license (MIT License) isn't a recognized OSI-approved license. See how to fix → Fail
  • Actively maintained (last published 60 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability54
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 2502 tokens (~227/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
  • Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage79
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 25% of tool parameters carry a description.Partial
  • Structured output schemas are declared (73% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the PaperBanana-CN MCP server?

PaperBanana-CN runs locally as a PyPI package, launched with uvx paperbanana-cn. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · paperbanana-cn

# add to Claude Code
claude mcp add mituan-ai-paperbanana-cn -- uvx paperbanana-cn
// .cursor/mcp.json
{
  "mcpServers": {
    "mituan-ai-paperbanana-cn": {
      "command": "uvx",
      "args": [
        "paperbanana-cn"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "mituan-ai-paperbanana-cn": {
      "command": "uvx",
      "args": [
        "paperbanana-cn"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add mituan-ai-paperbanana-cn -- uvx paperbanana-cn
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mituan-ai-paperbanana-cn": {
      "type": "local",
      "command": [
        "uvx",
        "paperbanana-cn"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add mituan-ai-paperbanana-cn --command uvx --arg paperbanana-cn
# ~/.hermes/config.yaml
mcp_servers:
  mituan-ai-paperbanana-cn:
    command: "uvx"
    args: ["paperbanana-cn"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "mituan-ai-paperbanana-cn": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "paperbanana-cn"
      ]
    }
  }
}
# add to Vellum
assistant mcp add mituan-ai-paperbanana-cn -t stdio -c uvx -a paperbanana-cn
// mcp.json
{
  "mcpServers": {
    "mituan-ai-paperbanana-cn": {
      "command": "uvx",
      "args": [
        "paperbanana-cn"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 21 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 18 Sept 26 +2
    • Install scripts: partial → pass security
    • Stability: 0.97 → pass security
    • The scripts that run when this package is installed changed: build_backend security
  • 17 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 −1
    • Install scripts: pass → partial security
    • The scripts that run when this package is installed changed: build_backend security
  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 −15
    • Malware scan: pass → unverified security
  • 12 Sept 26 +12
    • Malware scan: unverified → pass security
    • Stability: pass → 0.80 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 22 Sept 2026 · Analysed pypi/paperbanana-cn@2.0.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 88 packages
Packages resolved 88
Stale 9
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 11 exposed · ~2,502 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
batch_diagrams ~239

Run methodology diagram batch from a manifest (YAML or JSON). Each manifest item needs ``input`` (text or PDF path) and ``caption``. Paths are resolved relative to the manifest file directory. Returns JSON with ``batch_dir``, ``batch_report_path``, per-item summary, ``composite_path`` when configured, and ``strict_success`` (false if any item failed).

NameTypeReqDescription
autoboolean
auto_download_databoolean
concurrencyinteger
config
formatstring
image_connection
image_model
image_provider
iterations
legacy_connectionsboolean
manifest_pathstringyes
max_iterations
max_retriesinteger
optimizeboolean
output_dirstring
resume_batch
retry_failedboolean
save_prompts
venue
vlm_connection
vlm_model
vlm_provider
NameTypeReqDescription
resultstringyes

No examples provided.

batch_plots ~229

Run statistical plot batch from a manifest (YAML or JSON). Each item needs ``data`` (CSV or JSON path) and ``intent``. When ``vlm_provider`` is omitted, defaults to ``gemini`` (same as CLI plot-batch). Returns JSON with ``batch_dir``, ``batch_report_path``, item summary, and ``strict_success``.

NameTypeReqDescription
aspect_ratio
autoboolean
concurrencyinteger
config
formatstring
image_model
image_provider
iterations
legacy_connectionsboolean
manifest_pathstringyes
max_iterations
max_retriesinteger
optimizeboolean
output_dirstring
resume_batch
retry_failedboolean
save_prompts
venue
vlm_connection
vlm_model
vlm_provider
NameTypeReqDescription
resultstringyes

No examples provided.

continue_diagram ~329

Continue a methodology diagram run under ``output_dir`` / ``run_id``. Loads ``run_input.json`` and the latest iteration from an existing ``run_*`` directory (same as ``paperbanana-cn generate --continue-run``). Runs more visualizer–critic rounds without redoing retrieval / planner / stylist.

NameTypeReqDescription
auto_refinebooleanIf true, loop until the critic is satisfied (capped by ``max_iterations`` or settings default).
configOptional path to YAML config (same as other MCP tools).
feedbackOptional notes for the critic (same as CLI ``--feedback``).
generate_captionboolean
image_connection
image_model
image_provider
iterationsExtra refinement rounds when ``auto_refine`` is false; also sets ``refinement_iterations`` in settings when provided. When omitted, uses the configured default iteration count.
legacy_connectionsboolean
max_iterationsCap when ``auto_refine`` is true.
optimizebooleanPassed through to settings (normally unused for continue).
output_dirstringBase output directory containing the run folder.
output_formatstringpng, jpeg, or webp.
run_idstringyesDirectory name (e.g. ``run_20250109_120000_abc``).
save_prompts
venue
vlm_connection
vlm_model
vlm_provider
NameTypeReqDescription
resultstringyes

No examples provided.

continue_plot ~164

Continue a statistical-plot run (same contract as ``continue_diagram``). Use when ``run_input.json`` has ``diagram_type`` ``statistical_plot``.

NameTypeReqDescription
auto_refineboolean
config
feedback
generate_captionboolean
image_model
image_provider
iterations
legacy_connectionsboolean
max_iterations
optimizeboolean
output_dirstring
output_formatstring
run_idstringyes
save_prompts
venue
vlm_connection
vlm_model
vlm_provider
NameTypeReqDescription
resultstringyes

No examples provided.

continue_run ~273

Continue refinement for a previous diagram or plot run (CLI: ``generate --continue-run``). Loads state from ``<output_dir>/<run_id>/`` (default ``outputs/`` from settings), then runs additional visualizer/critic iterations in the same run directory. Optional ``feedback`` is passed to the critic, matching ``--feedback`` on the CLI.

NameTypeReqDescription
auto_refinebooleanWhen True, loop until the critic is satisfied (capped by ``max_iterations``).
config
feedbackOptional user notes for the critic (layout, labels, style).
generate_captionbooleanWhen True, generate a caption after continuation (same as ``generate_diagram``).
image_connection
iterationsintegerExtra refinement iterations when ``auto_refine`` is False (default 3).
legacy_connectionsboolean
optimizebooleanPassed to settings for symmetry with ``generate_diagram``; continuation does not re-run Phase 0 input optimization.
output_dirstring
run_idstringyesDirectory name of the run (e.g. ``run_20260218_125448_e7b876`` under ``outputs/``).
vlm_connection

No output schema declared.

No examples provided.

download_references ~105

Download the PaperBananaBench reference set. Downloads ~254 MB of reference diagrams (~298 examples) from the project-hosted GitHub release mirror (SHA256-verified) and caches them locally. The Retriever agent uses these for better in-context learning during diagram generation. Only needs to be run once — subsequent calls detect the cached data and return immediately. Use force=True to re-download.

NameTypeReqDescription
forcebooleanRe-download even if already cached.
NameTypeReqDescription
resultstringyes

No examples provided.

evaluate_diagram ~138

Evaluate a generated diagram against a human reference on 4 dimensions. Compares the model-generated image to a human-drawn reference using Faithfulness, Conciseness, Readability, and Aesthetics scoring with hierarchical aggregation.

NameTypeReqDescription
captionstringyesFigure caption describing what the diagram communicates.
config
contextstringyesOriginal methodology text used to generate the diagram.
generated_pathstringyesFile path to the model-generated image.
legacy_connectionsboolean
reference_pathstringyesFile path to the human-drawn reference image.
vlm_connection
NameTypeReqDescription
resultstringyes

No examples provided.

evaluate_plot ~106

Evaluate a generated statistical plot against a human reference on 4 dimensions.

NameTypeReqDescription
config
data_jsonstringyesJSON string containing the source data used to generate the plot.
generated_pathstringyesFile path to the model-generated plot.
intentstringyesCommunicative intent used for plot generation.
legacy_connectionsboolean
reference_pathstringyesFile path to the human reference plot.
vlm_connection
NameTypeReqDescription
resultstringyes

No examples provided.

generate_diagram ~312

Generate a publication-quality methodology diagram from text.

NameTypeReqDescription
aspect_ratioTarget aspect ratio. Supported: 1:1, 4:3, 3:2, 5:4, 16:9, 21:9, 4:5, 3:4, 2:3, 9:16.
auto_refinebooleanLet critic loop until satisfied (default True, max 30 iterations). Set False to use fixed iteration count for faster results.
captionstringyesFigure caption describing what the diagram should communicate.
config
generate_captionbooleanAuto-generate a publication-ready figure caption after generation. When True, the caption is embedded in the image metadata (PNG tEXt chunk, key "Caption") and logged.
image_connection
input_imagesOptional file paths to user-provided reference/sketch images (hand-drawn sketch, whiteboard photo, prior figure) that guide the layout and content of the generated diagram.
iterationsintegerNumber of refinement iterations (default 3, used when auto_refine=False).
legacy_connectionsboolean
optimizebooleanEnrich context and sharpen caption before generation (default True). Set False to skip preprocessing for faster results.
output_resolutionstring
source_contextstringyesMethodology section text or relevant paper excerpt.
vlm_connection

No output schema declared.

No examples provided.

generate_plot ~295

Generate a publication-quality statistical plot from JSON data.

NameTypeReqDescription
aspect_ratioTarget aspect ratio. Supported: 1:1, 4:3, 3:2, 5:4, 16:9, 21:9, 4:5, 3:4, 2:3, 9:16.
auto_refinebooleanLet critic loop until satisfied (default True, max 30 iterations). Set False to use fixed iteration count for faster results.
config
data_jsonstringyesJSON string containing the data to plot. Example: '{"x": [1,2,3], "y": [4,5,6], "labels": ["a","b","c"]}'
generate_captionbooleanAuto-generate a publication-ready figure caption after generation. When True, the caption is embedded in the image metadata (PNG tEXt chunk, key "Caption") and logged.
intentstringyesDescription of the desired plot (e.g. "Bar chart comparing model accuracy").
iterationsintegerNumber of refinement iterations (default 3, used when auto_refine=False).
legacy_connectionsboolean
optimizebooleanEnrich context and sharpen caption before generation (default True). Set False to skip preprocessing for faster results.
vlm_connection

No output schema declared.

No examples provided.

orchestrate_figures ~312

Plan and optionally generate a multi-figure publication package from a paper. Mirrors ``paperbanana-cn orchestrate``. Use ``dry_run=True`` to write ``orchestration_plan.json`` only (no API generation). For continuation, pass ``resume_orchestrate`` with an orchestration id or package directory path. Returns: JSON string with orchestration_id, paths to ``figure_package.json``, ``figures.tex``, ``captions.md``, ``orchestration_plan.json``, counts, ``strict_success``, and ``failures`` when applicable.

NameTypeReqDescription
autoboolean
concurrencyinteger
config
data_dir
dry_runboolean
formatstring
image_connection
image_model
image_provider
iterations
legacy_connectionsboolean
max_iterations
max_method_figuresinteger
max_plot_figuresinteger
max_retriesinteger
optimizeboolean
output_dirstring
paper
pdf_pages
resume_orchestrate
retry_failedboolean
save_prompts
venue
vlm_connection
vlm_model
vlm_provider
NameTypeReqDescription
resultstringyes

No examples provided.

Common questions

What is the PaperBanana-CN MCP server?

PaperBanana-CN is an MCP server listed in the public MCP registry as io.github.mituan-ai/paperbanana-cn. Generate and evaluate academic diagrams and plots with independent model connections. This page covers its PyPI package (paperbanana-cn).

Is the PaperBanana-CN MCP server safe to use?

PaperBanana-CN scores 60 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 22 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the PaperBanana-CN MCP server expose?

PaperBanana-CN exposes 11 tools: generate_diagram, continue_run, generate_plot, continue_diagram, continue_plot, and 6 more. Their descriptions and schemas cost roughly 2,502 tokens of context every time the server is loaded.

Is the PaperBanana-CN MCP server still maintained?

PaperBanana-CN is still listed as active in the MCP registry. We last reached this channel on 22 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.