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

# Praxa: Governed AI Agent Missions Without Credentials

> Praxa lets you submit and observe AI agent missions without holding provider credentials. Get started with the TypeScript SDK or CLI.

Praxa is an agentic mission platform that lets your application submit and observe governed AI agent missions through the Praxa Integration Gateway — without ever holding provider API keys in your code. You define a goal and a resource budget; Praxa handles execution, consent, and scope enforcement entirely server-side. Whether you integrate through the TypeScript SDK, the CLI, or MCP contracts, your application never touches provider credentials.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Install the SDK, set two environment variables, and run your first mission in under 5 minutes.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/overview">
    Explore the full versioned Praxa Integration Gateway REST API, including mission lifecycle endpoints and event streaming.
  </Card>

  <Card title="TypeScript SDK" icon="npm" href="/sdk/overview">
    A typed HTTP and server-sent-event client for submitting and observing missions from Node.js applications.
  </Card>

  <Card title="MCP Contracts" icon="plug" href="/mcp/overview">
    MCP 2025-03-26 tool and JSON-RPC contracts for integrating Praxa missions into model-context-protocol workflows.
  </Card>
</CardGroup>

## Get started in four steps

<Steps>
  <Step title="Get your gateway URL and token">
    Obtain your Praxa Integration Gateway HTTPS origin and a short-lived delegated OAuth access token from your Praxa deployment administrator. You'll export both as environment variables before running any code.
  </Step>

  <Step title="Install the SDK">
    Add `@praxa/sdk` to your Node.js 20+ project with your package manager of choice:

    ```sh theme={null}
    npm install @praxa/sdk
    ```
  </Step>

  <Step title="Create your first mission">
    Instantiate a `PraxaClient` with your gateway URL and token provider, then call `createMission` with a goal specification and a resource budget. The SDK returns a `runId` and initial status immediately.

    ```ts theme={null}
    import { PraxaClient } from "@praxa/sdk";

    const praxa = new PraxaClient({
      baseUrl: process.env.PRAXA_BASE_URL!,
      accessToken: () => process.env.PRAXA_ACCESS_TOKEN!,
    });

    const mission = await praxa.createMission(
      {
        goalSpec: { task: "Prepare the weekly review" },
        resourceBudget: {
          maximumSteps: 12,
          maximumToolCalls: 8,
          maximumElapsedMs: 120_000,
          maximumParallelism: 2,
        },
      },
      crypto.randomUUID(),
    );

    console.log({ runId: mission.runId, status: mission.status });
    ```
  </Step>

  <Step title="Stream mission events">
    Use `missionEvents` to consume the bounded, resumable server-sent-event stream for your mission:

    ```ts theme={null}
    for await (const event of praxa.missionEvents(mission.runId)) {
      console.log(event.id, event.event, event.data);
    }
    ```
  </Step>
</Steps>

## Explore further

<CardGroup cols={3}>
  <Card title="Mission Concepts" icon="lightbulb" href="/concepts/missions">
    Understand the mission model: goal specs, resource budgets, idempotency keys, and the event stream lifecycle.
  </Card>

  <Card title="Task Automation" icon="gears" href="/use-cases/task-automation">
    See how Praxa fits into automated task pipelines and recurring workflows without embedding credentials.
  </Card>

  <Card title="CLI Reference" icon="terminal" href="/cli/overview">
    Use `@praxa/cli` to create, inspect, and cancel missions from the command line or CI pipelines.
  </Card>
</CardGroup>
