Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Stillos Kya

by stillmarcus24version 0.4.3i★ –iComputer or cloud
Registry nameio.github.stillmarcus24/stillos-kya

Install

Overview

Description from the maker (original English)

Counterparty due-diligence infrastructure: OFAC screening, on-chain risk, signed verdicts.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://stillos-kya-edge.stillos.workers.dev/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "stillos-kya": {
      "command": "npx",
      "args": [
        "-y",
        "stillos-kya"
      ]
    }
  }
}

Run this in your terminal

claude mcp add --transport http stillos-kya https://stillos-kya-edge.stillos.workers.dev/mcp

Or run it on your computer

claude mcp add stillos-kya -- npx -y stillos-kya

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "stillos-kya": {
      "url": "https://stillos-kya-edge.stillos.workers.dev/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "stillos-kya": {
      "command": "npx",
      "args": [
        "-y",
        "stillos-kya"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "stillos-kya": {
      "type": "http",
      "url": "https://stillos-kya-edge.stillos.workers.dev/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "stillos-kya": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "stillos-kya"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://stillos-kya-edge.stillos.workers.dev/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 9, 2026. The maker wrote them, not us; we show them as plain text.

  • kya_check

    Know Your Agent (KYA): screen a counterparty agent BEFORE paying it. Returns a fail-closed verdict -- CLEAR, REVIEW, or BLOCK -- from an OFAC SDN sanctions screen plus live on-chain wallet signals, with an Ed25519-signed proof-of-diligence receipt on the paid tier. Call this befo

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account stillmarcus24, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 307 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 1 tool descriptions and found no hidden instructions to the AI

Compared with others in Crypto & blockchaini

  • More stars than 0% of the other 1622 servers in this category
  • Published to the registry more recently than 51% of the other 1622 servers in this category
  • Basic checks equal to or better than 100% of the other 1622 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Stillos Kya safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.4.3) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: onchaincheck, Bvcc Agent Wallet, FinzData Workspace

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

onchaincheck

100+ pay-per-call tools: token risk, wallet sanctions screening, onchain data, web, company, AI

by lx1112EarlyUpdated today

Runs in the cloud

Bvcc Agent Wallet

Non-custodial BVCC Agent Wallet on-chain for AI agents: balances, transfers, approvals, swaps.

by blockventurechaincapital-cryptoEarly↓ 622/wkUpdated today

Runs on your computer✓ blockventurechaincapital.com

FinzData Workspace

AI workspace with FinzData built in: stocks, futures, options GEX, macro, crypto data and code runs.

by finzdata.comEarlyUpdated today

Runs in the cloud✓ finzdata.com

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

stillos-kya — Know Your Agent

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.

Endpoint returnsreq.kya.verdictGate
{"verdict":"CLEAR"}CLEARpasses to your handler
{"verdict":"REVIEW"}REVIEWpasses, unless blockOnReview: true -> 403
{"verdict":"BLOCK"}BLOCK403
402 / 4xx / 5xx / network failure—502, fail-closed
200 with no recognized verdict ({}, {"verdict":null}, {"verdict":"UNKNOWN"})UNKNOWN502, fail-closed

That last row changed in 0.4.2. Through 0.4.1 the gate asked "is this BLOCK?" rather than "is this CLEAR?", so any 200 carrying no verdict it recognised fell through to your handler with blocked: false. allowed was already computed correctly and simply never consulted. If you were relying on that behaviour, kyaGate({ failOpen: true }) restores it explicitly — as an opt-in, which is the only form it should ever have had.

0.4.2 also stops the MCP server minting a new agent id on every single call. Set STILLOS_KYA_AGENT for a durable identity across restarts; otherwise one id is minted per process. The free tier meters per source IP, so this never affected quota — it affected whether your repeat usage was legible as repeat usage.

Tiers

  • Free: 2 checks/agent id/day — unsigned verdict, the answer, for triage.
  • Paid ($0.25 USDC via x402, or an API key): the signed, independently-verifiable receipt — the proof-of-diligence that matters in a dispute.

Pricing + full endpoint reference: https://stillosdigitalholdings.com/notary

Past the free tier

Payment support is already installed. x402-fetch and viem ship as optionalDependencies, so npm install stillos-kya installs them for you. There is no second install step. Check it yourself:

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

paymentCapability(); // { available: true, deps: { 'x402-fetch': true, viem: true }, reason: null }

Paying — pass a signer, not a secret

Preferred, in order. StillOS never receives, stores, or logs your key in any of them:

// BEST — you own the whole payment transport. This package never touches a key or signer.

const { wrapFetchWithPayment } = require('x402-fetch'); const payingFetch = wrapFetchWithPayment(fetch, myAccount, 500000n); // 500000 = $0.50 USDC const r = await kya({ name: 'Acme Agent' }, { fetch: payingFetch });

// GOOD — hand us a signer object; the key stays inside it. const r = await kya({ name: 'Acme Agent' }, { account: myViemAccount, maxUsd: 0.5 });

// LEGACY — a raw hex private key. Still supported, deliberately last. A raw key in an // env var is the weakest of these: anything that can read your process env can spend it. const r = await kya({ name: 'Acme Agent' }, { wallet: process.env.MY_WALLET_KEY });

On a 402 the SDK pays and retries exactly once (MAX_PAYMENT_RETRIES === 1). It refuses to sign for a network, asset, or scheme it does not recognise rather than trusting the challenge blindly.

Agent-readable recovery

With no payment capability configured, kya() throws a KyaHttpError carrying everything an autonomous caller needs to act — branch on err.code, never on message text:

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

try { await kya({ name: 'Acme Agent' }); } catch (e) { if (e instanceof KyaHttpError && e.code === CODES.PAYMENT_REQUIRED) { e.payment; // { mechanism:'x402', scheme, network, asset, asset_name, // pay_to, amount_usd, amount_base_units, resource, max_timeout_seconds } e.remediation; // { action:'configure_payment_capability', accepted:[...], // free_tier_alternative: '...' } } }

Codes: PAYMENT_REQUIRED · PAYMENT_CAPABILITY_MISSING · PAYMENT_CONSTRUCTION_FAILED · PAYMENT_REJECTED · PAYMENT_UNSUPPORTED · BAD_402 · BAD_REQUEST · SERVER_ERROR.

Security

StillOS never asks for, receives, transmits, or stores your private key. Payment is signed entirely on your side and reaches us only as a standard x402 X-PAYMENT authorization header. Your own wallet pays your own request.

Key material is never placed in an error message, a log line, or telemetry — including when a malformed key fails to parse, where the underlying library's own error text is deliberately suppressed rather than re-thrown.

STILLOS_KYA_WALLET_KEY remains supported for the CLI and for backward compatibility. It is a legacy convenience, not the recommended architecture: prefer fetch or account in code.

CLI: STILLOS_KYA_WALLET_KEY=0x... stillos-kya check "Acme Agent"

Why signed matters

An unsigned "looks fine" is worthless if a counterparty later turns out sanctioned or fraudulent. A StillOS signed receipt is cryptographic proof that you screened *before* you paid — the audit artifact that protects you.

Ask PopNx