Koskamo

Data Figure Studio MCP

An MCP server for the Data Figure Studio web application that allows AI agents to compute publication-grade multi-panel scientific figure layouts. It handles axis alignment, margin trimming, and export configuration without requiring image data transfer, supporting automated scientific visualization pipelines.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Data Figure Studio MCP logo, by Data Figure StudioVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Data Figure Studio
MCP endpoint (Streamable HTTP)
https://www.gofigure.online/api/mcp
Vendor documentation

What you can do with it

  • Compute publication-grade figure layout from panel dimensions
  • Retrieve current pricing and payment configuration status
  • Create PayPal checkout orders for human approval
  • Capture PayPal purchases to unlock Pro export tokens

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
data-figure-studio 1.0.0
MCP protocol
2024-11-05
Tools
8 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Tools

8 advertised

compose_figure
Advertised by the server during the last successful anonymous check.

Compose a multi-panel scientific figure layout. Takes panel pixel dimensions (and optional detected axis positions per panel) plus figure settings, returns panel positions/sizes in millimetres using the aligned-grid engine: axis lines aligned per column/row, plot areas matched so baked-in text sizes unify. No image data is needed or accepted.

compose_figure input schema
{
  "type": "object",
  "required": [
    "panels"
  ],
  "properties": {
    "panels": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "w",
          "h"
        ],
        "properties": {
          "h": {
            "type": "number",
            "description": "Panel height in source pixels"
          },
          "w": {
            "type": "number",
            "description": "Panel width in source pixels"
          },
          "axes": {
            "type": "object",
            "properties": {
              "b": {
                "type": "number"
              },
              "l": {
                "type": "number"
              },
              "r": {
                "type": "number"
              },
              "t": {
                "type": "number"
              },
              "ax": {
                "type": "number"
              },
              "ay": {
                "type": "number"
              }
            },
            "description": "Detected axis line positions/insets in source pixels (optional)"
          }
        }
      },
      "maxItems": 52,
      "minItems": 1
    },
    "settings": {
      "type": "object",
      "properties": {
        "gap": {
          "type": "number"
        },
        "font": {
          "type": "number",
          "description": "Label font size in pt"
        },
        "width": {
          "type": "number",
          "description": "Figure width in mm (default 180)"
        },
        "margin": {
          "type": "number"
        },
        "columns": {
          "type": "integer",
          "description": "0 = auto"
        },
        "scaling": {
          "enum": [
            "plot",
            "uniform"
          ],
          "type": "string"
        },
        "alignAxes": {
          "type": "boolean"
        }
      }
    }
  }
}
get_pricing
Advertised by the server during the last successful anonymous check.

Get current pricing for Data Figure Studio and whether payments are configured.

get_pricing input schema
{
  "type": "object",
  "properties": {}
}
create_paypal_checkout
Advertised by the server during the last successful anonymous check.

Create a PayPal Checkout order for high-res figure credits. Returns an approve URL for the human and the order id. After approval, call capture_paypal_purchase.

create_paypal_checkout input schema
{
  "type": "object",
  "properties": {
    "pack": {
      "enum": [
        "p1",
        "paper",
        "year",
        "team",
        "lab"
      ],
      "type": "string",
      "description": "p1 = 1 figure $0.20 (agent rate), paper = Manuscript pack 12 figures $4.99, year = Researcher pack 100 figures $29.99, team = Team pack 500 figures $99.99, lab = Lab pack 1000 figures $149.99 (default p1)"
    }
  }
}
capture_paypal_purchase
Advertised by the server during the last successful anonymous check.

Capture (complete) an approved PayPal order and receive the signed credit token.

capture_paypal_purchase input schema
{
  "type": "object",
  "required": [
    "order_id"
  ],
  "properties": {
    "order_id": {
      "type": "string",
      "description": "PayPal order id returned by create_paypal_checkout / the return URL token parameter"
    }
  }
}
create_usdc_order
Advertised by the server during the last successful anonymous check.

Create a USDC payment order on Solana or Ethereum, paid to the store wallet (fees ~$0 on Solana; buyer pays ETH gas on Ethereum). Returns payment instructions incl. a Solana Pay URL and reference.

create_usdc_order input schema
{
  "type": "object",
  "required": [
    "chain",
    "pack"
  ],
  "properties": {
    "pack": {
      "enum": [
        "p1",
        "paper",
        "year",
        "team",
        "lab"
      ],
      "type": "string",
      "description": "p1 = 1 figure 0.20 USDC (agent rate), paper = 12 figures 5 USDC, year = 100 figures 30 USDC, team = 500 figures 100 USDC, lab = 1000 figures 150 USDC"
    },
    "chain": {
      "enum": [
        "solana",
        "ethereum"
      ],
      "type": "string"
    }
  }
}
build_usdc_solana_tx
Advertised by the server during the last successful anonymous check.

Build the unsigned Solana USDC payment transaction for an order; the buyer signs and submits it with their wallet.

build_usdc_solana_tx input schema
{
  "type": "object",
  "required": [
    "order_id",
    "pack",
    "order_token",
    "expires_at",
    "buyer"
  ],
  "properties": {
    "pack": {
      "type": "string"
    },
    "buyer": {
      "type": "string",
      "description": "Buyer Solana address"
    },
    "order_id": {
      "type": "string"
    },
    "expires_at": {
      "type": "number"
    },
    "order_token": {
      "type": "string"
    }
  }
}
verify_usdc_order
Advertised by the server during the last successful anonymous check.

Check an order USDC payment on-chain (Solana: by signature or reference scan; Ethereum: by tx_hash after confirmations) and receive the signed credit token when paid.

verify_usdc_order input schema
{
  "type": "object",
  "required": [
    "chain",
    "order_id",
    "pack",
    "order_token",
    "expires_at"
  ],
  "properties": {
    "pack": {
      "type": "string"
    },
    "chain": {
      "enum": [
        "solana",
        "ethereum"
      ],
      "type": "string"
    },
    "tx_hash": {
      "type": "string",
      "description": "Ethereum transaction hash"
    },
    "order_id": {
      "type": "string"
    },
    "signature": {
      "type": "string",
      "description": "Solana transaction signature (optional)"
    },
    "expires_at": {
      "type": "number"
    },
    "order_token": {
      "type": "string"
    }
  }
}
get_sales_report
Advertised by the server during the last successful anonymous check.

OWNER ONLY: read the purchase ledger (totals + recent records, split by human vs agent buyers). Requires the admin_key (the ADMIN_KEY env var of the deployment).

get_sales_report input schema
{
  "type": "object",
  "required": [
    "admin_key"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "description": "Max recent records to return (default 50, max 500)"
    },
    "admin_key": {
      "type": "string"
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
830 ms
95th percentile latency
830 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 830 ms · metadata changed · 8 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http data-figure-studio-mcp https://www.gofigure.online/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add data-figure-studio-mcp --url https://www.gofigure.online/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable data-figure-studio-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "data-figure-studio-mcp": {
      "url": "https://www.gofigure.online/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "data-figure-studio-mcp": {
      "type": "streamableHttp",
      "url": "https://www.gofigure.online/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start data-figure-studio-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "data-figure-studio-mcp": {
      "type": "http",
      "url": "https://www.gofigure.online/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http data-figure-studio-mcp https://www.gofigure.online/api/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "data-figure-studio-mcp": {
      "url": "https://www.gofigure.online/api/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "data-figure-studio-mcp": {
      "serverUrl": "https://www.gofigure.online/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Data Figure Studio MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Data Figure Studio MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing