Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Verify a company, figure or citation before you rely on it. Card or crypto; signed receipt.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://agents.factstamp.dev/mcp터미널에서 이 명령어를 실행하세요
claude mcp add --transport http factstamp https://agents.factstamp.dev/mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"factstamp": {
"url": "https://agents.factstamp.dev/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"factstamp": {
"type": "http",
"url": "https://agents.factstamp.dev/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://agents.factstamp.dev/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 7일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
list_seriesIncluded. What this engine covers, the publisher and as-of date behind each series, and the no-guess rule.
route_claimIncluded. Shows which series a claim would be routed to, the value and date extracted, and the signals behind the score. Returns NO verdict — pay for check_figure when you want one.
list_card_packagesIncluded. The one-off card packages as one machine-readable catalogue: the 11 products and their 13 prices in Australian dollars, the unit one payment buys for each SKU, what the package returns, and where the input is sent. One payment each, nothing metered, nothing subscribed.
buy_card_packageIncluded. Opens a Stripe Checkout Session for one card package and returns its payment link and its session id. This tool charges nothing and produces no artefact: on the card rail the thing that taps is a human. The package's work runs only at its redeem path, after Stripe's own
check_figureSubmit the dated figure you are about to act on. Returns verified, stale, contradicted or unknown, cited to the publisher's own series with its as-of date. Relevant wherever a number is going onto a page, deck or decision. Not advice. Comes with an Ed25519-signed receipt covering
check_entityVerify a legal entity: does this company exist, under which identifier and jurisdiction, and is its registration current? Cited to open primary registers (the GLEIF LEI index and US SEC EDGAR). Returns found, ambiguous, not_found or unknown; a near name match is never reported as
check_entity_fileThe entity file: ONE paid answer holding everything we hold about one company: the whole picture in ONE call rather than four separate facts stitched together, at the point of signing, onboarding, paying or acquiring a counterparty. It holds identity and standing, the registered
check_entity_file_ilIsraeli company lookup and company register check by company number (nine digits, with its own check digit) or by registered name, Hebrew or English: identity, corporation type, the register's own status and sub-status, description and stated purpose, incorporation date, governme
check_entity_file_caCanadian company lookup and Canadian federal corporation register check by nine-digit Business Number (BN) only: corporation number, BN, governing legislation, every registered name with type, current flag and effective date, the register's own status, the registered address, the
check_sanctionsSanctions screening of a name, for whether a person or company is on a sanctions list — and which one. Reads OFAC SDN, the UN consolidated list, the EU Financial Sanctions File and the UK Sanctions List, and returns listed, mismatch, not_found or unknown. The answer names the lis
check_vatAn EU VAT number check — VAT validity, and the VAT registration behind it. Reads the official VIES service (European Commission), keyless. Returns valid, invalid or unknown — an outage is NEVER reported as invalid — with the member state, the register's own request date, and the
verify_citationSays whether a citation can be repeated. Submit a DOI, an arXiv ID or a paper title: returns whether it exists, what it is (title, authors, year, container) and whether it has been retracted, cited to Crossref and arXiv. Optionally send what your document claims (title, authors,
verify_packageReports on a dependency at the point of installation. Submit a package and version plus its ecosystem: returns whether that exact version exists, whether it is yanked or deprecated, and every advisory OSV lists against it. An invented version returns not_found with the real versi
watch_addWatch ONE citation or ONE package version instead of checking it once. Send kind ('citation' or 'package') and the subject (a DOI, an arXiv ID or a title; or npm:express@4.18.2). The first check is answered immediately and signed, then re-checked daily for 30 days; every real cha
watch_portfolioWatch a whole list instead of one reference at a time: up to 25 citations or package versions re-checked every day for 30 days under one token. US$5 a portfolio — 20 cents a reference, under a cent a check — and the first check on every reference is answered and signed immediatel
verify_bulkCheck a whole list in one call: a bibliography or a dependency manifest. Send items[] of {tool, input} or the citations[]/packages[] shorthand. Up to 12 items at a flat US$0.12 on this door; longer lists pay 0.016667 an item on the pack-funded HTTP door (POST /bulk, up to 25 item
check_documentA whole document in one call: the claims that can be verified against a primary source, each answered by the door that owns it with its own signed receipt, plus one receipt over the document. Extraction is mechanical, so the claim list and the count are reproducible from your doc
audit_claimsAudit what an agent believes about companies. Send up to 10 claims ({subject:{identifier|name|jurisdiction}, field, value}) and get, claim by claim: supported (the register says this), contradicted (it says something else, shown), stale (the register records it as FORMER, with th
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 도메인 alpineai.com.au 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
1086ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 18개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.4)은 10일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, SwarmMemo
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ 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.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Paid verification for agents, and a public record of every paid answer. Each call returns a cited, dated finding with a signed receipt you can verify offline, without asking us. Each settled call is written into a public log, and each day's root is stamped onto the Base blockchain whenever that day held a payment from someone other than us. When a check has to stay confidential there is a private option: a flat US$25 on top of the call price seals the request, so the world can see that a call happened and prove it later, but never learn what was asked. No model sits in the verdict path, and unknown is a first-class answer.
Live service: https://agents.factstamp.dev
The published machine interface of the FactStamp service, mirrored here so it can be read, diffed and cited without a wallet. Each row names the live route the copy came from, so any file here can be checked against the service in one request:
| File | What it is | Live source |
|---|---|---|
openapi.json | The OpenAPI 3.1 description of every route. | https://agents.factstamp.dev/openapi.json |
llms.txt | The plain-language map of the service: what each tool costs, what it returns, what it refuses to claim. | https://agents.factstamp.dev/llms.txt |
coverage.json | Which registers are read, per jurisdiction, section by section, with the price of each door. | https://agents.factstamp.dev/coverage.json |
server.json | The MCP registry manifest — the entry submitted to the official registry, not a route the service serves. | https://agents.factstamp.dev/.well-known/mcp.json (the live descriptor) |
These are dated snapshots, not a live feed. Coverage and prices move as registers change, so a copy here can lag the service. When the two disagree, the live route wins — fetch it and believe that, not this. The files exist so a person or an agent without a wallet can read the interface, and so a reader can cite exactly what was published on a given day.
The service's private source is not published here.
| Route | Purpose | Access |
|---|---|---|
/mcp | MCP endpoint — the tool surface agents call. | — |
/health | Service status: name, network, judge and registry versions. | open |
/openapi.json | Machine description of every route. | open |
/llms.txt | The service explained for readers. | open |
/coverage.json | Per-jurisdiction coverage and prices. | open |
/samples | Example answers, so you can see the shape before paying. | open |
/ledger/root | The public record: today's root, the last 30 daily roots, and each day's verdict. | open |
/ledger/zero-knowledge | The private-request option: what it is, what it publishes, what it costs. | open |
Paid routes include /citation, /package, /check, /entity, /entity-file, /bulk, /document, /watch, /watch/portfolio, and /verify for receipt checking. Prices are published, per call, in the files above rather than in prose here.
Taken from /health and /llms.txt as served:
/companyIf a number here ever disagrees with llms.txt or openapi.json as served, the served file wins.
Every paid answer carries a receipt signed with Ed25519 over the exact findings and the file's hash, so a third party can verify it offline against the published issuer and key document — no call back to us, and no trust in our uptime. The key document at /.well-known/factstamp-issuer.json states exactly which bytes the key identifier is derived from and carries a worked example, so the derivation can be reproduced in any hash tool. A receipt proves *that FactStamp said this, on this date*. It does not prove that the register itself is right, and nothing in this service claims it does.
Every settled paid call, over HTTP and over MCP alike, appends one entry to a public log. The log is an RFC 6962 Merkle tree; each UTC day's log reduces to a single root, published at /ledger/root along with the last thirty days.
A day's root is written to the Base blockchain — one small data-only transaction, magic 0x46535401 followed by the 32-byte root — only when that day held at least one settlement paid by someone other than us. Our own test payments never anchor a day. The rule exists so that an anchor means something: a day is stamped because a stranger paid, not because we were busy.
Days already written (verifiable on Base, chain id 8453):
| Day | Transaction |
|---|---|
| 2026-10-23 | 0x3bd942ae61c053aa7218ebfe44c25db2d9726412a67ec75073267cfb376d38f3 |
| 2026-10-25 | 0xa80b18f7d829fe535d86a700daa98f7f69f183877f158f1f0b2094dd2a94138f |
A day that held no outside payment is published with the verdict that says so, rather than being quietly left blank. The honest limit: an anchor proves the root was committed publicly on the day the transaction landed, not on the day of the payment — the payment itself is already a public record, because it is a transfer on the same chain. The anchor adds our side of the story: that the answers we gave were fixed before anyone asked to see them.
By default a paid call's entry is published in full — the door, the price, the verdict, and the fact that the call happened. For a caller who needs the call itself to stay confidential there is a `zero_knowledge` option, declared on the request.
entry_id, the day, the price, the scheme (salted_commitment_v1) and the network. Nothing else.The private option is documented at /ledger/zero-knowledge, with its own root at /ledger/zero-knowledge/root and its entries at /ledger/zero-knowledge/entry/{entry_id}. It is an option on the paid doors, not a separate service.
unknown, never not found.Corrections about a claim we make are welcome as issues here. If we have said something about a company, a number or a register that is wrong, that is the fastest way to tell us.