Server definition
- Hash
- sha256:69ce9229cb7b836b1af5f711141b860fa4d3068f01ef01bce84687fd72fc54fc
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "GraphMake makes infographics, charts and stat cards two ways. (1) Templates: 90+ designed infographics (reports, dashboards, comparisons, resumes, timelines, posters). Call list_templates (optionally with a query) to find one, get_template to read its editable text and numbers, then render_template with the user's content; the design stays, only the content changes, and any field left out keeps its sample content, so replace all of it. (2) GraphMake Script, a short line-based format for building one from scratch: call graphmake_script_reference once, write the script, then call render_infographic. With Script, make it look designed: choose a `style` (classic, bold, minimal, dark, editorial) and a `theme`, put related charts side by side with `row { }`, and end with a `source` line when the data has one. Every render includes a link that opens the result in the free GraphMake editor, where the user can restyle it and export PNG, SVG or PDF.",
"tools": [
{
"description": "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.",
"inputSchema": {
"properties": {
"id": {
"description": "Template id, e.g. \"business-stats\".",
"type": "string"
},
"preview": {
"description": "Also return the template preview image (default false).",
"type": "boolean"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_template",
"outputSchema": {
"properties": {
"category": {
"enum": [
"business",
"education",
"marketing",
"health",
"technology",
"general"
],
"type": "string"
},
"description": {
"type": "string"
},
"fields": {
"description": "Every editable text and number, with the key that changes it.",
"items": {
"properties": {
"key": {
"description": "Field key, e.g. \"w0.text\" or \"w5.datasets.0.values\".",
"type": "string"
},
"value": {
"description": "Current value: text, a number, or a list."
},
"widget": {
"description": "The widget type the field belongs to.",
"type": "string"
}
},
"required": [
"key",
"widget",
"value"
],
"type": "object"
},
"type": "array"
},
"height": {
"description": "Canvas height in px.",
"type": "integer"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"previewUrl": {
"description": "The template preview image.",
"type": "string"
},
"width": {
"description": "Canvas width in px.",
"type": "integer"
}
},
"required": [
"id",
"name",
"category",
"width",
"height",
"description",
"previewUrl",
"fields"
],
"type": "object"
}
},
{
"description": "The full GraphMake Script language reference: every widget, chart, theme, style, size and syntax rule, with examples.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "graphmake_script_reference",
"outputSchema": {
"properties": {
"reference": {
"description": "The language reference as Markdown.",
"type": "string"
}
},
"required": [
"reference"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"category": {
"description": "Optional category filter.",
"enum": [
"business",
"education",
"marketing",
"health",
"technology",
"general"
],
"type": "string"
},
"query": {
"description": "Optional words describing the infographic, e.g. \"sales report\".",
"type": "string"
}
},
"type": "object"
},
"name": "list_templates",
"outputSchema": {
"properties": {
"count": {
"type": "integer"
},
"templates": {
"description": "Best match first when a query was given.",
"items": {
"properties": {
"category": {
"enum": [
"business",
"education",
"marketing",
"health",
"technology",
"general"
],
"type": "string"
},
"description": {
"type": "string"
},
"height": {
"description": "Canvas height in px.",
"type": "integer"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"width": {
"description": "Canvas width in px.",
"type": "integer"
}
},
"required": [
"id",
"name",
"category",
"width",
"height",
"description"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"count",
"templates"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"script": {
"description": "The GraphMake Script to load.",
"type": "string"
}
},
"required": [
"script"
],
"type": "object"
},
"name": "open_in_editor",
"outputSchema": {
"properties": {
"editorUrl": {
"description": "Opens the result in the free GraphMake editor, where it can be restyled and exported as PNG, SVG or PDF.",
"type": "string"
}
},
"required": [
"editorUrl"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"format": {
"description": "png (default) returns an image; svg returns the SVG markup as text, ready to save to a file.",
"enum": [
"png",
"svg"
],
"type": "string"
},
"height": {
"description": "Optional canvas height in px (max 8000).",
"type": "number"
},
"script": {
"description": "The GraphMake Script to render.",
"type": "string"
},
"width": {
"description": "Optional canvas width in px (max 4000).",
"type": "number"
}
},
"required": [
"script"
],
"type": "object"
},
"name": "render_infographic",
"outputSchema": {
"properties": {
"bytes": {
"description": "Size of the PNG or SVG in bytes. The image itself is in the content.",
"type": "integer"
},
"editorUrl": {
"description": "Opens the result in the free GraphMake editor, where it can be restyled and exported as PNG, SVG or PDF.",
"type": "string"
},
"format": {
"enum": [
"png",
"svg"
],
"type": "string"
}
},
"required": [
"format",
"bytes",
"editorUrl"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"changes": {
"description": "Field key -> new value, e.g. {\"w0.text\": \"Q3 Sales Review\"}.",
"type": "object"
},
"format": {
"description": "png (default) returns an image; svg returns the SVG markup as text.",
"enum": [
"png",
"svg"
],
"type": "string"
},
"id": {
"description": "Template id, e.g. \"business-stats\".",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "render_template",
"outputSchema": {
"properties": {
"bytes": {
"description": "Size of the PNG or SVG in bytes. The image itself is in the content.",
"type": "integer"
},
"editorUrl": {
"description": "Opens the result in the free GraphMake editor, where it can be restyled and exported as PNG, SVG or PDF.",
"type": "string"
},
"format": {
"enum": [
"png",
"svg"
],
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"width": {
"description": "Width of the returned image in px (tall templates come back narrower).",
"type": "integer"
}
},
"required": [
"id",
"name",
"format",
"bytes",
"width",
"editorUrl"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:69ce9229cb7b836b1af5f711141b860fa4d3068f01ef01bce84687fd72fc54fc | sha256sum