Jarvis Docs
API Reference

API Overview

Headless API reference for Nous-OSS

API Overview

Nous exposes two headless API surfaces:

  • tRPC for first-party web and CLI clients
  • Public MCP over Streamable HTTP for approved external clients

Both surfaces are thin adapters over the same canonical runtime. tRPC owns first-party procedure routing; the public MCP edge owns machine-to-machine discovery and admission. Neither creates a second business-logic stack.

tRPC

Base URL

  • Development: http://localhost:4317
  • Route: /api/trpc

Transport

  • Queries and mutations — HTTP (batched)
  • Subscriptions — WebSocket (Phase 1: not implemented; streaming deferred to Phase 2+)

Authentication

When NOUS_BASIC_AUTH is set, include the Authorization: Basic header. The tRPC client adds it automatically when the env var is present.

Routers

RouterPurpose
projectsProject CRUD, workflow authoring, visual debugging, dashboard, and governed project configuration
chatSend messages, get history
tracesExecution traces
memoryMemory entries, export, delete
packagesCanonical app-install/settings preparation, governed app install/settings save, and active app-panel projection
preferencesVault-backed provider keys, available models, model selection persistence, and system status
configConfiguration get/update
healthSystem health check, status snapshots, provider health, and agent status
firstRunFirst-run flow status and completion
witnessWitness verification reports, checkpoints, and key-epoch operations

See Procedures for the full reference.

Public MCP

The public MCP edge is hosted by the web app and exposed at the canonical /mcp route.

Endpoints

  • Transport: POST /mcp
  • Protected Resource Metadata: GET /.well-known/oauth-protected-resource/mcp
  • Authorization Server Metadata: GET /.well-known/oauth-authorization-server/mcp

Authentication and admission

  • /mcp requires OAuth bearer posture before any tool mapping, namespace bootstrap, or shared handler execution
  • Admission validates request schema, token posture, audience, origin, and scopes at the boundary
  • External callers are represented as ExternalClient subjects only at the public boundary; internal agent classes are unchanged

See Public MCP Edge for the machine-facing reference.

On this page