basalt

AI & MLBetaBeta

Claude, with live context.

Expose Basalt views to Claude as typed tools. Claude reads current rows through a scoped role, so answers reflect data from seconds ago.

Setup
2 min
Delivery
Read-only
Throughput
2k calls/s
Since
v2.2
Overview

How it works.

Basalt generates a tool definition for each view, with an input schema built from its columns and filters. Use it with the Messages API or the Basalt MCP server. Every call runs under a read-only role with row limits.

KAFKA TOPICSBASALTVIEWSSERVEpayments.v3orders.v1refunds.v2ORDERED LOGpayments_liverevenue_by_minAPI3.1 MS
Setup

Set it up in three steps.

01

Connect the tool

Pick the views Claude can read and a row limit per call. Basalt prints tool definitions you pass in the tools array, or an MCP server URL.

terminal
# expose two views to Claude as tools
basalt connect anthropic --views orders_live,inventory --role readonly
✓ 2 tool definitions generated · JSON Schema
✓ MCP server ready · mcp.basalt.dev/acme
02

Shape it with a view

Write plain SQL over the source. Basalt keeps the view current with every record and tracks lineage back to the topic, partition and offset.

views/revenue_by_min.sql
CREATE MATERIALIZED VIEW revenue_by_min AS
SELECT date_trunc('minute', ts) AS minute,
       currency,
       sum(amount) AS revenue,
       count(*)    AS payments
FROM payments
WHERE status = 'captured'
GROUP BY 1, 2;
03

Read it from anywhere

Every view is an endpoint the moment it exists. Call it over REST, connect with any Postgres client, or use the SDK from your app.

terminal
curl https://api.basalt.dev/v1/views/revenue_by_min?limit=5 \
  -H "Authorization: Bearer $BASALT_TOKEN"
✓ 200 OK · 5 rows · served from eu-north-1 in 3.1 ms
Included

What you get.

01

Typed tools

Input schemas come from view columns, so Claude asks for valid filters.

02

MCP server

Connect Claude Desktop, Claude Code or any MCP client with one URL.

03

Scoped access

Calls run under a read-only role with row limits and column masks.

04

Audit log

Every tool call is logged with its arguments, rows returned and latency.

Related

Other ways to stream in.

All integrations →
Beta

OpenAI

AI & ML

Embed events as they land and store vectors beside the rows.

Partner

Hex

BI & notebooks

Query views from SQL cells and keep notebooks current.

Native

Grafana

BI & notebooks

Live panels over the Postgres wire protocol, no plugin needed.

Get started

Set your data in stone.

Free up to 10M events a month. No card, no sales call. Your first pipeline is live in about four minutes.

2,400+ teams in production

SOC 2 Type II

38 regions

Get started

Set your data in stone.

Free up to 10M events a month. No card, no sales call. Your first pipeline is live in about four minutes.

2,400+ teams in production

SOC 2 Type II

38 regions

Get started

Set your data in stone.

Free up to 10M events a month. No card, no sales call. Your first pipeline is live in about four minutes.

2,400+ teams in production

SOC 2 Type II

38 regions

© 2026 Basalt Labs

All systems normal

Back to top ↑

404

© 2026 Basalt Labs

All systems normal

Back to top ↑

404

© 2026 Basalt Labs

All systems normal

Back to top ↑

404

Create a free website with Framer, the website builder loved by startups, designers and agencies.