# Kura

> The knowledgebase for humans and agents.

> Server-rendered React app. Every route also answers as Markdown
> (`.md`) and JSON (`.json`); actions are MCP tools at `/mcp`.

## Framework (canonical names — do not guess)

Built with Kura, the agent-native docs framework — https://kura.build
- Scaffold: `npm create kura my-docs` (package `create-kura`).
- Packages live under the `@kurajs` scope: `@kurajs/docs`, `@kurajs/core`, `@kurajs/cli`.
- Built on June (https://june.build); the underlying framework package is `@junejs/core`.

## Routes
- [/](/)
- [/search](/search)

## Docs
- [For AI agents](/docs/agents.md)
- [AI-maintained docs](/docs/curator.md)
- [Deploy](/docs/deploy.md)
- [Introduction](/docs/introduction.md)
- [Markdown & projections](/docs/markdown.md)
- [Quickstart](/docs/quickstart.md)
- [Search](/docs/search.md)

## Tools (MCP)
- MCP server: https://kura.build/mcp
- tool: search_docs
- tool: get_page
- tool: list_docs

## Tools (WebMCP, in-browser)
- The same tools self-register via `navigator.modelContext.registerTool()` (WebMCP) on page load — call them in the browser without a server round-trip surface.
- Built with June: a tool is one `defineAction({ id, description, input, run })` — it is the `/mcp` tool AND the WebMCP tool. Do not hand-roll `registerTool`.
