Let your coding agent investigate production without giving it production access.
A small collector runs on your server as an unprivileged user and makes outbound HTTPS requests only. It redacts logs on the server, encrypts them, and sends them through a relay with a short TTL. A local MCP server on your machine gives your coding agent typed read jobs in a live session or tools over a one-shot artifact. The agent gets no shell, SSH key, or network path to your server through Aken.
Status: phase 2, live sessions and one-shot mode. aken serve handles
catalog read jobs with terminal approvals at level 1 or preapproval at level 0.
aken collect uploads one reviewed, redacted, encrypted artifact.
aken-mcp supports both modes. The protocol and the code have not been
professionally reviewed. The current release series is v0.x pre-release.
| On the server | On your machine |
|---|---|
| Install the collector. | Install the MCP and connect your agent. |
Start: sudo aken serve. |
Join: aken-mcp join. |
| Approve jobs in the terminal. | Ask the agent to investigate. |
On the server, install the collector:
curl -fsSL https://aken.dev/install.sh | sudo bashOn your own machine, install the local MCP (Linux or Apple Silicon macOS) with Node 18 or later:
npm install -g aken-mcpWithout Node, use the MCP installer. On your machine, register the MCP with Claude Code:
claude mcp add aken -- aken-mcp serveFor Codex CLI or Cursor, see Use the local MCP. See Install for version selection and the collector's run-once option, or Verify a release for signature verification.
Open a live session on the server. The aken command switches to the
unprivileged aken user before the collector starts:
sudo aken serveOn your machine, run this and paste the printed token at the prompt:
aken-mcp joinOn your machine, ask Claude Code:
Use the aken MCP to check the nginx journal for errors in the last hour. Propose a plan for any follow-up reads.
Approve jobs or plans in the server terminal. The default level 1 sends redacted results automatically unless they have strings to inspect; those pause for send or drop. See Live sessions for levels and scope.
For a one-shot artifact, run this on the server instead:
sudo aken collect --unit nginx --since 1hReview the redacted content, then choose send to encrypt and upload it.
Join its printed token with aken-mcp join on your machine. Then ask the
agent to summarise the collected log and list its error lines.
On your machine, check the session mode and expiry:
aken-mcp statusThe hosted relay at relay.aken.dev is free and needs no account. It is a
best-effort service, and limits apply. See Hosted relay
for details, or Run your own relay to self-host.
| Path | Contents |
|---|---|
cmd/aken |
Collector |
cmd/aken-mcp |
Local MCP |
cmd/aken-relay |
Relay with memory, directory, or R2 storage |
protocol/ |
Tokens, artifacts, and relay client |
relay/ |
Relay API v0 request handling used by aken-relay and other relays |
internal/ |
Collector, redaction, MCP, and relay service packages |
rules/ |
Default redaction rules |
spec/ |
Specifications, vectors, and the conformance suite |
docs/ |
User docs |
.github/workflows/ |
CI checks and signed, reproducible releases |
Requires Go 1.27.1, pinned in go.mod, and golangci-lint v2.13.2 for make lint.
Go's automatic toolchain selection downloads the required toolchain when the
local Go is older.
make build
make checkmake build puts the three binaries in bin/. make check runs lint, vet,
tests, the dependency check and the reproducibility check.
See Install for setup and Verify a release for signature and checksum checks.
- Install
- Verify a release
- Troubleshooting
- Live sessions
- Collect logs
- Run your own relay
- Docker logs
- Redaction
- Use the local MCP, including Claude Code, Codex CLI, and Cursor
Changes: see the release notes.
Read SECURITY.md for reporting vulnerabilities and THREAT-MODEL.md for the trust boundaries and risks. Redaction is defence in depth and can miss sensitive data.
See CONTRIBUTING.md and the dependency budget in DEPENDENCIES.md. Maintainers publish releases as RELEASING.md describes.
Apache-2.0. See LICENSE.