rendering
Vega-Lite MCP Integration for Generic MCP Clients
Connect Vega-Lite to Generic MCP Clients through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Vega-Lite to Generic MCP Clients
Connect any stdio-compatible MCP client to local KosmoKrator integration tools.
Register kosmo mcp:serve as the command for a local stdio MCP server. The gateway is local, scoped to this integration, and starts with
--write=deny so MCP clients can inspect read-capable tools without receiving write access by default.
Vega-Lite MCP Config for Generic MCP Clients
Start with read-only write policy and expand only for trusted projects.
{
"mcpServers": {
"kosmokrator-vegalite": {
"type": "stdio",
"command": "kosmo",
"args": [
"mcp:serve",
"--integration=vegalite",
"--write=deny"
]
}
}
} Run the Gateway Manually
kosmokrator mcp:serve --integration=vegalite --write=deny Why Use KosmoKrator Here
Expose only Vega-Lite instead of a broad multi-service tool list.
Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.
Start read-only, then opt into ask or allow for trusted workspaces.
Vega-Lite Tools Visible to MCP clients
MCP clients sees stable MCP tool names generated from the Vega-Lite integration catalog.
| MCP tool | Source function | Type | Description |
|---|---|---|---|
integration__vegalite__render_vegalite | vegalite.render_vegalite | Write | Render a Vega-Lite visualization to a PNG image. Pass a complete Vega-Lite JSON specification and get back a markdown image embed. IMPORTANT: Always use inline data with "data": {"values": [...]}. Never use "data": {"url": "..."}. Example spec: { "$schema": "https://vega.github.io/schema/vega-lite/v5.json", "data": {"values": [ {"category": "A", "value": 28}, {"category": "B", "value": 55}, {"category": "C", "value": 43} ]}, "mark": "bar", "encoding": { "x": {"field": "category", "type": "nominal"}, "y": {"field": "value", "type": "quantitative"} } } Supported mark types: bar, line, point, area, rect, circle, square, arc, text, tick, rule, trail, boxplot. Always include "type" in encoding channels: "quantitative", "nominal", "ordinal", or "temporal". |