/mcp) using JSON-RPC 2.0. It supports:
- two-tool entrypoints (
search,execute) - first-class prompts
- first-class resources and URI templates
- argument completion
- resource subscriptions
- progress and logging notifications
- session continuity across model reloads
Endpoints
| Endpoint | Methods | Purpose |
|---|---|---|
/mcp | GET, POST, DELETE | MCP Streamable HTTP transport and session lifecycle |
/heartbeat | GET | Liveness endpoint ({"success": true}) |
Protocol version
The runtime uses MCP2025-11-25 protocol types through the Go MCP SDK.
Capability surface
Hyperterse capability exposure includes:tools(listChanged)prompts(listChanged) when prompt definitions existresources(listChanged,subscribe) when resources/templates are configuredcompletionslogging
MCP method support
| Method | Direction | Notes |
|---|---|---|
initialize | client -> server | Standard MCP handshake |
notifications/initialized | client -> server | Standard MCP post-init notification |
ping | client -> server | Supported by SDK |
tools/list | client -> server | Returns transport entry tools (search, execute) |
tools/call | client -> server | Calls search or execute |
prompts/list | client -> server | Lists configured prompts |
prompts/get | client -> server | Resolves prompt messages with argument interpolation |
resources/list | client -> server | Lists concrete resources |
resources/templates/list | client -> server | Lists URI template resources |
resources/read | client -> server | Reads concrete or template-resolved content |
resources/subscribe | client -> server | Validates subscription target and enables updates |
resources/unsubscribe | client -> server | Unsubscribes from resource updates |
completion/complete | client -> server | Provides completions for prompt/template arguments |
notifications/progress | client -> server | Accepted and logged by runtime |
notifications/roots/list_changed | client -> server | Accepted and logged by runtime |
notifications/cancelled | client -> server | Handled by SDK cancellation flow |
Tool entrypoint design
tools/list intentionally exposes exactly two transport entry tools:
search— discover project tools by natural language over tool metadataexecute— execute a project tool by name with validated inputs
Search result limit
.hyperterse
10.
Prompt behavior
Prompts come from:- discovered files under
app/prompts/**/*.terse(or configured directory) - inline root config
promptsarray
prompts/get interpolates {{ argumentName }} placeholders from request arguments.
Resource behavior
Resources come from:- discovered files under
app/resources/**/config.terse(or configured directory) - inline root config
resourcesandresource_templates
resources/read resolves:
- concrete
uriresources (textorfile) uri_templateresources (text_templateorfile_template) using URI path values
Completion behavior
completion/complete is supported for:
- prompt argument completions (
ref/prompt) - resource template argument completions (
ref/resource)
Notifications emitted by Hyperterse
List-change notifications
When model content changes during reload, Hyperterse emits:notifications/tools/list_changed(if tool digest changed)notifications/prompts/list_changednotifications/resources/list_changed(resources/templates list changes)
Resource update notifications
When concrete resource content changes for an existing URI during reload:notifications/resources/updatedis emitted for the changed URI.
Tool call observability notifications
Duringtools/call execution for search and execute:
notifications/progressis emitted (start/completion)notifications/messageis emitted with structured log payloads
Cancellation behavior
Hyperterse runs tool execution with request context propagation. MCP cancellation and transport-level context cancellation are propagated through the execution path where connectors/scripts support context-aware operations.Session behavior and reload continuity
- Streamable HTTP session IDs use
Mcp-Session-Id. DELETE /mcpterminates a session.- Runtime reload updates the existing MCP adapter in place (does not replace the server instance), preserving active sessions.
- Existing sessions continue to function after reload and receive list/update notifications for changed MCP entities.
CORS and headers
The runtime applies CORS headers on/mcp responses, including:
Access-Control-Allow-Origin: *Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONSAccess-Control-Allow-Headers: Content-Type, Authorization, X-API-Key, Mcp-Session-IdAccess-Control-Expose-Headers: Mcp-Session-Id