Atlas / MCP servers / stillmarcus24 / stillmarcus24-stillos-kya

stillmarcus24-stillos-kyaSAFE

mcp/stillmarcus24/stillos-kya

Know Your Agent (KYA): drop-in counterparty trust check for agent-to-agent commerce — CLEAR/REVIEW/BLOCK, OFAC + on-chain wallet signals, signed receipt. npm + MCP.

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
—
Transport
stdio · streamable-http
License
—
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

The trust toll for agent-to-agent commerce. Before your AI agent pays another agent, run one check: is the counterparty sanctioned? Is its wallet a scam/contract/drained? StillOS returns a fail-closed CLEAR / REVIEW / BLOCK verdict — OFAC SDN screen + live on-chain wallet signals — with an Ed25519-signed receipt you can attach to the transaction as proof-of-diligence.

a16z (Big Ideas 2026) calls "Know Your Agent" — signed agent credentials + counterparty trust — the prerequisite for merchants to let agents onto payment rails. This is a working drop-in for it.

Install

npm install stillos-kya

Use — one call

const { kya } = require('stillos-kya');

const r = await kya({ name: 'Acme Agent', wallet: '0xabc...' });
if (!r.allowed) throw new Error(`counterparty ${r.verdict}`); // CLEAR | REVIEW | BLOCK
// r.receipt -> { hash, signature, verify }  (signed, verifiable proof-of-screening)

Use — gate an x402 / express route in one line

const { kyaGate } = require('stillos-kya');

// Every payment through this route runs a counterparty trust-check first.
app.post('/pay-agent', kyaGate({ blockOnReview: false }), async (req, res) => {
// req.kya = { verdict, allowed, checks, receipt, ... }
// ...proceed to pay; blocked counterparties never reach here
});

What the gate lets through (0.4.2)

kyaGate requires a positive clearance. It does not merely block BLOCK.

That last row changed in 0.4.2. Through 0.4.1 the gate asked "is this BLOCK?" rathe

Read from source at commit 6ecc766dc5cdOBSERVED · 2026-10-12
02

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-code (npm)
claude mcp add stillos-kya -- npx -y [email protected]
03

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (1 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (7)

LOWInventory / provenance · inv.hidden_file · CWE-1104
.wellknown-verify
.wellknown-verify
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
test/fail-closed-gate.test.cjs:42
const mw = kyaGate({ endpoint: `http://127.0.0.1:${server.address().port}/agent-clearance`, timeoutMs: 3000, ...opts });
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
test/payment-funnel.test.cjs:48
const resource = `http://127.0.0.1:${server.address().port}/agent-clearance`;
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
test/payment-funnel.test.cjs:69
const endpoint = `http://127.0.0.1:${server.address().port}/agent-clearance`;
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
x402-fetch, viem
Why it matters. 2 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWInventory / provenance · mcp.no_tools_extracted · CWE-1104
server.json
Why it matters. the tool list is enumerated at runtime by tools/list, not declared in source
Fix. the page says so rather than showing an empty table

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-12 · audit v0.4.1 · source sha 6ecc766dc5cdfull audit observations/trust-audit/mcp-server/stillmarcus24__stillos-kya.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-126ecc766dc5cdSAFEB89first audit
05

Questions

What is the stillmarcus24-stillos-kya MCP server?

Know Your Agent (KYA): drop-in counterparty trust check for agent-to-agent commerce — CLEAR/REVIEW/BLOCK, OFAC + on-chain wallet signals, signed receipt. npm + MCP.

Is stillmarcus24-stillos-kya safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does stillmarcus24-stillos-kya need?

It reads STILLOS_KYA_WALLET_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 stillmarcus24-stillos-kya run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as stillos-kya at 0.4.2.

How current is this page?

The grade is for one exact copy of the source (6ecc766dc5cd), read on 2026-10-12. The repository is watched and re-audited when it changes.

Advertisement