deadchannel MCP란?
deadchannel은(는) MCP server입니다. x402 엔드포인트가 활성화되어 있는지, 가격이 적절한지, 호출 시 안전한지를 분석하여 판정 결과, 리스크 점수 및 상세 분석을 제공합니다.
프로젝트 README에서 생성된 요약
deadchannel MCP server 정보
deadchannel은 에이전트가 자금을 투입하기 전, x402 엔드포인트가 정상적으로 작동하고 안전한지 검증할 수 있게 합니다. x402 생태계와 상호작용하는 개발자 및 AI 에이전트를 위한 리스크 오라클 역할을 수행하며, 특정 URL의 활성화 여부, 가격의 정직성, 호출 안전성에 대한 판정 결과, 리스크 점수 및 상세 분석을 제공합니다.
사용자는 CLI를 통해 서비스를 실행하거나 워크플로우에 통합하여, 작동하지 않거나 기만적인 엔드포인트에 비용을 낭비하는 것을 방지할 수 있습니다. 이 도구는 도달 가능성, 봇 탐지, 가격 안정성, 엔드포인트의 특정 결제 요구 사항 준수 여부 등 다양한 신호를 확인합니다. 실제 가격을 적용하지 않으면서 가격을 광고하는 게이트 폐쇄형 엔드포인트나 실제 가치를 수용할 수 없는 테스트넷 네트워크와 같은 문제를 식별합니다.
서버 설정에는 Node 22 이상이 필요하며, 별도의 런타임 의존성이나 복잡한 빌드 단계가 없습니다. Base 네트워크에서 프로브 자체는 0.005 USDC가 소요되지만, 초기 확인은 무료입니다. 이를 통해 에이전트는 정식 프로브를 수행하기 전까지 비용 부담 없이 리소스 카탈로그를 감사할 수 있습니다.
활용 사례
- 1결제 낭비 방지AI 에이전트가 트랜잭션을 시도하기 전, 엔드포인트가 함정이거나 작동하지 않는지 확인할 수 있습니다.
- 2가격 무결성 검증개발자는 이 도구를 사용하여 엔드포인트가 광고하는 가격이 안정적이고 합리적인 예산 범위 내에 있는지 확인할 수 있습니다.
- 3엔드포인트 감사 자동화서비스를 CI 파이프라인에 통합하여 유효하지 않거나 손상된 엔드포인트를 가리키는 에이전트가 배포되는 것을 방지할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
deadchannel MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 deadchannel MCP 설치
$ claude mcp add --env 'DEADCHANNEL_PRIVATE_KEY=<YOUR_DEADCHANNEL_PRIVATE_KEY>' deadchannel -- npx -y deadchannel-mcpCursor에 deadchannel MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"deadchannel": {
"command": "npx",
"args": [
"-y",
"deadchannel-mcp"
],
"env": {
"DEADCHANNEL_PRIVATE_KEY": "<YOUR_DEADCHANNEL_PRIVATE_KEY>"
}
}
}
}VS Code에 deadchannel MCP 설치
.vscode/mcp.json
{
"servers": {
"deadchannel": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"deadchannel-mcp"
],
"env": {
"DEADCHANNEL_PRIVATE_KEY": "<YOUR_DEADCHANNEL_PRIVATE_KEY>"
}
}
}
}VS Code CLI에 deadchannel MCP 설치
$ code --add-mcp '{"name":"deadchannel","type":"stdio","command":"npx","args":["-y","deadchannel-mcp"],"env":{"DEADCHANNEL_PRIVATE_KEY":"<YOUR_DEADCHANNEL_PRIVATE_KEY>"}}'Claude Desktop에 deadchannel MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"deadchannel": {
"command": "npx",
"args": [
"-y",
"deadchannel-mcp"
],
"env": {
"DEADCHANNEL_PRIVATE_KEY": "<YOUR_DEADCHANNEL_PRIVATE_KEY>"
}
}
}
}Codex에 deadchannel MCP 설치
$ codex mcp add deadchannel --env 'DEADCHANNEL_PRIVATE_KEY=<YOUR_DEADCHANNEL_PRIVATE_KEY>' -- npx -y deadchannel-mcpCodex config.toml에 deadchannel MCP 설치
~/.codex/config.toml
[mcp_servers.deadchannel] command = "npx" args = ["-y", "deadchannel-mcp"] [mcp_servers.deadchannel.env] DEADCHANNEL_PRIVATE_KEY = "<YOUR_DEADCHANNEL_PRIVATE_KEY>"
Gemini CLI에 deadchannel MCP 설치
$ gemini mcp add -s user -e 'DEADCHANNEL_PRIVATE_KEY=<YOUR_DEADCHANNEL_PRIVATE_KEY>' deadchannel npx -- -y deadchannel-mcpGemini settings.json에 deadchannel MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"deadchannel": {
"command": "npx",
"args": [
"-y",
"deadchannel-mcp"
],
"env": {
"DEADCHANNEL_PRIVATE_KEY": "<YOUR_DEADCHANNEL_PRIVATE_KEY>"
}
}
}
}구성
DEADCHANNEL_PRIVATE_KEY비밀Private key of a wallet holding a little USDC on Base. It signs payments locally and never leaves the machine. Not needed for the free health check.
DEADCHANNEL_URLOverride the service endpoint. Defaults to https://deadchannel.vercel.app
HOSAKA_PRIVATE_KEY
| 이름 | 설명 | 유형 |
|---|---|---|
| DEADCHANNEL_PRIVATE_KEY | Private key of a wallet holding a little USDC on Base. It signs payments locally and never leaves the machine. Not needed for the free health check. | 비밀 |
| DEADCHANNEL_URL | Override the service endpoint. Defaults to https://deadchannel.vercel.app | |
| HOSAKA_PRIVATE_KEY | — |
자동 검사
2026년 11월 15일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능plus8bit/deadchannel is public and reachablegithub.com/plus8bit/deadchannel ↗통과
- 패키지가 이 저장소를 소스로 명시deadchannel-mcp, hosaka-mcp name plus8bit/deadchannel as sourcenpmjs.com/package/deadchannel-mcp ↗통과
- 빌드 출처(Sigstore 증명)No build attestation published for this release검사되지 않음
- 오픈 소스 라이선스 (OSI)No license결함 발견
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-09-05github.com/plus8bit/deadchannel ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from deadchannel-mcp, hosaka-mcp통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음18 resolved dependencies checked; no critical advisoryosv.dev ↗통과
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기deadchannel & Hosaka
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
Hosaka — company data for agents
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.
deadchannel — a risk oracle for x402 endpoints
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.
What it checks
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.
Use
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.
First full catalog scan — 20 Aug 2026
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.

A correction, and the guard against repeating it
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.
Notes from the wild
Built against live endpoints, not the spec alone:
- v2 moves payment requirements into a base64
payment-requiredheader and leaves the body as{}. A parser that only reads the body marks the official reference endpoint as dead. - v2 sends CAIP-2 network ids (
eip155:84532,solana:EtWTRA…) where v1 sent friendly names. Both are live simultaneously. - v2 renames
maxAmountRequiredtoamountand hoists sharedresourcemetadata to the payload root. - Several servers omit the top-level
x402Versionthe reference implementations all send, and some nestaccepts[]one level deeper than documented. Both are parsed and reported as warnings rather than rejected. - Most resources are POST. Probing them with GET returns 404/405, which looks exactly like a dead endpoint — it put our first live-probe dead rate at 25% when the real figure is 2.7%. The verb comes from the catalog now, with a POST retry when it is unknown. Any x402 index reporting a high dead rate is worth checking for this.
- Discovery metadata is scattered. The spec puts
serviceName/tagson the ResourceInfo object, the CDP catalog flattens them onto the item root, and a minority nest them underextensions.bazaar. Read one location and you will undercount by half. - Brokered rails exist. AWS Marketplace resources name the payee with a URN
under an
aws:basenetwork 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.
Selling
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.
Live
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
Hosaka
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.
Using it from Claude or ChatGPT
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.
Development
npm install # typescript only, for typechecking
npm test # 18 tests, no network required
npm run typecheck
License
MIT
deadchannel MCP 질문
deadchannel MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add --env 'DEADCHANNEL_PRIVATE_KEY=<YOUR_DEADCHANNEL_PRIVATE_KEY>' deadchannel -- npx -y deadchannel-mcp를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
deadchannel MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
deadchannel은 무엇을 확인하나요?
엔드포인트 도달 가능 여부, 봇 게이트 확인, x402 프로토콜 준수 여부, 가격 안정성 및 타당성 검증, 네트워크 및 스키마 세부 정보를 확인합니다.
사용 비용은 얼마인가요?
프로브당 0.005 USDC가 소요됩니다.
API key나 회원가입이 필요한가요?
아니요, 회원가입, API key 또는 구독이 필요하지 않습니다. 에이전트가 지갑을 사용하여 호출당 비용을 지불합니다.