> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hyperterse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> The agentic server framework—agents, tools, prompts, and resources with auth, caching, and observability.

Any serious AI workload needs the same backbone: safe access to data, clear inputs, authentication, caching, observability, and protocols that models and agent runtimes actually speak.

Hyperterse is an agentic server framework. You describe agents, tools, prompts, and resources in declarative config. The engine validates and compiles them, then serves MCP for tool, prompt, and resource surfaces, and agent HTTP when you define agents. You keep ownership of data and business rules; the framework handles plumbing and protocol edges.

## What you can build

You can expose databases and custom logic as tools, ship reusable prompt templates and resources, and run A2A-compatible agents on shared adapters and policies. A typical database-backed tool looks like this:

```yaml theme={null}
description: 'Get user by ID'
use: primary-db
statement: 'SELECT id, name, email FROM users WHERE id = {{ inputs.user_id }}'
inputs:
  user_id:
    type: int
    required: true
auth:
  plugin: api_key
  policy:
    value: '{{ env.API_KEY }}'
```

That yields an MCP tool named `get-user` that runs your query, validates inputs, and enforces API keys—without hand-rolling a service layer for each action.

## How it works

<Steps>
  <Step title="Describe what you need">
    Add adapters, tools, and optionally prompts, resources, and agents. Each
    surface is declared in config; Hyperterse validates and links them.
  </Step>

  <Step title="Compile your project">
    Run `hyperterse build` to validate configuration, bundle scripts, and emit a
    deployable artifact.
  </Step>

  <Step title="Serve">
    Run `hyperterse serve` (or `hyperterse start` in development) so MCP and
    agent routes go live from that artifact.
  </Step>
</Steps>

<Tip>
  During development, `hyperterse start --watch` rebuilds when files change so
  you can skip manual compile cycles.
</Tip>

<Frame caption="Compile-time validation flows into a production-ready runtime">
  <img src="https://mintcdn.com/hyperterse/rDBPaAB64_vAuGMi/assets/diagrams/lifecycle.svg?fit=max&auto=format&n=rDBPaAB64_vAuGMi&q=85&s=669af9c15c15e26155f177613b63ffab" alt="Hyperterse lifecycle: build steps then a live server" width="800" height="920" data-path="assets/diagrams/lifecycle.svg" />
</Frame>

## Key capabilities

<CardGroup cols={2}>
  <Card title="Agents (A2A)" icon="robot" href="/agents/overview">
    Declarative agents with model providers, tool access rules, and dedicated
    HTTP endpoints for agent-style workflows.
  </Card>

  <Card title="Tools (MCP)" icon="hammer" href="/concepts/tools">
    One declarative definition per tool—database-backed or script-backed—with
    discovery and validation at compile time.
  </Card>

  <Card title="Prompts" icon="message" href="/concepts/prompts">
    Reusable prompt templates with arguments, completions, and multi-message
    scaffolding for MCP clients.
  </Card>

  <Card title="Resources" icon="files" href="/concepts/resources">
    Static or templated read-only context for `resources/list` and
    `resources/read`, with optional subscriptions when content changes.
  </Card>

  <Card title="Database adapters" icon="database" href="/concepts/adapters">
    Connect to PostgreSQL, MySQL, SQLite, MongoDB, or Redis. Pooling, health
    checks, and shutdown are handled for you.
  </Card>

  <Card title="Embedded scripting" icon="code" href="/concepts/scripts">
    TypeScript handlers and transforms when pure config is not enough. Scripts
    run in a sandbox with `fetch` and `console`.
  </Card>

  <Card title="Per-tool authentication" icon="lock" href="/concepts/authentication">
    Attach auth per tool with built-in plugins or your own—no global middleware
    required.
  </Card>

  <Card title="In-memory caching" icon="bolt" href="/runtime/caching">
    Cache tool results globally or per tool with a TTL so repeat calls stay
    cheap.
  </Card>

  <Card title="Observability" icon="chart-line" href="/runtime/observability">
    OpenTelemetry tracing, metrics, and structured logging for operations and
    debugging.
  </Card>
</CardGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Install the CLI" icon="download" href="/installation">
    Set up Hyperterse on your machine in under a minute.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Install, scaffold, run, and optional MCP checks against the sample tool.
  </Card>
</CardGroup>
