AI Agents

Drop an agent on the canvas, describe what you want, and watch it query, chart, and explain your data - with your own model, on your own machine.

Bring your own model

The Agent node talks to a model running on your own machine. Point Peek at any Ollama-compatible endpoint, pick the model you want, and that's it - responses stream token by token, your schema and chats never leave your machine, and there are no rate limits to work around.

~/peek/settings.json
{
  "ai": {
    "model": "gemma4:12b",
    "url": "http://localhost:11434"
  }
}

It queries, and it builds

Ask a question and the agent can run SQL against your live database, read the rows back, and analyze them - dropping a Result node on the canvas as it goes. Ask it to write a query instead and it places an un-run query node for you to execute yourself, so you stay in control of what actually touches the data.

It does more than query. The agent can create pages, lay down query, variable, and text nodes, wire them together, and even pan, zoom, and frame the camera - so it can build out a whole working canvas, not just answer in a chat bubble.

Canvas-aware, on your terms

The agent automatically knows the schemaof the active connection - table and column names, types, foreign keys, and primary keys - so it reasons about your data without guessing. It never invents tables that aren't there.

Result rows are different: an agent only sees a result set when you explicitly wire a Result node into it. Until you draw that edge, sensitive row data stays off the conversation.

Or hand the wheel to your own agent

Prefer Claude Code, Codex, or another coding agent? Enable Peek's MCP server and let them drive the canvas directly - inspecting the schema and pages, creating and updating nodes, wiring them up, and moving the camera through the same building blocks the built-in agent uses.

The MCP surface is deliberately narrower: external agents can't execute queries, and any embedded data rows are stripped before a page is handed over, so driving the canvas never leaks your results. It's off by default - enable it in settings, restart Peek, then register the server with your agent of choice.

Claude Code
claude mcp add --transport http peek http://127.0.0.1:13315/