Skip to main content

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.

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

Agents

Long-running agents with models, permissions over tools, and standard agent HTTP—without wiring a second server.

Tools

Actions exposed to MCP: queries, APIs, or scripts, with validation and auth in one declarative layer.

Resources

Read-only context clients can pull in—static text, files, or parameterized templates.

Prompts

Reusable prompt templates with arguments and client-side completion hints.
Project structure — layout and discovery.

Baseline: install and run

Install the CLI

curl -fsSL https://hyperterse.com/install | bash
Installation — package managers and verification.

Scaffold a project

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:
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

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

Verify the server is running

curl http://localhost:8080/heartbeat
{ "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

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.
description: 'Hello world tool'
handler: './handler.ts'
inputs:
  name:
    type: string
    description: 'Name to greet.'
auth:
  plugin: allow_all

Call the tool

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

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

Next steps