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
- Open Profile → AgentsSign in and go to your profile. Finish workspace setup first if you have not.
- Create a named keyName it after the client, such as “Claude Code laptop”, so you know what to revoke later.
- 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>, orAuthorization: Bearer <agent key>
Claude Code
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.
{
"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.
| Tool | Arguments | What it does |
|---|---|---|
check | repository | Inspect a GitHub repository for deploy blockers, secrets, data needs, and unsafe capabilities. Returns an inspectionReceipt for import. Does not deploy. |
import | inspectionReceipt, safetyAccepted?, audience? | Create or update a Aozumi application from an inspectionReceipt. Requires safetyAccepted=true when the review status is review. |
secrets | applicationId, secrets[{ key, value }] | Store encrypted environment variables for an application. Call after check/import when missingVariables are listed. |
deploy | applicationId | Queue a production deploy. Returns immediately; poll status until live. |
status | applicationId | Latest deploy state, runtime lane (fast wake on Lambda or always on), protected gateway URL, missing setup, and any existing share link. |
logs | applicationId, environmentId? | Read the latest deployment logs for one environment. Returns redacted, size-bounded output and Aozumi's diagnosis; defaults to Production. |
share | applicationId, 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
- checkInspect the repository. Show the findings and required variables to the person.
- importPass the
inspectionReceiptfrom check. Stop if the review is blocked. - secretsOnly if import listed
missingVariables. - deployQueues a Production deploy and returns at once.
- statusPoll until the app is healthy. If the deploy failed, call
logs. - 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
secretstool returns the names it stored, never values. - Separate keys. Agent keys and CLI keys are different. A key from
aozumi loginis 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:
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:
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 .