Skip to main content
Praxa MCP integration has two separate deliverables: the published @praxa/mcp-contracts package describes 12 stable tools, while a configured Integration Gateway executes those tools through a deployment-specific remote MCP endpoint. Choose the package-only path to build a host adapter; choose the remote path only when you have that deployment’s URL and OAuth authority.

Prerequisites

  • Node.js 20 or later for the package examples;
  • an MCP host that supports JSON Schema draft 2020-12 or a reviewed schema adapter;
  • for remote execution, a deployment-specific HTTPS /mcp URL and delegated OAuth flow;
  • a disposable tenant, token, and input for the first canary.

1. Install and inspect the package

The Praxa-named exports intentionally preserve aura_* wire tool names and aura-agent-os. Do not rename those identifiers in your host.

2. Prove the contract locally

Save that as praxa-mcp.test.mjs and run node --test praxa-mcp.test.mjs. This proves the package bytes and your module loader, not remote execution.

3. Choose an execution path

Obtain the canonical /mcp URL from your Praxa deployment. Configure it as a Streamable HTTP server in the host and complete the host’s OAuth flow. Do not guess the URL from api.praxa.io; the Integration Gateway is deployment-specific.Start by allowing one safe-read tool such as aura_get_coverage. Keep mutation tools disabled or approval-required until the negative tests pass.

4. Run the first remote canary

  1. List tools and require the 12 exact aura_* identifiers.
  2. Confirm the negotiated protocol is 2025-11-25 or supported compatibility revision 2025-03-26.
  3. Call one safe-read tool with its required scope.
  4. Repeat without that scope and require a fail-closed authorization result.
  5. Revoke the disposable token and require the next call to fail.
  6. Check host and gateway logs for zero token or sensitive-payload leakage.

Troubleshooting

Best practices

  • Allowlist only the tools needed for the workflow.
  • Require human approval for mutations and always for destructive tools.
  • Treat annotations as hints from a trusted contract, not as authorization.
  • Persist one idempotency key per logical mutation and reuse it for exact retries.
  • Bound tool output before adding it to model context.
  • Verify run, trace, event, or receipt independently of the model’s final answer.
Next, follow the host setup guide, inspect all tool contracts, and run the production checklist.
Last modified on August 14, 2026