Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Check an x402 endpoint before you pay it: verdict, risk score and what is wrong. $0.005 in USDC.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
DEADCHANNEL_PRIVATE_KEY, DEADCHANNEL_URL비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"deadchannel": {
"command": "npx",
"args": [
"-y",
"deadchannel-mcp"
],
"env": {
"DEADCHANNEL_PRIVATE_KEY": "your-value",
"DEADCHANNEL_URL": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add deadchannel --env DEADCHANNEL_PRIVATE_KEY=your-value --env DEADCHANNEL_URL=your-value -- npx -y deadchannel-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"deadchannel": {
"command": "npx",
"args": [
"-y",
"deadchannel-mcp"
],
"env": {
"DEADCHANNEL_PRIVATE_KEY": "your-value",
"DEADCHANNEL_URL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"deadchannel": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"deadchannel-mcp"
],
"env": {
"DEADCHANNEL_PRIVATE_KEY": "your-value",
"DEADCHANNEL_URL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
DEADCHANNEL_URL env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 GitHub 계정 plus8bit 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: DEADCHANNEL_PRIVATE_KEY
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.1)은 2개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, LickityClick
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Create, edit and track LickityClick short links, campaigns and click stats from your AI assistant.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Two services that sell to AI agents over x402, paid per call in USDC. No signup, no API key, no subscription — an agent calls, pays, and gets an answer.
| what it sells | price | |
|---|---|---|
| Hosaka | which third-party vendors a company uses, proven from its own DNS, plus contacts | $0.005 – $0.40 |
| deadchannel | whether an x402 endpoint is alive, honestly priced and safe to call | $0.005 |
Agents can install Hosaka as a skill, which tells them what it is for and when to reach for it:
npx skills add plus8bit/deadchannel/skills/hosaka --yes
Available as an MCP server, so any MCP client can buy from it directly:
npx -y hosaka-mcp
{
"mcpServers": { "hosaka": { "command": "npx", "args": ["-y", "hosaka-mcp"], "env": { "HOSAKA_PRIVATE_KEY": "0x…" } } } }
HOSAKA_PRIVATE_KEY is a wallet holding a little USDC on Base. Four tools at four prices, so a cheap question never pays for an expensive answer:
| tool | price | what you get |
|---|---|---|
hosaka_lookup | $0.005 | domain age, registrar, mail and DNS provider, DMARC, HTTPS, vendor count |
hosaka_contacts | $0.02 | the dossier, plus the emails and phones the company publishes about itself |
hosaka_dossier | $0.02 | every third-party vendor the company can be proven to use, each with its proof |
hosaka_people | $0.35 | the dossier, plus named people who work there |
Why the dossier is worth having. A company proves it owns its domain to every SaaS product it buys by placing a DNS verification record, and authorises every sender it uses in its SPF record. Those two lists are a purchase history the company published itself.
Asking for figma.com returns Anthropic, OpenAI, Adobe, Atlassian, MongoDB Atlas, Greenhouse, Docusign, Stripe, Notion, Dropbox and Zendesk — each with the exact record that proves it, so a buyer can check rather than trust.
Page fingerprints require a loaded script or CDN host, never a mention: a site listing a vendor's logo among its integrations is not a site that uses it.
Live at hosaka-agents.vercel.app.
Give it a URL, it tells an agent whether that endpoint is alive, honestly priced, and safe to call — without spending a cent.
Roughly 17% of probed x402 endpoints are dead or traps, and the Bazaar discovery layer ships no ranking, quality, or reputation signal by its own admission. An agent picking from that catalog is guessing with real money.
Every verdict comes from unpaid 402 responses, which is what makes it cheap enough to run across a whole catalog.
| Signal | What it catches |
|---|---|
reachable | Endpoint answers at all, consistently |
bot-gate | A bot wall answers agents while browsers get a clean 402 — the endpoint is invisible to indexers |
speaks-402 | Returns parseable payment requirements (v1 body and v2 payment-required header) |
gate-closed | Advertises a price it does not enforce — anyone can take the content free |
price-sane | Price sits inside $0.0001–$5; above the ceiling one call can drain a budget |
price-stable | Quote does not move between probes taken seconds apart |
pay-to-valid | Payout address is well formed for its chain and is not a burn address |
network-mainnet | Settles somewhere that can hold real value, not testnet only |
network-known | Chain identifier is recognizable (CAIP-2 or friendly name) |
schema-advertised | Agent can know the response shape *before* paying |
bazaar-metadata | Publishes serviceName / tags so topic search can find it |
latency | p99 inside the 5s budget agents typically allow |
spec-clean | Payload matches the documented shape; deviations are reported, not swallowed |
Verdicts: live, degraded, trap, testnet, dead, unknown, plus a bounded 0–100 risk score.
Requires Node 22+. There are no runtime dependencies — types are stripped natively, so there is no build step and nothing to audit but this repo.
node src/cli.ts https://x402.org/protected
node src/cli.ts --quiet --samples 5 url-a url-b url-c node src/cli.ts --json url > verdict.json
Exit code is non-zero when any target is a trap or dead, so it drops into CI as a guard against shipping an agent pointed at a bad endpoint.
TESTNET risk 80 $0.01 355ms p99 https://x402.org/protected
x network-mainnet Only testnet networks offered (base-sepolia, solana-devnet). This endpoint cannot accept real value. ! schema-advertised No input or output schema. An agent has to pay before it can find out what it gets back.
node src/scan.ts --live 150 pulls every resource the public Bazaar facilitators publish and audits it. Results over 14,979 resources:
| catalog held by the top 3 payout addresses | 18.4%, receiving 1 call in 80 |
| publish no discovery tags | 40.9% — an agent searching by topic never finds them |
| pass every check | 56.8% |
| of the 150 busiest, live right now | 91.3% |
| of the busiest, genuinely dead | 2.0% |
Median price $0.01, range $0 to $1,000, 316,927 paid calls in 30 days.
The catalog is in better shape than the folklore suggests. What it is not is evenly distributed: three addresses list 2,750 resources between them and receive one call in eighty, which makes them roughly 15x over-represented relative to the demand they serve. Catalog size is not catalog depth.
An earlier version of this table claimed 89.8% of the catalog published no tags. That was wrong. The loader read extensions.bazaar.tags only, while most publishers put tags on the item root — the real figure is 40.9%.
The bug survived review because nothing asserted the *positive* count. A check that only ever counts what is missing cannot tell "publishers omit this" apart from "we are looking in the wrong place." test/catalog.test.ts now hand-counts tags across all three known locations in a captured 200-item slice of the live catalog and asserts the loader matches exactly, in both directions.
Built against live endpoints, not the spec alone:
{}. A parser that only reads the body marks the official reference endpoint as dead.eip155:84532, solana:EtWTRA…) where v1 sent friendly names. Both are live simultaneously.resource metadata to the payload root.x402Version the reference implementations all send, and some nest accepts[] one level deeper than documented. Both are parsed and reported as warnings rather than rejected.serviceName/tags on the ResourceInfo object, the CDP catalog flattens them onto the item root, and a minority nest them under extensions.bazaar. Read one location and you will undercount by half.aws:base network instead of a chain address. That is legitimate, but the funds go to the broker, so it is reported as a warning rather than scored as an invalid payout.The service sells its own check over x402. src/server/ implements the seller side of the v2 HTTP transport: PAYMENT-REQUIRED out, PAYMENT-SIGNATURE in, PAYMENT-RESPONSE back, in the authorization flow — verify, run the resource, then settle.
No private key is involved. A seller declares where settlement should land; the buyer signs and the facilitator broadcasts. The payout address is therefore public information and lives in deadchannel.config.json, where anyone can audit it, rather than in a dashboard where nobody can.
Settlement runs only after the probe produced a result, so a failure on our side costs the buyer nothing.
GET / service card, free
GET /health liveness, free GET /facilitator proves credentials are accepted, free, moves no money POST /probe the check, $0.005 in USDC on Base
GET /facilitator exists because a wrong credential otherwise stays invisible until someone tries to pay, and the first to discover it would be a customer.
The service is deployed at https://deadchannel.vercel.app, selling on Base mainnet at $0.005 per call and settling through the Coinbase facilitator.
First settled payment: 0x6ac4a22c, block 50230005, 20 Aug 2026. Gas was paid by the facilitator, not the buyer — in x402 the buyer only signs, so a wallet holding nothing but USDC can pay.
npm run validate re-runs the 25 preflight checks the Bazaar applies before it will index a resource, and reports whether the listing is currently active. It needs no key and moves no money.
resource : https://deadchannel.vercel.app/probe
valid : true accepted : accepted checks : 25/25 passed indexed : active=true
A second shop on the same payout address, selling company facts to agents.
POST /lookup $0.005 domain age, registrar, mail and DNS provider, DMARC, HTTPS
POST /dossier $0.02 every third-party vendor we can prove, with the proof
Live at https://hosaka-agents.vercel.app, settling on Base mainnet.
Profiles are assembled from four sources that need no key and no supplier: DNS over HTTPS, the RDAP registry, the TLS handshake and the homepage. Cost per profile is zero — the margin is in the assembly.
The interesting part is vendor detection. A company proves ownership to every SaaS product it buys by placing a DNS verification record, and authorises every sender it uses in its SPF record. Those two lists are a purchase history the company published itself. Every claim carries the record that proves it, so a buyer can check rather than trust.
The Bazaar's search ignores the query and ranks by unique payers, so a new shop is invisible there regardless of quality. MCP is the channel that works on day one — the agent is already in a client that speaks it.
{
"mcpServers": { "hosaka": { "command": "node", "args": ["/absolute/path/to/src/hosaka/mcp/server.ts"], "env": { "HOSAKA_PRIVATE_KEY": "0x…" } } } }
The buyer brings their own wallet: the key signs the payment locally and never leaves the machine. Without it the tools say what is missing instead of failing mid-conversation.
npm install # typescript only, for typechecking
npm test # 18 tests, no network required npm run typecheck
MIT