402-mcp
Nostr: npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2
๐ MIT licence
๐ TypeScript
๐ Node
๐ Coverage
๐ Nostr
๐ GitHub Sponsors
AI ์์ด์ ํธ์๊ฒ ๊ฒฝ์ ์ ์ฃผ์ฒด์ฑ์ ๋ถ์ฌํ๋ L402 + x402 ํด๋ผ์ด์ธํธ MCP์ ๋๋ค. ์ธ๊ฐ์ ๋ฑ๋ก, API ํค, ์ค๊ฐ์ ์์ด ๊ฒฐ์ ๊ฒ์ดํธ๊ฐ ์ค์ ๋ ๋ชจ๋ API๋ฅผ ๋ฐ๊ฒฌํ๊ณ , ๊ฒฐ์ ํ๋ฉฐ, ์๋นํ์ธ์.
๋ฐ๊ฒฌ: Nostr์์ ์ ๋ฃ API ๋ฐ๊ฒฌ โ ์ฌ์ ์ URL ํ์ ์์
์๋ ๊ฒฐ์ : ๋ผ์ดํธ๋(NWC), Cashu ecash ๋๋ ์ธ๊ฐ QR ํด๋ฐฑ์ ํตํ ์๋ ๊ฒฐ์
์๊ฒฉ ์ฆ๋ช ์บ์ฑ ๋ฐ ์ํธํ: ์ ์ฅ ์ ์ํธํ (AES-256-GCM)
๋ชจ๋ L402 ์๋ฒ์ ํธํ: toll-booth, Aperture ๋๋ ํฅํ ๊ตฌํ๋ ๋ชจ๋ ์๋ฒ์ ์๋
๋น ๋ฅธ ์์
1. ์ค์น
npx 402-mcp2. Claude Code์ ์ฐ๊ฒฐ
claude mcp add 402-mcp -- npx 402-mcp3. ์ฌ์ฉํด ๋ณด๊ธฐ
Claude์๊ฒ ๋ค์๊ณผ ๊ฐ์ด ์ง๋ฌธํ์ธ์: "l402-search๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ฃ ๋๋ด API๋ฅผ ๊ฒ์ํด ์ค" โ ์ง๊ฐ์ด ํ์ ์์ผ๋ฉฐ, ๋ฐ๊ฒฌ๋ง ์ํํฉ๋๋ค.
์ ๋ฃ ํธ์ถ์ ์ํํ ์ค๋น๊ฐ ๋์ จ๋์? ์ ์ฒด ๋น ๋ฅธ ์์ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ฌ ์ง๊ฐ์ ์ค์ ํ๊ณ ์์ด์ ํธ๊ฐ ์ฒซ ๋ฒ์งธ API ํธ์ถ์ ๊ฒฐ์ ํ๋ ๊ณผ์ ์ ํ์ธํ์ธ์.
Related MCP server: ag402-mcp
์๋ ์๋ฆฌ
graph LR
A["1. l402-config()"] --> B["2. l402-discover(url)"]
B --> C["3. Agent reasons<br/>about pricing"]
C --> D["4. l402-buy-credits()<br/>or l402-fetch()"]
D --> E["5. l402-fetch(url)<br/>with credentials"]
E --> F["6. Data returned<br/>+ balance cached"]์์ ์ธ์ :
Agent: "I need routing data from routing.trotters.cc"
1. l402-config()
-> nwcConfigured: true, maxAutoPaySats: 1000
2. l402-discover("https://routing.trotters.cc/api/route")
-> 10 sats/request, toll-booth detected, tiers available
3. Agent reasons: "I need ~20 requests. The 500-sat tier
gives 555 credits. Better value."
4. l402-buy-credits(url, amountSats=500)
-> Paid 500 sats, received 555 credits
5. l402-fetch("https://routing.trotters.cc/api/route?from=...&to=...")
-> 200 OK, route data, 545 credits remaining์์ธํ ์ํคํ ์ฒ ๋ฐ ๊ฒฐ์ ํ๋ฆ ๋ค์ด์ด๊ทธ๋จ์ docs/architecture.md๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ตฌ์ฑ
๋ณ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
| - | ์์จ์ ์ธ ๋ผ์ดํธ๋ ๊ฒฐ์ ๋ฅผ ์ํ Nostr Wallet Connect URI |
| - | Cashu ํ ํฐ ์ ์ฅ์ ํ์ผ ๊ฒฝ๋ก |
| 1000 | ์์ ์ ํ; ์ด ๊ธ์ก์ ์ด๊ณผํ๋ ๊ฒฐ์ ๋ ์ธ๊ฐ์ ์น์ธ์ด ํ์ํจ |
|
| ์๊ตฌ์ ์ธ ๋ง์นด๋ฃฌ/์๊ฒฉ ์ฆ๋ช ์ ์ฅ์ |
|
| ์ ์ก ๋ชจ๋: |
| 3402 | HTTP ์๋ฒ ํฌํธ ( |
|
| ๋ค์ค URL ์๋น์ค์ ๋ํ ์ ํธ ์ ์ก ์์ (์ผํ๋ก ๊ตฌ๋ถ) |
| - |
|
| - | ์ค์ ์ ๋ชจ๋ ์์ฒญ์ ๋ํ ์ผ๋ฐ SOCKS5 ํ๋ก์ |
| - | Handshake ( |
์ ์ก ์ ํ ๋ฐ ํด๋ฐฑ
kind 31402 ์ด๋ฒคํธ๊ฐ ์ฌ๋ฌ URL(์ ์ก๋น ํ๋)์ ๊ด๊ณ ํ ๋, 402-mcp๋ ๊ตฌ์ฑ์ ๋ฐ๋ผ ์ต์ ์ URL์ ์ ํํฉ๋๋ค:
์ ํธ๋ ์ฐ์ โ
TRANSPORT_PREFERENCE=tor์ด๊ณ.onionURL์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ, ์ด๋ฅผ ๋จผ์ ์๋ํฉ๋๋ค.๊ฐ์ฉ์ฑ ํด๋ฐฑ โ ์ ํธํ๋ ์ ์ก์ ๋๋ฌํ ์ ์๋ ๊ฒฝ์ฐ(ํ๋ก์ ๋ฏธ๊ตฌ์ฑ, ํ์์์), ํด๋ผ์ด์ธํธ๋ ๋ชฉ๋ก์ ๋ค์ URL๋ก ํด๋ฐฑํฉ๋๋ค.
Clearnet ๊ธฐ๋ณธ๊ฐ โ ์ ํธ๋๊ฐ ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ,
.onion๋๋ HNS ํญ๋ชฉ๋ณด๋ค Clearnet URL์ ๋จผ์ ์๋ํฉ๋๋ค.
์๋น์ค๋ ์๋ก ๋ค๋ฅธ ์ ์ก์์ ๋์ผํ ์๋น์ค(๋์ผํ ๊ฐ๊ฒฉ, ๋์ผํ ๋ง์นด๋ฃฌ ํค)์ ๋ํด ์ฌ๋ฌ ์๋ํฌ์ธํธ๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค. ์ด๋ ์์ ํ ๊ฒ์ด ์ ํญ์ ์ํ ๊ฒ์ด๋ฉฐ, ์ ์ก์ ์ ํํ ๋ ๋ค์ ์ธ์ฆํ ํ์๊ฐ ์์ต๋๋ค. Tor ๋๋ HNS ์๋ํฌ์ธํธ์ ๋๋ฌํ๋ ค๋ฉด ์์ ํด๋น ํ๋ก์/๊ฒ์ดํธ์จ์ด ํ๊ฒฝ ๋ณ์๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
๋๊ตฌ
ํต์ฌ L402 (๋ชจ๋ ์๋ฒ)
๋๊ตฌ | ์ค๋ช |
| ๊ฒฐ์ ๊ธฐ๋ฅ(์ง๊ฐ, ์ ํ, ์๊ฒฉ ์ฆ๋ช ์) ๊ฒ์ฌ |
| ๊ฒฐ์ ์์ด ๊ฐ๊ฒฉ์ ํ์ธํ๊ธฐ ์ํด ์๋ํฌ์ธํธ ํ์ |
| L402 ์ง์ HTTP ์์ฒญ; ์์ฐ ๋ด์์ ์๋ ๊ฒฐ์ |
| ํน์ ์ธ๋ณด์ด์ค ๊ฒฐ์ (NWC, Cashu ๋๋ ์ธ๊ฐ ๊ฐ์ ) |
| ์ ์ฅ๋ ์๊ฒฉ ์ฆ๋ช ๋ฐ ์บ์๋ ์์ก ๋์ด |
| ์๋ฒ์ ๋ํ ์บ์๋ ํฌ๋ ๋ง ์์ก ํ์ธ |
| Nostr ๋ฆด๋ ์ด์์ L402 ์๋น์ค ๋ฐ๊ฒฌ (kind 31402 ๊ณต์ง) |
| ๊ฒฐ์ ํ์ด์ง์์ ์ป์ L402 ํ ํฐ ์ ์ฅ |
toll-booth ํ์ฅ
๋๊ตฌ | ์ค๋ช |
| ๋๋ ํ ์ธ ๋ฑ๊ธ ํ์ ๋ฐ ๊ตฌ๋งค |
| Cashu ํ ํฐ ์ง์ ์ํ (๋ผ์ดํธ๋ ์๋ณต ๋ฐฉ์ง) |
๊ฒฐ์ ๋ฐฉ๋ฒ
์ฐ์ ์์์ ๋ฐ๋ผ ์๋๋๋ ์ธ ๊ฐ์ง ๊ฒฐ์ ๋ ์ผ:
NWC (Nostr Wallet Connect) โ ์์ ์์จ; ์ฐ๊ฒฐ๋ ์ง๊ฐ์์ ๊ฒฐ์
Cashu โ ์์ ์์จ; ecash ํ ํฐ์ ๋ น์ฌ ์ธ๋ณด์ด์ค ๊ฒฐ์
์ธ๊ฐ ๊ฐ์ โ QR ์ฝ๋๋ฅผ ์ ์ํ๊ณ ๊ฒฐ์ ์๋ฃ ๋๊ธฐ
์์ด์ ํธ๋ ํธ์ถ๋ณ๋ก ๋ฐฉ๋ฒ์ ์ฌ์ ์ํ ์ ์์ผ๋ฉฐ, ์ํ๋ ๋ฐฉ๋ฒ๋ง ๊ตฌ์ฑํ ์๋ ์์ต๋๋ค.
l402-fetch๋ ๋ค ๊ฐ์ง HTTP 402 ์ฑ๋ฆฐ์ง ๋ณํ์ ํฌ๋ช
ํ๊ฒ ์ฒ๋ฆฌํฉ๋๋ค:
ํ๋กํ ์ฝ | ์ฑ๋ฆฐ์ง ํค๋ | ๊ฒฐ์ |
L402 |
| ์ง๊ฐ ์คํ์ ํตํ ๋ผ์ดํธ๋ ์ธ๋ณด์ด์ค |
IETF Payment ( |
| ์ง๊ฐ ์คํ์ ํตํ ๋ผ์ดํธ๋ ์ธ๋ณด์ด์ค |
xCashu (NUT-18) |
| ์ง์ ์ ์ก๋ Ecash ํ ํฐ (Cashu ์ง๊ฐ ํ์) |
x402 |
| ์จ์ฒด์ธ EVM ์ ์ก; EIP-681 ๋ฅ๋งํฌ์ ํจ๊ป ์ธ๊ฐ์๊ฒ ํ์ |
์์ ์ฑ
MAX_AUTO_PAY_SATS๋ ๋ชจ๋ ๋จ์ผ ์์จ ๊ฒฐ์ ์ ๋ํ ์ํ์ ์ ์ค์ ํฉ๋๋ค. ์ด ์ ํ์ ์ด๊ณผํ๋ฉด ์์ด์ ํธ๋ ์ธ๊ฐ์๊ฒ ์น์ธ์ ์์ฒญํด์ผ ํฉ๋๋ค. ์์ด์ ํธ๋ l402-config๋ฅผ ํตํด ์ด ์ ํ์ ์ฝ๊ณ ๊ตฌ๋งค ๊ฒฐ์ ์ ๋ฐ์ํ ์ ์์ต๋๋ค.
๊ฐ์ธ์ ๋ณด ๋ณดํธ
402-mcp๋ ์๊ฒฉ ์ฆ๋ช
์ ๋ก์ปฌ ๋จธ์ ์๋ง ์ ์ฅํฉ๋๋ค (~/.402-mcp/credentials.json, ์ ์ฅ ์ ์ํธํ). ์ 3์์๊ฒ ๋ฐ์ดํฐ๊ฐ ์ ์ก๋์ง ์์ต๋๋ค. ๊ณ์ , ์ถ์ , ๋ถ์์ด ์์ต๋๋ค. ๊ฒฐ์ ๋ ์ค๊ณ์ ๊ฐ๋ช
์ธ ๋ผ์ดํธ๋ ๋๋ Cashu๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ํ๊ณ
๊ฒฐ์ ๊ฒ์ดํธ๊ฐ ์ค์ ๋ API๋ฅผ ์ํ ํ์ค์ํ ๋ง์ผํ๋ ์ด์ค์ธ 402.pub์์ ์ค์๊ฐ L402 ์๋น์ค๋ฅผ ์ฐพ์๋ณด์ธ์.
ํ๋ก์ ํธ | ์ญํ |
๊ฒฐ์ ๋ ์ผ ๋ ๋ฆฝ์ HTTP 402 ๋ฏธ๋ค์จ์ด | |
ํ ํฐ๋น ๊ฒฐ์ AI ์ถ๋ก ํ๋ก์ (toll-booth ๊ธฐ๋ฐ) | |
MCP ํด๋ผ์ด์ธํธ โ AI ์์ด์ ํธ๊ฐ L402 + x402 API๋ฅผ ๋ฐ๊ฒฌ, ๊ฒฐ์ ๋ฐ ์๋น | |
ํ์ค์ํ ๋ฐ๊ฒฌ์ ์ํด Nostr์ L402 ์๋น์ค ๊ฒ์ |
402-mcp๋ Lightning Labs์ lightning-agent-tools ๋ฐ Coinbase์ x402์ ๋ํ ๊ฒฐ์ ๋ ์ผ ๋ ๋ฆฝ์ ๋์์ ๋๋ค. ๋ผ์ดํธ๋ ๋ ธ๋๊ฐ ํ์ ์์ผ๋ฉฐ, ๋ค์ค ์ง๊ฐ๊ณผ ์ํธํ๋ ์๊ฒฉ ์ฆ๋ช ์ ์ง์ํฉ๋๋ค.
402-mcp | Lightning Labs ์์ด์ ํธ ๋๊ตฌ | |
๊ฒฐ์ ๋ ์ผ | NWC + Cashu + ์ธ๊ฐ ํด๋ฐฑ | ๋ผ์ดํธ๋ ์ ์ฉ |
๋ ธ๋ ํ์ ์ฌ๋ถ | ์๋์ โ ๋ชจ๋ NWC ์ง๊ฐ์ ์ฐ๊ฒฐ | ์ โ LND ์คํ |
์๋ฒ ํธํ์ฑ | ๋ชจ๋ L402 ์๋ฒ | Aperture ์ค์ฌ |
์ง์ถ ์์ ์ฑ | ๊ฒฐ์ ๋น ์ํ์ + 60์ด ๋กค๋ง ์๋์ฐ | ํธ์ถ๋น ์ต๋ ๋น์ฉ |
์๊ฒฉ ์ฆ๋ช ์ ์ฅ | ์ ์ฅ ์ ์ํธํ (AES-256-GCM) | ํ์ผ ๊ถํ |
๊ฐ์ธ์ ๋ณด ๋ณดํธ | PII ์์, SSRF ๋ณดํธ, ์ค๋ฅ ์ญ์ | ํ์ค |
์์ด์ ํธ๊ฐ ์์ ์ ๋ผ์ดํธ๋ ๋ ธ๋๋ฅผ ์คํํ๊ธฐ๋ฅผ ์ํ๋ค๋ฉด Lightning Labs์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ธ์. ์์ด์ ํธ๊ฐ ์ธํ๋ผ ์์ด ๋ชจ๋ ์ง๊ฐ์์ ๊ฒฐ์ ํ๊ธฐ๋ฅผ ์ํ๋ค๋ฉด 402-mcp๋ฅผ ์ฌ์ฉํ์ธ์.
๊ฐ๋ฐ ์ค์ ๋ฐ ๊ฐ์ด๋๋ผ์ธ์ CONTRIBUTING.md๋ฅผ ์ฐธ์กฐํ์ธ์.
@forgesworn ์ ์.
๋ผ์ดํธ๋ ํ:
thedonkey@strike.meNostr:
npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2
ForgeSworn ํดํท์ ์ผ๋ถ
ForgeSworn์ Nostr์ ์ํ ์คํ ์์ค ์ํธํ ID, ๊ฒฐ์ ๋ฐ ์กฐ์ ๋๊ตฌ๋ฅผ ๊ตฌ์ถํฉ๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ | ๊ธฐ๋ฅ |
๊ฒฐ์ ๋ก ์ ํ์ ID ํ์ | |
secp256k1์์์ SAG/LSAG ๋ง ์๋ช | |
Pedersen ์ปค๋ฐ๋จผํธ ๋ฒ์ ์ฆ๋ช | |
๊ฐ์ ์ ํญ ์์ฑ ๊ฒ์ฆ | |
์ธ๊ฐ์ด ๋งํ ์ ์๋ ๊ฒ์ฆ ํ ํฐ | |
L402 ๊ฒฐ์ ๋ฏธ๋ค์จ์ด | |
ํด๋ฆฌ๊ณค ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ํฌํจํ Geohash ํดํท | |
NIP-VA ๊ฒ์ฆ ๊ฐ๋ฅํ ์ฆ๋ช | |
์ํฌํฌ ๊ธฐ๋ฐ ์ํธํ ์ก์ธ์ค ์ ์ด | |
๊ฐ์ธ์ ๋ณด ๋ณดํธ ์ ๋ขฐ์ ์น |
๋ผ์ด์ ์ค
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/forgesworn/402-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
