Chat · Embed · MCP · REST

Turn your docs into a knowledge bot

Turn URLs, PDFs, GitHub repos, sitemaps and support content into a grounded, cited support assistant in minutes. Ship it as a chat widget, an iframe, a REST endpoint, or an MCP server for AI agents.

Knowledge bots from any docs

Ingest URLs, PDFs, DOCX, GitHub repos, sitemaps, OpenAPI specs, RSS feeds and YouTube transcripts. Hybrid search — vector + BM25 + reranking.

Embed anywhere

A floating chat bubble in one line of HTML, an iframe, or a public share link. Origin allow-list, custom accent colour, light / dark theme.

MCP-ready for AI agents

Claude Code, Cursor, Windsurf, Continue.dev and any MCP client can query your bots through the built-in MCP server. Streaming, citations, scoped keys.

REST API + OpenAPI

Streaming chat, raw similarity search with metadata filters, and full source management — all via OpenAPI 3.1. Generate typed clients in any language.

Bring your own model

Anthropic Claude, OpenAI, Gemini — pick the model per bot or per persona. Cost prediction before you spend, full usage metering in millicents.

Multi-tenant teams

Workspaces, roles, invitations, audit log. Postgres RLS isolates every row by tenant. Bring teammates, give them scoped API keys, share the bots.

Built for developers and agents

A streaming REST API with source citations, an OpenAPI 3.1 spec for typed SDKs, and a first-class MCP server so coding agents can query your knowledge directly. Scoped API keys, per-key rate limits, and full usage metering included.

// Stream a chat reply with source citations
const res = await fetch(
  'https://api.kb.app/bots/<botId>/chat',
  {
    method: 'POST',
    headers: {
      Authorization: 'Bearer kb_live_...',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      message: 'How do I configure webhooks?',
      stream: true,
      include_sources: true,
    }),
  },
);

for await (const event of res.body) {
  process.stdout.write(decodeChunk(event));
}

Ship your support bot today

Point it at your docs, embed it in one line, and let it answer customers and teammates with cited sources.

Get started free