Skip to main content
Praxa ships first-class MCP (Model Context Protocol) 2025-11-25 support, with negotiated 2025-03-26 compatibility, via the @praxa/mcp-contracts package. The package exports the full set of typed tool definitions — names, input schemas, required scopes, and HTTP operation metadata — so you can register Praxa capabilities with any MCP-compatible server or agent framework in a few lines of code, without having to hand-craft JSON Schema or maintain route mappings yourself.
The @praxa/mcp-contracts package contains protocol-only contracts. It defines what the tools look like and what they require; it does not include server-side execution logic or provider credentials. Your application is responsible for routing each tool invocation to a PraxaClient instance that holds a valid access token.

Installing MCP Contracts

The package has no runtime dependencies and is safe to import in both Node.js and edge environments.

Available MCP Tools

PRAXA_MCP_TOOLS exports all 12 definitions in the Praxa MCP tool surface. The wider Integration Gateway also includes transport operations that are not MCP tools. The table below lists each MCP tool, the operation it maps to, and the OAuth scope your access token must carry for the call to be authorised. Each entry in the array also carries inputSchema (a JSON Schema object), operationId, method, path, idempotency, and an optional pathArgument field that names the input key to interpolate into the URL path.

Registering Tools with Your MCP Server

Use PRAXA_MCP_TOOLS as the source for your server’s registration loop. Each inputSchema is raw JSON Schema draft 2020-12; convert it through the adapter required by your chosen MCP server library.
The registration loop is framework-neutral pseudocode because MCP server libraries accept raw JSON Schema through different adapters. Preserve tool.annotations when converting the schema so read-only, destructive, idempotent, and open-world hints reach the host.
You can narrow which tools you expose by filtering the array before iterating. For example, to register only read-only tools in a restricted context:

Looking Up a Single Tool

Use praxaMcpTool() to retrieve the definition for a single tool by name. This is useful when you need to inspect the input schema or required scope for a specific operation without importing the full array.
praxaMcpTool() returns undefined if no tool with the given name exists, so it is safe to use in conditional registration logic.

Protocol Version

The package exports protocol revisions separately from the server wire name and software version:
Pass MCP_PROTOCOL_VERSION to your server’s handshake or capability advertisement to prefer MCP 2025-11-25. Negotiate MCP_LEGACY_PROTOCOL_VERSION only for a 2025-03-26 client. Use MCP_SERVER_NAME when configuring client discovery or logging so that your server identifies itself consistently.
The package and TypeScript exports use Praxa branding, but the stable wire identifiers remain Aura-compatible: MCP_SERVER_NAME is "aura-agent-os" and tool names use aura_*. Always register the exported values unchanged.

Add Praxa tools to an agent

Register the exact 12 published wire contracts in a Vercel AI SDK, OpenAI, LangChain, or framework-neutral host and test schema fidelity.
Last modified on August 14, 2026