rendering
Vega-Lite MCP Integration for Vercel AI SDK
Connect Vega-Lite to Vercel AI SDK through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Vega-Lite to Vercel AI SDK
Use KosmoKrator as a local integration gateway for Vercel AI SDK agents and scripts.
Create an MCP client that starts or connects to the KosmoKrator gateway for the selected integration. The gateway is local, scoped to this integration, and starts with
--write=deny so Vercel AI SDK can inspect read-capable tools without receiving write access by default.
Vega-Lite MCP Config for Vercel AI SDK
Prefer CLI JSON calls when a workflow only needs one deterministic integration operation.
{
"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 Vercel AI SDK
Vercel AI SDK 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". |