Private Law Wiki
Sourced answers, search and bank-case assessment for wiki.private.law by the Mothership runtime.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Company name, domain or LEI to its GLEIF legal entity, $0.05 via x402 on Base. Spend caps.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
PRIVATE_KEY, MAX_USD_PER_CALL, MAX_USD_PER_SESSIONค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"alienprobe-who": {
"command": "npx",
"args": [
"-y",
"@alienprobe/who-mcp"
],
"env": {
"PRIVATE_KEY": "ใส่ค่าของคุณ",
"MAX_USD_PER_CALL": "ใส่ค่าของคุณ",
"MAX_USD_PER_SESSION": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add alienprobe-who --env PRIVATE_KEY='ใส่ค่าของคุณ' --env MAX_USD_PER_CALL='ใส่ค่าของคุณ' --env MAX_USD_PER_SESSION='ใส่ค่าของคุณ' -- npx -y @alienprobe/who-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"alienprobe-who": {
"command": "npx",
"args": [
"-y",
"@alienprobe/who-mcp"
],
"env": {
"PRIVATE_KEY": "ใส่ค่าของคุณ",
"MAX_USD_PER_CALL": "ใส่ค่าของคุณ",
"MAX_USD_PER_SESSION": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"alienprobe-who": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@alienprobe/who-mcp"
],
"env": {
"PRIVATE_KEY": "ใส่ค่าของคุณ",
"MAX_USD_PER_CALL": "ใส่ค่าของคุณ",
"MAX_USD_PER_SESSION": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MAX_USD_PER_CALL envMAX_USD_PER_SESSION envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub bbrysonelite-max ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: PRIVATE_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Private Law Wiki, Agentum Entity Resolver, Contract Compass
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Sourced answers, search and bank-case assessment for wiki.private.law by the Mothership runtime.
Company registry, VAT, sanctions, vendor KYB, IBAN and wallet checks; pay per call by x402 or card.
Korean public procurement law: rule-engine rulings, statutes search, live court precedents
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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:
| Tool | Cost | What it does |
|---|---|---|
who_terms | free | Returns the advertised price, network, payee and coverage. Never pays. Works with no wallet. |
who | $0.05, real money | Returns the entity record. Misses and ambiguities cost nothing. |
Three lines. Claude Desktop (claude_desktop_config.json) or Cursor (.cursor/mcp.json):
{ "mcpServers": { "who": { "command": "npx", "args": ["-y", "@alienprobe/who-mcp"],
"env": { "PRIVATE_KEY": "0x...", "MAX_USD_PER_SESSION": "1.00" } } } }
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.
| Var | Default | Meaning |
|---|---|---|
PRIVATE_KEY | *(none)* | A throwaway Base-mainnet wallet holding a little USDC. Optional. Never logged, echoed, or returned in a tool result. |
MAX_USD_PER_CALL | 0.10 | Hard ceiling on one lookup. The lookup is advertised at $0.05. |
MAX_USD_PER_SESSION | 1.00 | Hard ceiling on everything this server process spends before restart. |
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/.
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:
{
"error": "spend_cap_exceeded", "scope": "per_session", "price_usd": 0.05, "cap_usd": 1.0, "spent_usd_this_session": 1.0, "remaining_usd": 0.0, "hint": "the session budget is spent; raise MAX_USD_PER_SESSION and restart the MCP server to buy more" }
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.
A paid hit is the API's body verbatim plus paid_usd:
{
"schema_version": "who-lookup.v1", "subject": { "type": "who", "value": "apple.com" }, "answer": { "lei": "HWUPKR0MPOU8FGXBT394", "legal_name": "Apple Inc.", "jurisdiction": "US-CA", "entity_status": "ACTIVE", "registration_status": "ISSUED", "match": { "by": "domain", "rule": "domain_exact" }, "official_website": "https://apple.com/" }, "source": { "name": "...", "vintage": "...", "coverage": "..." }, "paid_usd": 0.05 }
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 receiptpaid_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.
These never pay, and they come back as ordinary tool results the model can reason about — not exceptions:
| Upstream | Result |
|---|---|
400 | {"error":"invalid_subject","reason":"empty"} |
404 | {"error":"not_found","coverage":"..."} |
409 | {"error":"ambiguous","candidates":[...],"hint":"re-ask with the exact legal_name, then a ;jurisdiction suffix if it still collides"} |
503 | {"error":"source_unavailable"} |
The API only charges once it can commit to one entity, so an ambiguous re-ask is still free while it stays ambiguous.
404, not a best-effort answer.npm install
npm test # 28 contract rows over a mocked fetch: no network, no wallet, no payment npm run smoke # spawns the server, drives initialize/tools/list/who_terms over real stdio
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.
MIT © Brent Bryson. See LICENSE.