Agentic Terminal Directory
CAUTIONgrade B · trust 87/100Agent commerce directory for Lightning, BOLT12, L402, and USDT merchants. Merchants self-register and land self-attested; an Observer Protocol attestation tier records what has been checked on each.
Overview
From the repository's own README, as read at the audited commit.
# AT Directory**Where agents discover OP-verified merchants on the rails Bitcoin and Tether actually use.**AT Directory indexes merchants that sell products, services, APIs, or content and accept Lightning, BOLT12, L402, or USDT (any chain), with trust attestations issued through [Observer Protocol](https://observerprotocol.org). It is the verified, agent-callable layer on top of the fragmented agent-payment landscape. It is **not** in the payment path — agents discover here and pay merchants directly.- **MCP server** (primary product) — `@agenticterminal/mcp-server`, hosted at `mcp.agenticterminal.ai`.- **Web directory** — [agenticterminal.ai](https://agenticterminal.ai), same data rendered for humans.- **SKILL.md** — teaches an agent how to query and complete payment handoff.## StatusPre-v1, active build. Target: week of 2026-05-18 for a live Tether-meeting demo. v1 ships Tiers 1–2.## Use it from an agent```jsonc// Hosted (recommended, no install){ "mcpServers": { "at-directory": { "url": "https://mcp.agenticterminal.ai/mcp" } } }``````bashnpm install -g @agenticterminal/mcp-server # local alternative```Six tools: `search_merchants`, `get_merchant`, `verify_payment_endpoint`, `list_categories`, `list_rails`, `whoami`. Reads are ungated — anonymous agents see all tiers and can transact with no setup. An Observer Protocol `DirectoryAccessCredential` raises rate limits and unlocks write access (reviews), but is not required to discover or transact. Full reference: [agenticterminal.ai/api-docs](https://agenticterminal.ai/api-docs).## Repo layout```data/merchants/ One JSON file per merchant (the source of truth).data/schema/ JSON Schema (Draft 2020-12) for merchant records.data/categories.json Category taxonomy.data/rails.json Supported rails + USDT chains.data/LOGO-AUDIT.md Logo sourcing checklist.packages/core/ Types, schema-validated load, search/filter.packages/mcp-server/ stdio + hosted HTTP MCP server, rail verificConnect
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 skill --env AT_CREDENTIAL=${AT_CREDENTIAL} --env AT_MERCHANT_DID_SERVICE_KEY=${AT_MERCHANT_DID_SERVICE_KEY} --env AT_MERCHANT_VC_SIGNING_KEY=${AT_MERCHANT_VC_SIGNING_KEY} --env TURNSTILE_SECRET_KEY=${TURNSTILE_SECRET_KEY} -- npx -y @at-directory/[email protected]{
"mcpServers": {
"skill": {
"command": "npx",
"args": [
"-y",
"@at-directory/[email protected]"
],
"env": {
"AT_CREDENTIAL": "${AT_CREDENTIAL}",
"AT_MERCHANT_DID_SERVICE_KEY": "${AT_MERCHANT_DID_SERVICE_KEY}",
"AT_MERCHANT_VC_SIGNING_KEY": "${AT_MERCHANT_VC_SIGNING_KEY}",
"TURNSTILE_SECRET_KEY": "${TURNSTILE_SECRET_KEY}"
}
}
}
}Exposed tools (7) 6 read · 1 write · 0 destructive
| Tool | Risk | Description |
|---|---|---|
Beta | read | sells eSIMs |
get_merchant | read | Get the full record for one merchant including all rails, payment endpoints, and OP attestation. Tier 2+ requires an AT credential. |
list_categories | read | List the category taxonomy with merchant counts. |
list_rails | read | List supported payment rails and their current merchant counts. |
search_merchants | read | Search OP-verified merchants by rail, chain, category, agent-callable tier, trust tier, and free text. Ranked by trust tier then verification recency. |
verify_payment_endpoint | write | Run a live check against a merchant |
whoami | read | Report the resolved credential state and rate limits for the calling agent. |
Details
- Source
- observer-protocol/at-directory
- npm
@at-directory/skill@0.0.0- Transports
- stdio · streamable-http
- Credentials it reads
AT_CREDENTIALAT_MERCHANT_DID_SERVICE_KEYAT_MERCHANT_VC_SIGNING_KEYTURNSTILE_SECRET_KEY- License
- MIT
- Stars
- 0 · pushed 0d ago
Trust audit
Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (5 observation(s))
- Network
- declared (12 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (20)
CMD node -e "fetch('http://127.0.0.1:'+(process.env.PORT||8099)+'/healthz').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"process.stderr.write(`[mock-verifier] listening on http://127.0.0.1:${PORT}\n`);.prettierrc.json
import { allListings } from '../../lib/data';} from '../../lib/display-policy';
import { MarketplaceBrowser } from '../../components/MarketplaceBrowser';import type { Merchant, RailName } from '../../../packages/core/src/types.ts';['169.254.169.254', /link-local.*cloud metadata/],
['::ffff:169.254.169.254', /link-local/],
res.writeHead(302, { Location: 'https://169.254.169.254/latest/meta-data/' });expect(res.headers.location).toBe('https://169.254.169.254/latest/meta-data/');AT_VERIFIER_URL=http://127.0.0.1:8787 \
service: http://100.86.223.47:8443
if (addr && typeof addr === 'object') url = `http://127.0.0.1:${addr.port}/verify`;return Ed25519PrivateKey.from_private_bytes(bytes.fromhex(hex_str.strip()))
next, react, react-dom, @types/node, @types/react, @types/react-dom, tsx, typescript
@types/node, prettier, tsx, typescript, vitest
ajv, ajv-formats, @types/node, typescript, vitest
@modelcontextprotocol/sdk, zod, @types/node, esbuild, typescript, vitest
apps/web/public/logos/maxi-0001.png
Gates applied: no_behavioural_pass.
Audited 2026-09-16 · audit v0.4.0 · source sha 383a38d4ea7c · full audit: observations/trust-audit/mcp-server/observer-protocol__directory.json · Report an issue or request a re-scan
Audit history
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-16 | 383a38d4ea7c | CAUTION | B | 87 | first audit |
Also audited
Servers with a similar trust profile.
Questions
What is the Agentic Terminal Directory MCP server?
Agent commerce directory for Lightning, BOLT12, L402, and USDT merchants. Merchants self-register and land self-attested; an Observer Protocol attestation tier records what has been checked on each.
What tools does Agentic Terminal Directory expose?
7 in total: 6 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Agentic Terminal Directory safe to connect to an agent?
With care. The audit graded it B (87/100) and found 20 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does Agentic Terminal Directory need?
It reads AT_CREDENTIAL, AT_MERCHANT_DID_SERVICE_KEY, AT_MERCHANT_VC_SIGNING_KEY and TURNSTILE_SECRET_KEY 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 does Agentic Terminal Directory run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @at-directory/skill at 0.0.0.
How current is this page?
The grade is for one exact copy of the source (383a38d4ea7c), 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