Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Deterministic text prep for agents. Pay per call via x402 USDC.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://api.maximusmediahouse.com/mcp터미널에서 이 명령어를 실행하세요
claude mcp add --transport http preplayer https://api.maximusmediahouse.com/mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"preplayer": {
"url": "https://api.maximusmediahouse.com/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"preplayer": {
"type": "http",
"url": "https://api.maximusmediahouse.com/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://api.maximusmediahouse.com/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 7일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
normalizeDeterministic text normalization: Unicode NFKC, zero-width/bidi stripping, smart-quote and dash folding, whitespace collapse, case folding. Returns a stable content hash so two texts can be compared for exact equality. $0.002 USDC per successful call (x402, client-paid); failed c
validateValidate and canonicalize one identifier: email, URL, E.164 phone, IBAN (mod-97), payment card (Luhn), UUID, SHA-256, git SHA, EVM address (EIP-55) or domain. Returns {valid, canonical, fingerprint}. $0.002 USDC per successful call (x402, client-paid); failed calls are not charge
extractExtract structured fields from unstructured text with byte offsets and normalized values: emails, URLs, IPv4, phones, money amounts, ISO dates, UUIDs, EVM addresses, SKUs, semver. $0.005 USDC per successful call (x402, client-paid); failed calls are not charged.
redactRedact PII from text before it is stored or logged. Returns redacted text plus exact byte spans and counts per class: credit_card, iban, email, private_key, evm_address, phone, ipv4, url. $0.005 USDC per successful call (x402, client-paid); failed calls are not charged.
classifyRule-based multi-label text classification over a fixed taxonomy (urgency, financial_promise, credential_request, crypto_mention, cta, legal_offer, medical_claim, seo_spam, url_shortener, press_release, question, has_contact). Deterministic - identical text always yields identica
dedupeNear-duplicate detection across a batch of documents. Exact Jaccard similarity over word-3-shingle sets decides duplication; a 64-bit SimHash is returned per document as a compact content fingerprint. Up to 200 documents per call. $0.01 USDC per successful call (x402, client-paid
diffLine-level LCS diff of two text blobs. Returns a structured edit script with insertions, deletions, unchanged line counts and per-operation metadata; with format='unified' also returns a unified-diff string. $0.005 USDC per successful call (x402, client-paid); failed calls are no
chunkSplit long text into pieces for RAG retrieval. Strategies: 'sentence' packs whole sentences into a size budget and never splits mid-sentence; 'paragraph' prefers \n\n boundaries; 'fixed' is a hard char window with overlap. The highest-value endpoint for agents that build retrieva
extract_customPull caller-defined structured fields from text using regex patterns with deterministic type coercion. Supported types: string, bool, date, url, email, number. Returns {fields: {name: value|null}, found, missing}. Pure deterministic — no LLM call. $0.005 USDC per successful call
validate_jsonDeterministic JSON-Schema subset validator. Catches malformed JSON before it breaks a pipeline. Supports: type, required, properties, items, minLength, maxLength, pattern, enum, minimum, maximum, additionalProperties. No external dependencies. $0.003 USDC per successful call (x40
slugifyURL-safe slug from arbitrary text. NFKD-decomposes unicode (é -> e), lowercases, replaces every non-[a-z0-9] run with a separator, strips leading/trailing separators, truncates on separator boundaries (never mid-word). $0.002 USDC per successful call (x402, client-paid); failed c
hashContent-addressable hashing for caching and dedup. Three algorithms: sha256 (via node:crypto / Web Crypto), xxhash64 and murmur3 (inline pure-JS, deterministic across runs). Returns hex digest + algorithm + byte count. $0.002 USDC per successful call (x402, client-paid); failed c
batchRun up to 10 primitive calls in one round trip for one x402 payment of $0.02 (= $0.0020 per call, below the priciest single-call route at $0.01). Each request names an `endpoint` (normalize, validate, extract, redact, classify, dedupe, diff, chunk, extract_custom, validate_json,
batch50Run up to 50 primitive calls in one round trip. One x402 payment of $0.075 (=$0.0015 per call — cheaper per call than the 10-slot batch). Same `{endpoint, input}` request shape as /v1/batch; the response carries up to 50 results in order. Built for a production buyer running a wh
batch100Run up to 100 primitive calls in one round trip. One x402 payment of $0.100 (=$0.0010 per call — the deepest rung of the batch ladder, cheaper per call than the 10- and 50-slot batches). Same `{endpoint, input}` request shape as /v1/batch. The volume mechanic for a corpus-holding
subscriptionRecurring tier: a PREPAID CALL BALANCE. One x402 payment of $1.00 credits 1,000 units of prepaid capacity (= $0.0010 per call), drawn down across sessions on the cheap deterministic routes (<= $0.01). The funded balance is the source of truth, queryable at GET /v1/subscription/ba
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
게시자(maximusmediahouse.com)가 저장소 소유자(maximusboomerus-afk)가 아니에요. 다른 사람이 등록했을 수 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
318ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 16개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 2개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.1)은 10일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Dialyne
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ 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.
Real phone calls in France for AI agents: dial +33 numbers, menus, hold, AI disclosure.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Twelve x402-paid deterministic text primitives for AI agents.
Pay per call in USDC. No API keys, no accounts, no signup.
Base URL: https://preplayer.maximusboomerus.workers.dev Mirror URL (production): https://api.maximusmediahouse.com MCP endpoint: https://preplayer.maximus-boomerus.workers.dev/mcp (streamable-http, POST) Service version: 0.2.0
PrepLayer is a single Cloudflare Worker exposing twelve deterministic text prep primitives behind one MCP server. Each call costs a few cents in USDC and is paid for on the wire via the x402 protocol — the agent signs a TransferWithAuthorization (EIP-3009) against USDC, the Worker verifies the signature with the Coinbase Developer Platform facilitator, and the call runs.
The primitives are the boring text work an agent has to do before it can think: normalize whitespace, validate an identifier, hash content for a cache key, dedupe a document set, redact PII before logging, chunk for RAG, diff two blobs. Each primitive is pure — identical input always produces identical output — so results are content-addressable and safe to cache.
The MCP server and Worker source live in a private working tree. This repo is the public landing surface: discovery, manifest, license, security contact, and a small example showing how a payer actually executes a paid call. If you want to self-host the worker, see docs/METHODOLOGY.md for what you'd need to stand up — none of the secrets are here on purpose.
Every paid endpoint is POST and gated with x402. The first call without payment returns 402 Payment Required with a PAYMENT-REQUIRED header (base64 JSON) and a PAYMENT-REQUIRED JSON body describing the challenge. The second call carries a PAYMENT-SIGNATURE header (base64 JSON) and returns 200.
| Endpoint | Path | Single price (Base) | Per call |
|---|---|---|---|
normalize | /v1/normalize | $0.002 | 2 000 atomic units |
validate | /v1/validate | $0.002 | 2 000 atomic units |
slugify | /v1/slugify | $0.002 | 2 000 atomic units |
hash | /v1/hash | $0.002 | 2 000 atomic units |
classify | /v1/classify | $0.003 | 3 000 atomic units |
validate_json | /v1/validate_json | $0.003 | 3 000 atomic units |
extract | /v1/extract | $0.005 | 5 000 atomic units |
redact | /v1/redact | $0.005 | 5 000 atomic units |
diff | /v1/diff | $0.005 | 5 000 atomic units |
chunk | /v1/chunk | $0.005 | 5 000 atomic units |
extract_custom | /v1/extract_custom | $0.005 | 5 000 atomic units |
dedupe | /v1/dedupe | $0.01 | 10 000 atomic units |
Prices on Polygon and Arbitrum One are ×1.2; prices on Base, Base Sepolia, and Solana mainnet are ×1.0. Atomic units are 6-decimal USDC.
| Endpoint | Path | Price | Status |
|---|---|---|---|
batch | /v1/batch | $0.40 / 10 calls ($0.04 each) | real — single x402 payment, up to 10 sub-requests |
subscription | /v1/subscription | $200 / 10 000 calls / month | spec only — returns 501; the design is documented in docs/METHODOLOGY.md, will not charge real USDC until the D1 store is in place |
priority | /v1/priority | n/a | spec only — returns 501; we will not charge 2× for a latency SLA we cannot guarantee on a single-instance Worker |
| Path | Purpose |
|---|---|
/.well-known/x402 | x402 Bazaar service descriptor (15 resources, networks, prices) |
/v1/manifest.json | MCP tool list with full JSON-Schema and per-network pricing |
/server.json | MCP registry manifest (this file's companion) |
/landing | HTML landing page |
/llms.txt, /llms-full.txt | Plain-text references for LLM crawlers |
/robots.txt, /bazaar-extension.json | Discovery aids |
PrepLayer is paid through x402 — HTTP's 402 Payment Required made useful. The wire:
POST an endpoint with the tool's JSON body and no payment header. The server returns 402 with a PAYMENT-REQUIRED header (base64 JSON challenge) describing the scheme, network, asset, amount, treasury address, and an EIP-712 domain.TransferWithAuthorization message against the USDC contract on the selected network and base64-encodes the resulting PaymentPayload into a PAYMENT-SIGNATURE header.POST again with that header. The server verifies the signature with the CDP facilitator (https://api.cdp.coinbase.com/platform/v2/x402), executes the tool, and returns 200 with a PAYMENT-RESPONSE header containing the settlement receipt.The v2 protocol on the wire:
402: PAYMENT-REQUIRED (base64 JSON; lowercase header name as the Worker emits it).200: PAYMENT-SIGNATURE (base64 JSON; ditto).200 (settle receipt): PAYMENT-RESPONSE (base64 JSON).exact. Networks: eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp, eip155:137, eip155:42161, eip155:84532 (Base Sepolia, test only).USDC.0x8cb59b1bffb39c130ab85a8177e93eae9ddbaf10.https://api.cdp.coinbase.com/platform/v2/x402 (Coinbase Developer Platform; the path matters — /v2/x402 404s and is the wrong URL).The probe below is always safe to run — it returns the 402 challenge and never spends anything. Use it to verify connectivity, the treasury address, and the per-network price.
curl -i -X POST https://preplayer.maximus-boomerus.workers.dev/v1/normalize \
-H 'content-type: application/json' \ --data '{"text":"Hello\u200b, World!"}'
The response is HTTP/2 402, with:
PAYMENT-REQUIRED: eyJ4NDAyVmVyc2lvbiI6...
Decoded, the body is a JSON object describing the accepted (scheme, network, amount, asset, payTo). See examples/probe.mjs for a runnable version that decodes the base64 challenge and prints it.
The real paid flow needs a wallet — there is no honest way to do it with bare curl. examples/paid-call.mjs shows the verified-working pattern (EIP-3009 signing via @x402/evm/exact/client, header encoding via @x402/core/client's x402HTTPClient.encodePaymentSignatureHeader). To run it:
npm install viem @x402/core @x402/evm
PAYER_PRIVATE_KEY=0x<64 hex chars> node examples/paid-call.mjs
The script signs a single call to /v1/dedupe, prints the first 18 chars of the EIP-712 signature (never the key, never the full signature), and prints the PAYMENT-RESPONSE settlement receipt on success. The same machinery handles the other 11 primitives and batch.
Never commit, log, or paste your `PAYER_PRIVATE_KEY`. A leaked private key is unrecoverable loss of USDC.
Any MCP client that supports streamable-http can drive PrepLayer by pointing at:
https://preplayer.maximus-boomerus.workers.dev/mcp
The server returns the full tool list (normalize, validate, extract, redact, classify, dedupe, diff, chunk, extract_custom, validate_json, slugify, hash, batch, subscription, priority) on tools/list. Each tool call goes through x402 like any other HTTP call — the MCP layer is a thin transport.
If you are writing your own MCP client: the initialize handshake is JSON-RPC 2.0 over HTTP POST with Content-Type: application/json and Accept: application/json, text/event-stream. tools/call is a paid request that returns the same 402 / PAYMENT-SIGNATURE round-trip as the bare HTTP path.
This service is honest about what it is and what it isn't.
normalize, slugify, and extract do Unicode folding to a fixed ASCII surface. That's the whole point — content hashes stay stable across whitespace, smart-quote, and accent variants — but it means we strip diacritics, we don't preserve them round-trip. "naïve café" becomes "naive cafe". If you need Unicode-preserving normalization (e.g. NFKC without NFKD), this is the wrong tool.
subscription ($200 / 10 000 calls / month) and priority (X-Priority: high, no published price) both return 501 Not Implemented today. The manifest advertises them so x402 directories render the full tier ladder, but the Worker has no D1 store backing subscriptions and no SLA behind the priority tier. Do not pay into either yet — the server will refuse the call regardless of whether the signature is valid.
One Cloudflare Worker, no Durable-Object-backed request queueing. Latency P99 is unmeasured but the Worker can be cold-started after a deploy, and a single misbehaving caller can pin a CPU slot for several seconds on extract_custom with a malicious regex (we have a static guard and a 10 KB subject cap, but no economic rate limit beyond that). Treat this as a beta: useful for research workloads, not yet a fit for time-sensitive production pipelines.
Settlement goes through Coinbase Developer Platform's x402 endpoint. If the CDP facilitator is down, every paid call will 503 regardless of how good the signature is. We have no in-process fallback. Mirror status: https://status.coinbase.com/.
A successfully-paid call cannot be replayed against the same endpoint (the Worker uses a Durable Object keyed by payment nonce, exactly-once under concurrency), but the same signed payment can be replayed once per Worker instance across different endpoints if the JSON body changes to fit. If you fork this for production, add a per-tool-keyed replay set on top of the per-payload nonce.
Between 0.1.0 and 0.2.0 the receipt field list moved (the facilitator field used to read "mock-cdp" during Phase 1; it now reads the real facilitator URL). Anything that scrapes receipts and pins the field names needs an update if the settlement envelope changes in a future minor version.
These URLs never charge and never rate-limit:
The Worker is in 0.2.0. It was red-teamed (preplayer_redteam_2026-10-19.md in the project notes) before paid real USDC was accepted; the payment bypass, replay, ReDoS, and price-tier findings are closed. Two P3 items (HEAD → 404 not 405, duplicate 402 in MCP structuredContent) remain open. The Worker has been serving real EIP-3009-signed USDC calls against the CDP facilitator since Phase 2.
MIT — see LICENSE. Service source is private; this repo and the endpoints it documents are MIT.