MCP (AI agents)

Montavire speaks the Model Context Protocol, so AI
agents (Claude Desktop, Claude Code, Cursor, and any MCP client) can read your
supply chain in natural language: "Which shipments are due this week?", "List
purchase orders pending approval."

Read-only by design

The MCP surface exposes one tool per GET endpoint across suppliers, factories,
products, purchase orders, shipments, deliveries, packing, labels, warehouses,
imports, events, billing, and settings. There are no create, update, or delete
tools.

Every tool calls /api/v1 with your X-API-Key, so it inherits the exact
scopes and rate limits of that key
. An agent can only see what the key is allowed
to see; a tool whose scope the key lacks returns 403. The tool set is generated
from the same OpenAPI contract as the REST API, so it never drifts.

Option A: Hosted MCP server (recommended)

A hosted MCP endpoint is built into the Montavire backend, for any client that speaks
MCP over HTTP (Streamable HTTP / SSE):

https://api.montavire.com/mcp

In UAT it is https://api-uat.montavire.com/mcp. Connect with your X-API-Key. This is the primary topology: nothing to install,
always current.

Option B: Local stdio server

For clients that only speak stdio, or when you prefer a local process, run the
montavire-mcp package with npx (no install):

MONTAVIRE_API_KEY=mv_live_xxxxxxxx npx montavire-mcp

Configuration

Env varRequiredDefaultNotes
MONTAVIRE_API_KEYyesYour tenant key (mv_live_… / mv_test_…). Mint one in Developer → API keys.
MONTAVIRE_API_BASE_URLnohttps://api.montavire.comUse https://api-uat.montavire.com for UAT, or http://localhost:8080 for local dev.

Claude Desktop / Claude Code

Add to your MCP client config (for example claude_desktop_config.json):

{
  "mcpServers": {
    "montavire": {
      "command": "npx",
      "args": ["-y", "montavire-mcp"],
      "env": {
        "MONTAVIRE_API_KEY": "mv_live_xxxxxxxx"
      }
    }
  }
}

Then ask the agent supply-chain questions and it will compose the read tools to
answer.

Security notes

  • Give agents a dedicated, narrowly scoped key (for example read-only scopes
    only). The agent can do exactly what the key can, nothing more.
  • Revoke the agent's key from Developer → API keys to cut off access
    instantly.
  • Because writes are not exposed over MCP, an agent cannot change your data through
    this surface.

Did this page help you?