Archon
BLOCKgrade F · trust 32/100The first open-source harness builder for AI coding. Make AI coding deterministic and repeatable.
aiautomationbunclaudeclicoding assistantdeveloper toolstypescriptOverview
From the repository's own README, as read at the audited commit.
# Maintainer StandupDaily morning briefing for Archon maintainers. Pulls latest `dev`, fetches all open PRs and assigned issues, classifies them **P1–P4** against `direction.md`, and surfaces progress versus the previous run (merged, closed, what you shipped).## Files in this folder| File | Committed? | Purpose ||------|:---:|---------|| `direction.md` | ✓ | Project north-star — what Archon IS / IS NOT. **Shared by all maintainers.** Drives PR triage and polite-decline classification. || `README.md` | ✓ | This file. || `profile.md.example` | ✓ | Template for new maintainers to copy. || `profile.md` | gitignored | Your personal config (gh handle, role, focus areas). || `state.json` | gitignored | Auto-written carry-over for the next run. || `briefs/YYYY-MM-DD.md` | gitignored | Daily prose briefs. Last 3 are read into the next run. |`direction.md` is committed because triage decisions should be consistent across maintainers and across runs. `profile.md`, `state.json`, and `briefs/` are personal — your focus, your daily notes, your reading material — so each maintainer manages their own.## Setup for a new maintainer1. Copy the template: ```bash cp .archon/maintainer-standup/profile.md.example .archon/maintainer-standup/profile.md ```2. Edit `profile.md`: - Set `gh_handle` to your GitHub login. - Set `role` and `scope` to match your maintainer focus (`main_maintainer` / `everything` for full coverage; narrower for sub-maintainers). - Optionally fill in **Currently focused on** — the synthesizer weights items toward what you list there.3. Run it: ```bash archon workflow run maintainer-standup "" ```4. The first run is a baseline (no prior state to diff). Subsequent runs compare against `state.json` and surface "Resolved since last run" / "What you shipped" / aged carry-over items.## How it works (engine view)1. **Three gather scripts** run in parallel (`bun`, no AI): - `maintainer-standup-git-status.ts` — fetches `origin/dev`, fast-forwards if safe,
Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add workflows --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env ANTHROPIC_OAUTH_TOKEN=${ANTHROPIC_OAUTH_TOKEN} --env ARCHON_CODEX_MCP_TOKEN=${ARCHON_CODEX_MCP_TOKEN} --env ARCHON_CODEX_MISSING_TOKEN=${ARCHON_CODEX_MISSING_TOKEN} -- npx -y @archon/[email protected]{
"mcpServers": {
"workflows": {
"command": "npx",
"args": [
"-y",
"@archon/[email protected]"
],
"env": {
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"ANTHROPIC_OAUTH_TOKEN": "${ANTHROPIC_OAUTH_TOKEN}",
"ARCHON_CODEX_MCP_TOKEN": "${ARCHON_CODEX_MCP_TOKEN}",
"ARCHON_CODEX_MISSING_TOKEN": "${ARCHON_CODEX_MISSING_TOKEN}"
}
}
}
}Exposed tools (69) 64 read · 5 write · 0 destructive
| Tool | Risk | Description |
|---|---|---|
a | read | hi |
add-feature | write | Add a new feature |
addressable | read | Addressable session example |
alpha-one | read | One |
alpha-two | read | Two |
approval-fixture | read | Pauses for human review before proceeding. |
archon-assist | read | Help |
archon-comprehensive-pr-review | read | Full review |
archon-fix-github-issue | read | test workflow |
archon-idea-to-pr | read | legacy default |
archon-plan | read | Plan |
archon-plan-to-pr | read | legacy default |
archon-pr | read | sdlc pack |
archon-review | read | Review |
archon-smart-pr-review | read | Smart review |
archon-validate-pr | read | legacy default |
assist | read | General assistance workflow |
assist-helper | read | Substring match |
await-checks | read | waits for checks |
bg-workflow | read | background dispatch test workflow |
build | read | Requires a worktree |
cancel-fixture | write | Aborts the run when the precheck reports a blocker. |
command-block | read | Used only by runtime-width composition |
container-wait | read | unsupported durable wait in container isolation |
custom-review | read | Custom review |
deploy | write | Deploy app |
deterministic-loop | read | Terminates on until_bash alone |
edge-cases | read | true |
existing-workflow | read | An existing workflow |
feature-development | read | Full feature development workflow |
figma-mcp-smoke | read | Smoke test Figma MCP |
fix-bug | read | Fix a bug in the codebase |
fix-issue | read | Fix a GitHub issue |
gate-blk | read | gate-blk |
gated | read | frozen |
global-workflow | read | Global workflow |
hello | read | Say hello. |
implement | read | Implement changes |
invalid-authored-outcome | read | missing selected return node |
judgment-loop | read | Terminates on a validated boolean |
leaky-block | read | Must not bind parent state |
loop-command-fixture | read | Iterates a command-file prompt until COMPLETE. |
loop-fixture | read | Iterates until the work reports COMPLETE. |
loopy | read | |
manage_run | write | Inspect and operate this project |
mixed-fixture | read | Classify, branch on the result, and finish. |
multiline | read | |
my-workflow | read | test |
nested-block | read | Nested command scan fixture |
other | read | Other workflow |
parent | read | Fans out a command-backed block |
plan | write | Create implementation plan |
quoting | read | |
read-error-block | read | Matched command read errors must not fall through |
review-block | read | frozen |
scalar-context | read | Scalar context example |
scope-error-block | read | Scope inspection errors must not fall through |
script-fixture | read | Runs an inline TypeScript script via bun. |
short | read | Short description |
some-workflow | read | x |
test | read | After |
test-wf | read | Test |
test-workflow | read | A test workflow |
triage | read | Read-only triage |
w | read | d |
wait-draft | read | wait mode is selected before its value is entered |
wait-for-checks | read | waits for an external signal |
wait-for-recovery | read | waits for an operator action |
x | read | y |
Details
- Source
- coleam00/archon
- npm
@archon/workflows@0.10.1- Credentials it reads
ANTHROPIC_API_KEYANTHROPIC_OAUTH_TOKENARCHON_CODEX_MCP_TOKENARCHON_CODEX_MISSING_TOKENARCHON_GIT_PASSWORDARCHON_PI_AUTH_PATHARCHON_WEB_AUTH_HEADERAUTH_PASSWORD_HASHAUTH_PORTAUTH_USERNAMEAWS_ACCESS_KEY_IDAWS_BEARER_TOKEN_BEDROCK- License
- MIT
- Stars
- 23,480 · pushed 0d ago
Trust audit
Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (12 observation(s))
- Network
- declared (9 observation(s))
- Shell
- declared (4 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
# GITHUB_APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"
{ key: 'containerExec', label: 'Container exec (folder-project container backend)' },if [ -n "$DEFAULT_USER" ] && [ -f /home/$DEFAULT_USER/.ssh/authorized_keys ]; then
cp /home/$DEFAULT_USER/.ssh/authorized_keys /home/archon/.ssh/authorized_keys
chmod 600 /home/archon/.ssh/authorized_keys
elif [ -f /root/.ssh/authorized_keys ]; then
cp /root/.ssh/authorized_keys /home/archon/.ssh/authorized_keys
# DATABASE_URL=postgresql://postgres:postgres@localhost:5432/remote_coding_agent
# DATABASE_URL=postgresql://postgres:postgres@postgres:5432/remote_coding_agent
DATABASE_URL=postgresql://postgres:postgres@postgres:5432/remote_coding_agent
# DATABASE_URL=postgresql://postgres:postgres@postgres:5432/remote_coding_agent
archon complete feature-auth --force # bypass safety checks
| 'exfil'
exfil: [/curl\s+[^|]+\|\s*(ba)?sh/, /wget\s+[^|]+\|\s*(ba)?sh/, /fetch\s*\([^)]+\).*\.\s*then.*exec/],
exfil: 'critical',
url="http://127.0.0.1:$port/internal/git-credential"
ARCHON_TEST_PG_URL: postgres://postgres:postgres@localhost:5432/postgres
const token = 'gitea-clone-token-123';
const token = 'gitlab-adapter-token-789';
const token = 'gitlab-rejected-token-987';
{ kind: 'pat', token: 'fake-token-for-testing' },{ kind: 'pat', token: 'fake-token-for-testing' },'-----BEGIN RSA PRIVATE KEY-----\nMIIBOgIBAAJBAKj34GkxFhD90vcNLYLInFEX6Ppy1tPf9Cnzj4p4WGeKLs1Pt8Qu\n-----END RSA PRIVATE KEY-----';
GITHUB_APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"
SLACK_BOT_TOKEN=xoxb-your-bot-token
Gates applied: critical_finding, instruction_override, no_behavioural_pass.
Audited 2026-09-16 · audit v0.4.0 · source sha e047dfb1b6fe · full audit: observations/trust-audit/mcp-server/coleam00__archon.json · Report an issue or request a re-scan
Audit history
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-16 | e047dfb1b6fe | BLOCK | F | 32 | first audit |
Alternatives
Other servers in the same categories, safer ones first.
Questions
What is the Archon MCP server?
The first open-source harness builder for AI coding. Make AI coding deterministic and repeatable.
What tools does Archon expose?
69 in total: 64 read-only, 5 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Archon safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (32/100) and found 12 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does Archon need?
It reads ANTHROPIC_API_KEY, ANTHROPIC_OAUTH_TOKEN, ARCHON_CODEX_MCP_TOKEN, ARCHON_CODEX_MISSING_TOKEN, ARCHON_GIT_PASSWORD, ARCHON_PI_AUTH_PATH, ARCHON_WEB_AUTH_HEADER, AUTH_PASSWORD_HASH, AUTH_PORT, AUTH_USERNAME, AWS_ACCESS_KEY_ID and AWS_BEARER_TOKEN_BEDROCK from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How current is this page?
The grade is for one exact copy of the source (e047dfb1b6fe), read on 2026-09-16. The repository is watched and re-audited when it changes.
Provenance: OBSERVED · read 2026-09-16 · job trust-audit-2026-09-16