
Alienprobe Who Mcp
io.github.bbrysonelite-maxPublished by GitHub account bbrysonelite-maxv0.1.0Updated Oct 24, 2026
Company name, domain or LEI to its GLEIF legal entity, $0.05 via x402 on Base. Spend caps.
Overview
Looks up a company's GLEIF legal entity record — LEI, legal name, jurisdiction and status — from a name, domain or LEI, paying $0.05 USDC per call on Base.
- What you can do
- Check the advertised price, network, payee and coverage for free, with no wallet needed (who_terms).
- Requirements
- Runs locally via npx as a stdio process (Node.js). A Base-mainnet wallet private key in PRIVATE_KEY holding USDC is needed only for paid lookups; the free who_terms tool works without it. Optional spend caps MAX_USD_PER_CALL (default 0.10) and MAX_USD_PER_SESSION (default 1.00). Network access to the lookup endpoint.
Installation
In SourceWeft
- Open Alienprobe Who Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
alienprobe-who-mcp
An MCP server that gives any agent one legal-entity fact — LEI, legal name, jurisdiction, entity and registration status — for $0.05 USDC on Base, paid per call over x402. No signup, no API key, no account. The wallet is the account.
Two tools:
Client config
Three lines. Claude Desktop (claude_desktop_config.json) or Cursor (.cursor/mcp.json):
Drop the env block entirely and the server still starts — who_terms works, who refuses with wallet_not_configured. That is the safe way to try it.
Environment
See .env.example. Never commit a real key. Fund a wallet that holds nothing else — about $1 of USDC covers 20 lookups. This repo does not tell you how to get USDC onto Base; see https://docs.base.org/base-chain/tools/bridges/.
Spend caps
The server preflights every who call with a plain, unwrapped fetch — no signer exists on that path — reads the advertised price out of the 402, and only then decides. If the price exceeds MAX_USD_PER_CALL, or would push the running total past MAX_USD_PER_SESSION, it refuses with a result the model can read and act on:
A session is one server process. Restarting the client resets the counter, so the per-session cap is a brake, not a ledger — the wallet balance is the real ceiling. Keep it small.
What comes back
A paid hit is the API's body verbatim plus paid_usd:
q is a company name, a registrable domain, or a 20-character LEI. To disambiguate a name, append a jurisdiction in the same string: "Acme Corp;US-DE".
paid_usd is the authorized price, not the receipt
paid_usd is the amount the server authorized — the price the API advertised in its 402 and that the spend caps were judged against. It is not read back from the chain.
One case where it overstates: a wallet's first successful lookup on this pricing shelf settles at $0 (first-can-free; a property of the service, not of this client). That call still reports "paid_usd": 0.05. Every subsequent call actually moves $0.05.
The server's session counter inherits the same overstatement, which is the safe direction — it stops you early, never late. If you need the truth, the on-chain USDC Transfer from your wallet is the only receipt. Do not use paid_usd for accounting.
Free refusals
These never pay, and they come back as ordinary tool results the model can reason about — not exceptions:
The API only charges once it can commit to one entity, so an ambiguous re-ask is still free while it stays ambiguous.
What this does not do
- No street addresses, no officers or directors, no ownership graph.
- No guessing. A miss is a
404, not a best-effort answer. - Legal names that normalize to fewer than 2 Latin alphanumerics (CJK, Cyrillic, Greek, Arabic, Hebrew, Thai) are absent from this data vintage entirely — every door, not just the name door.
- Domains match only where the source links an LEI to an official website, on the exact registrable domain. A subdomain misses.
Development
npm run smoke hits the live endpoint to fetch the 402. It runs with PRIVATE_KEY blank and asserts the advertised amount is "50000" ($0.05). It cannot pay.
src/core.mjs holds the transport-free logic and takes an injected fetch, which is why the tests never need a wallet. src/index.mjs is only the MCP wiring; @x402/* and viem are imported lazily, on a call already cleared to pay.
Built on @modelcontextprotocol/sdk 1.30.0. See SPEC.md for the full contract and the distribution plan.
License
MIT © Brent Bryson. See LICENSE.
Source: README.md at commit 00fa032
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts