# GraphMake

> Turn data into infographics (PNG/SVG): 90+ templates, or KPI cards, charts, timelines and maps.

- name: com.graphmake/graphmake
- version: 1.1.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 69/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.graphmake%2Fgraphmake
- tools: https://api.protogrid.dev/v1/servers/com.graphmake%2Fgraphmake/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "graphmake": {
      "type": "http",
      "url": "https://graphmake.com/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 98
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-94% +updated-18d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 69/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_templates (destructiveHint); get_template (destructiveHint); open_in_editor (destructiveHint); …
- pass `tools.token_cost`: about 1,005 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 12 tool changes in 30 days
- fail `stability.rug_pull`: 2 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 1,005 tokens to load them all
- tool set hash: 57b1aadb13a88931d073cdf79d85dbc7
- tools last changed: 2026-10-03T01:05:27.170Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.graphmake/graphmake.svg)](https://protogrid.dev/servers/com.graphmake/graphmake)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-03 `open_in_editor` changed (description, annotations) **meaning changed**
  - before: Build a GraphMake editor URL that opens with the script already rendered on the canvas, for when the user wants to hand-edit, restyle or export the infographic.
  - after: Build a GraphMake editor URL that opens with the script already rendered on an editable canvas, where the infographic can be restyled by hand and exported as PNG, SVG or PDF.
- 2026-10-03 `render_template` changed (description, inputSchema, annotations)
  - before: Render a template filled with your content. "changes" maps field keys from get_template to new values: {"w0.text": "Q3 Sales Review", "w5.labels": ["Jul","Aug","Sep"], "w5.datasets.0.values": [42, 51, 63]}. Fields you leave out keep the template's sample content, so replace all of it. To change how many items a list has, replace the whole list (e.g. "w7.values": [{"label": "A", "value": 40}, ...]); each item keeps the colours of the item it replaces. Returns the image and a link that opens the filled template in the GraphMake editor.
  - after: Render a template filled with new content. "changes" maps the template's field keys to new values, e.g. {"w0.text": "Q3 Sales Review", "w5.labels": ["Jul","Aug","Sep"], "w5.datasets.0.values": [42, 51, 63]}. Fields not included keep the template's sample content. Replacing a whole list (e.g. "w7.values": [{"label": "A", "value": 40}, ...]) changes how many items it has; each item keeps the colours of the item it replaces. Returns the image and a link that opens the filled template in the GraphMake editor.
- 2026-10-03 `get_template` changed (description, inputSchema, outputSchema, annotations)
  - before: Read one template: its size, description and every editable text and number, as field keys with their current values (e.g. "w0.text": "Annual Report 2026", "w5.datasets.0.values": [820, 1050]). Copy the keys you want to change into render_template. Set preview to true to also get the template's preview image.
  - after: Read one template: its size, description and every editable text and number, as field keys with their current values (e.g. "w0.text": "Annual Report 2026", "w5.datasets.0.values": [820, 1050]). The same keys change the template when it is rendered. With preview set to true, the template's preview image is included.
- 2026-10-03 `list_templates` changed (description, inputSchema, annotations)
  - before: List GraphMake's designed infographic templates (id, name, category, size, what it is for). Pass a query such as "sales report", "timeline", "resume" or "comparison" to rank the best matches first. Then call get_template with an id.
  - after: List GraphMake's designed infographic templates: id, name, category, size and what each is for. An optional query such as "sales report", "timeline", "resume" or "comparison" ranks the best matches first; an optional category filters the list.
- 2026-10-03 `graphmake_script_reference` changed (description, annotations) **meaning changed**
  - before: The full GraphMake Script language reference: widgets, charts, themes, sizes and syntax. Read it before writing a script.
  - after: The full GraphMake Script language reference: every widget, chart, theme, style, size and syntax rule, with examples.
- 2026-10-03 `render_infographic` changed (description, annotations)
  - before: Render GraphMake Script into an infographic image (PNG or SVG). GraphMake Script is a simple line-based syntax: `title "..."`, `kpi "Label" "Value" icon=users`, `bar_chart "T" { Jan: 42\n Feb: 68 }`, `timeline { 2024: "Event" "detail" }`, `style bold`, `row { ... }` for side-by-side blocks, and more. Call graphmake_script_reference first if you have not seen the full syntax. Returns the image and a link that opens it in the GraphMake editor for hand-editing and export. Parse errors name the line, so fix the script and call again.
  - after: Render GraphMake Script into an infographic image (PNG or SVG). GraphMake Script is a short line-based format, e.g. `title "..."`, `kpi "Label" "Value" icon=users`, `bar_chart "T" { Jan: 42\n Feb: 68 }`, `timeline { 2024: "Event" "detail" }`, `style bold` and `row { ... }` for side-by-side blocks; the full syntax is in the GraphMake Script reference. Returns the image and a link that opens it in the GraphMake editor for hand-editing and export. Script errors come back with the line number.
- 2026-10-02 `open_in_editor` changed (outputSchema)
- 2026-10-02 `render_template` changed (outputSchema)
- 2026-10-02 `get_template` changed (outputSchema)
- 2026-10-02 `list_templates` changed (outputSchema)

Full history: https://api.protogrid.dev/v1/servers/com.graphmake%2Fgraphmake/changes

## Remotes

- https://graphmake.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 0.93939394)

## Packages

_none_

## Tools (6)

- `get_template`: Read one template: its size, description and every editable text and number, as field keys with their current values (e.g. "w0.text": "Annual Report 2026", "w5.datasets.0.values": [820, 1050]). The same keys change the template when it is rendered. With preview set to true, the template's preview image is included.
- `graphmake_script_reference`: The full GraphMake Script language reference: every widget, chart, theme, style, size and syntax rule, with examples.
- `list_templates`: List GraphMake's designed infographic templates: id, name, category, size and what each is for. An optional query such as "sales report", "timeline", "resume" or "comparison" ranks the best matches first; an optional category filters the list.
- `open_in_editor`: Build a GraphMake editor URL that opens with the script already rendered on an editable canvas, where the infographic can be restyled by hand and exported as PNG, SVG or PDF.
- `render_infographic`: Render GraphMake Script into an infographic image (PNG or SVG). GraphMake Script is a short line-based format, e.g. `title "..."`, `kpi "Label" "Value" icon=users`, `bar_chart "T" { Jan: 42\n Feb: 68 }`, `timeline { 2024: "Event" "detail" }`, `style bold` and `row { ... }` for side-by-side blocks; the full syntax is in the GraphMake Script reference. Returns the image and a link that opens it in the GraphMake editor for hand-editing and export. Script errors come back with the line number.
- `render_template`: Render a template filled with new content. "changes" maps the template's field keys to new values, e.g. {"w0.text": "Q3 Sales Review", "w5.labels": ["Jul","Aug","Sep"], "w5.datasets.0.values": [42, 51, 63]}. Fields not included keep the template's sample content. Replacing a whole list (e.g. "w7.values": [{"label": "A", "value": 40}, ...]) changes how many items it has; each item keeps the colours of the item it replaces. Returns the image and a link that opens the filled template in the GraphMake editor.
