> ## 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.

# Quickstart

> The agentic server framework—docs entry points, install, run, optional MCP checks.

Hyperterse is an agentic server framework: one project can ship agents, tools, prompts, and resources together—plus databases, auth, caching, and observability—in one process.

MCP is how most clients list and call tools, read resources, and fetch prompts. When you add agents, they get their own HTTP routes (A2A-style), separate from MCP. You do not need both on day one; add surfaces as your product grows.

## Where to start

<CardGroup cols={2}>
  <Card title="Agents" icon="robot" href="/agents/overview">
    Long-running agents with models, permissions over tools, and standard agent HTTP—without wiring a second server.
  </Card>

  <Card title="Tools" icon="hammer" href="/concepts/tools">
    Actions exposed to MCP: queries, APIs, or scripts, with validation and auth in one declarative layer.
  </Card>

  <Card title="Resources" icon="files" href="/concepts/resources">
    Read-only context clients can pull in—static text, files, or parameterized templates.
  </Card>

  <Card title="Prompts" icon="message" href="/concepts/prompts">
    Reusable prompt templates with arguments and client-side completion hints.
  </Card>
</CardGroup>

[Project structure](/concepts/project-structure) — layout and discovery.

## Baseline: install and run

### Install the CLI

```bash theme={null}
curl -fsSL https://hyperterse.com/install | bash
```

[Installation](/installation) — package managers and verification.

### Scaffold a project

```bash theme={null}
hyperterse init
```

You get a root config, a sample tool, and starter agent-skills helpers. The exact tree depends on the template.

### Review the root configuration

Open `.hyperterse`:

```yaml theme={null}
name: myconfig
server:
  port: 8080
  log_level: 3
```

`name` is the service id. `server.port` is the HTTP port. `server.log_level` is verbosity: 1 errors only, 2 warnings, 3 info, 4 debug.

### Start the server

```bash theme={null}
hyperterse start
```

The CLI loads your config, validates the project, packages TypeScript tools when needed, and serves MCP. For reload on save while developing:

```bash theme={null}
hyperterse start --watch
```

### Verify the server is running

```bash theme={null}
curl http://localhost:8080/heartbeat
```

```json theme={null}
{ "success": true }
```

This only proves HTTP is up—not that a database or model provider is healthy.

## Optional: verify MCP tools

The template includes a hello-world tool.

### List registered tools

```bash theme={null}
curl -s -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/list",
    "id": 1
  }' | jq
```

You should see each tool’s name, description, and input schema.

### Inspect the sample tool

Open the hello-world tool’s `config.terse` next to its handler.

```yaml theme={null}
description: 'Hello world tool'
handler: './handler.ts'
inputs:
  name:
    type: string
    description: 'Name to greet.'
auth:
  plugin: allow_all
```

### Call the tool

```bash theme={null}
curl -s -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "hello-world",
      "arguments": { "name": "Hyperterse" }
    },
    "id": 3
  }' | jq
```

### Validate before deploying

```bash theme={null}
hyperterse validate
```

This catches bad config, missing adapters, schema mistakes, and script packaging errors before you ship.

## Next steps

* [Project structure](/concepts/project-structure) — How discovery and layout work.
* [MCP transport](/runtime/mcp-transport) — How Streamable HTTP and JSON-RPC fit together.
* [Agents overview](/agents/overview) — When to use agent routes vs MCP alone.
* [CLI reference](/reference/cli) — Commands and flags.
