Skip to content
Docs

Connect an AI agent (MCP)

Aozumi is an MCP server. Give an agent a key and it can take a repository from inspection to a share link, pausing wherever a person needs to decide. For the bigger picture, see how agents work with Aozumi.

Create an agent key

  1. Open Profile → AgentsSign in and go to your profile. Finish workspace setup first if you have not.
  2. Create a named keyName it after the client, such as “Claude Code laptop”, so you know what to revoke later.
  3. Copy it nowAozumi shows a new key once and stores only a hash of it. Keys start with slt_.

A key acts as you, in its workspace, limited to the access level you choose (Read, Deploy or Manage) and an optional expiry; see access levels. Agents that should create share links need Manage; Deploy covers check, import, secrets, deploy, status and logs. Revoke a key from the same page at any time; the next request with it is refused.

Connect a client

Endpoint
https://aozumi.dev/mcp
Transport
HTTP, JSON-RPC 2.0. Protocol version 2025-03-26.
Authentication
X-API-Key: <agent key>, or Authorization: Bearer <agent key>

Claude Code

Terminal
claude mcp add --transport http aozumi https://aozumi.dev/mcp \
  --header "X-API-Key: $AOZUMI_AGENT_KEY"

Clients that use a JSON config

For a project .mcp.json in Claude Code, and similar mcpServers files in other clients. ${AOZUMI_AGENT_KEY} reads the key from your environment; check how your client expands variables.

.mcp.json
{
  "mcpServers": {
    "aozumi": {
      "type": "http",
      "url": "https://aozumi.dev/mcp",
      "headers": {
        "X-API-Key": "${AOZUMI_AGENT_KEY}"
      }
    }
  }
}

Tools

Listing tools needs no key. Calling one does.

ToolArgumentsWhat it does
checkrepositoryInspect a GitHub repository for deploy blockers, secrets, data needs, and unsafe capabilities. Returns an inspectionReceipt for import. Does not deploy.
importinspectionReceipt, safetyAccepted?, audience?Create or update a Aozumi application from an inspectionReceipt. Requires safetyAccepted=true when the review status is review.
secretsapplicationId, secrets[{ key, value }]Store encrypted environment variables for an application. Call after check/import when missingVariables are listed.
deployapplicationIdQueue a production deploy. Returns immediately; poll status until live.
statusapplicationIdLatest deploy state, runtime lane (fast wake on Lambda or always on), protected gateway URL, missing setup, and any existing share link.
logsapplicationId, environmentId?Read the latest deployment logs for one environment. Returns redacted, size-bounded output and Aozumi's diagnosis; defaults to Production.
shareapplicationId, duration?Mint a week-long app-only share URL when the owner asks for one. It replaces (revokes) any existing link for the environment. Teammates open the app, not GitHub or the Aozumi console. Requires a live protected deploy.

import takes an audience of “My team” (the default), “Only me” or “Specific people”. share takes a duration of day, week (the default) or month, and returns the active link if there already is one.

The usual flow

  1. checkInspect the repository. Show the findings and required variables to the person.
  2. importPass the inspectionReceipt from check. Stop if the review is blocked.
  3. secretsOnly if import listed missingVariables.
  4. deployQueues a Production deploy and returns at once.
  5. statusPoll until the app is healthy. If the deploy failed, call logs.
  6. shareCreate an app-only link once the deploy is live and protected.

Every tool result includes a next field that tells the agent what to do next, so clients do not need to hard-code this order. A good first prompt:

Check my repository with Aozumi. Explain any blockers, required variables and review findings, and wait for my approval before importing, deploying or creating a share link.

Safety model

  • Review gate. A blocked review cannot be imported. A review with findings needs safetyAccepted: true; Aozumi records the decision with the commit and the person.
  • Signed receipts. The inspection receipt is signed, tied to your user and workspace, and expires after 15 minutes, so an agent cannot import something that was never checked.
  • Write-only secrets. The secrets tool returns the names it stored, never values.
  • Separate keys. Agent keys and CLI keys are different. A key from aozumi login is refused here.
  • Revocation. Revoke a key under Profile → Agents and it stops working on the next request.

Call it directly

MCP is JSON-RPC over HTTP, so curl works for testing. List the tools:

Terminal
curl -s https://aozumi.dev/mcp \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Call check with your key:

Terminal
export AOZUMI_AGENT_KEY="slt_your_agent_key"

curl -s https://aozumi.dev/mcp \
  -H "content-type: application/json" \
  -H "X-API-Key: $AOZUMI_AGENT_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "check",
      "arguments": { "repository": "your-org/your-repo" }
    }
  }'

Troubleshooting

401 and “Create an agent key at /profile”

The key is missing, revoked, mistyped or a CLI key. Send an active agent key in X-API-Key.

Tools list, but calls fail

Listing tools needs no key; calls need a valid key, workspace access, and for private repositories, the Aozumi GitHub App installed on that repository.

The client asks for browser OAuth

This endpoint uses API-key headers. Choose a client setting that supports custom headers.

Import is refused

Read the error. A blocked review needs a change in the repository; a review with findings needs a person to accept them; an expired receipt needs a fresh check. Retrying alone does not help.

Questions

Can an AI agent deploy to Aozumi?
Yes. Connect an MCP client to https://aozumi.dev/mcp with an agent key from Profile → Agents, sent as the X-API-Key header. The agent can check a repository, import it, set secrets, deploy, poll status, read logs and create a share link.
Can an agent bypass Aozumi's security review?
No. Import refuses a repository whose review is blocked. When the review needs a decision, import fails unless safetyAccepted is true, which an agent should send only after showing you the findings. Aozumi records who accepted them and for which commit.
What is the difference between an agent key and a CLI key?
Agent keys are created under Profile → Agents for MCP clients. CLI keys are created by aozumi login and only work for CLI deploys in the approved workspace; the MCP endpoint refuses them.
Does the MCP endpoint support OAuth?
No. It uses an API key in a request header. Use a client that supports remote HTTP MCP servers with custom headers.

Checked against the product on .