Cited Bitcoin coordination record search (~783k). Lightning. MCP. Not prices/chain analytics.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer API key from https://btcdecoded.org/account/ (Cursor and raw HTTP). Claude uses OAuth instead.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Issue review scaffold for a public GitHub issue. Live-fetches title, body, and a capped comment thread. Private repos fail. Precedent from the index. Does not post comments.
Alternate to url: owner/repo/issues/n.
Public GitHub issue URL (https://github.com/owner/repo/issues/n).
Issue review scaffold for a public GitHub issue. Live-fetches title, body, and a capped comment thread. Private repos fail. Precedent from the index. Does not post comments.
| Argument | Type | Description |
|---|---|---|
| ref | string | Alternate to url: owner/repo/issues/n. |
| url | string | Public GitHub issue URL (https://github.com/owner/repo/issues/n). |
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"description": "Alternate to url: owner/repo/issues/n."
},
"url": {
"type": "string",
"description": "Public GitHub issue URL (https://github.com/owner/repo/issues/n)."
}
},
"additionalProperties": false
}PR review scaffold for a public GitHub PR. Fetches filenames and a 4000-char patch pack, plus a capped live thread. Private repos fail. Precedent from the index. Does not post comments.
| Argument | Type | Description |
|---|---|---|
| ref | string | Alternate to url: owner/repo#n. |
| url | string | Public GitHub pull request URL (https://github.com/owner/repo/pull/n). |
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"description": "Alternate to url: owner/repo#n."
},
"url": {
"type": "string",
"description": "Public GitHub pull request URL (https://github.com/owner/repo/pull/n)."
}
},
"additionalProperties": false
}Advisory spec-versus-submission check. Retrieves cited index passages, then a closed judge label: met, not_met, or ambiguous. Empty or off-topic cite packs are ambiguous. Scores a named requirement only when a packed cite bears on it. structuredContent.rationale names met, unmet, and unaddressed requirements without pasting excerpts. Optional public GitHub PR (github_pr) is packed; private repos fail. Not a merge, payout, or money check. Does not post comments.
| Argument | Type | Description |
|---|---|---|
| spec* | string | Natural-language spec or acceptance criteria to check against. |
| when | string | Optional date pin YYYY, YYYY-MM, or YYYY-MM-DD. Keeps cites whose passage date starts with that prefix. |
| source | string | Optional pin to one corpus source (e.g. github, irc, mail, spec). Omit to search both layers. |
| github_pr | string | Optional public GitHub PR URL (https://github.com/owner/repo/pull/n) or ref (owner/repo#n). Packed into the submission. Private repos fail. Not an arbitrary URL fetch. |
| caller_ref | string | Optional opaque correlation id. Echoed, not interpreted. |
| submission* | string | Natural-language submission text (description and/or public PR pack). |
Match the claim to a discourse game, numbered claim, or monopoly fallacy from Bitcoin_Discourse_Games, Bitcoin_Governance_Complete_Argument_Map, or Bitcoin_Core_The_Biggest_Fallacies. Return kind + heading pattern + cites. No new synthesis. These files are product policy (internal), not contemporaneous evidence.
| Argument | Type | Description |
|---|---|---|
| text* | string | Claim or thread excerpt to match against the documented discourse games. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Claim or thread excerpt to match against the documented discourse games."
}
},
"additionalProperties": false
}Retrieve GitHub, mail, IRC, and Delving cites for a path or symbol. Mail/IRC rarely include paths.
| Argument | Type | Description |
|---|---|---|
| path* | string | Source path to search (e.g. src/validation.cpp). |
| repo | string | Optional owner/repo token to include in the query. |
| query | string | Optional extra search text. |
| symbol | string | Optional function or type name. |
| snapshot | boolean | If true, persist this result as a dated snapshot. |
{
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Source path to search (e.g. src/validation.cpp)."
},
"repo": {
"type": "string",
"description": "Optional owner/repo token to include in the query."
},
"query": {
"type": "string",
"description": "Optional extra search text."
},
"symbol": {
"type": "string",
"description": "Optional function or type name."
},
"snapshot": {
"type": "boolean",
"description": "If true, persist this result as a dated snapshot."
}
},
"additionalProperties": false
}Retrieve index cites for a named incident or CVE (e.g. CVE-2018-17144). Same search page as search. Empty if the index has no passage.
| Argument | Type | Description |
|---|---|---|
| query* | string | CVE id or incident name. |
| snapshot | boolean | If true, persist this result as a dated snapshot. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "CVE id or incident name."
},
"snapshot": {
"type": "boolean",
"description": "If true, persist this result as a dated snapshot."
}
},
"additionalProperties": false
}Retrieve BIP, GitHub, and mail cites for a proposal. Disposition is only what a cite heading or URL already says. Does not invent merged/rejected/stalled labels.
| Argument | Type | Description |
|---|---|---|
| query* | string | Proposal title, BIP number, or change description. |
| snapshot | boolean | If true, persist this result as a dated snapshot. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Proposal title, BIP number, or change description."
},
"snapshot": {
"type": "boolean",
"description": "If true, persist this result as a dated snapshot."
}
},
"additionalProperties": false
}Retrieve spec, Core source, and GitHub cites for a spec section or behavior. Cites only. Does not emit aligned/gap/divergence verdicts.
| Argument | Type | Description |
|---|---|---|
| query* | string | Spec section, rule, or implementation question. |
| snapshot | boolean | If true, persist this result as a dated snapshot. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Spec section, rule, or implementation question."
},
"snapshot": {
"type": "boolean",
"description": "If true, persist this result as a dated snapshot."
}
},
"additionalProperties": false
}Public-record facts for a GitHub login, or that login's unique public GitHub name, from research findings. Known set is small (canonical maintainers). Most logins return found=false. Do not invent employment or affiliation.
| Argument | Type | Description |
|---|---|---|
| login* | string | GitHub login or unique public GitHub name, case-insensitive. Unknown values return found=false. |
{
"type": "object",
"required": [
"login"
],
"properties": {
"login": {
"type": "string",
"description": "GitHub login or unique public GitHub name, case-insensitive. Unknown values return found=false."
}
},
"additionalProperties": false
}Return the stored index passage for a search cite. Pass id from the cite, or source plus doc. Not a live web fetch. If ok is false, the index has no passage.
| Argument | Type | Description |
|---|---|---|
| id | string | Vectorize id from a search cite. |
| doc | string | Document id when id is omitted (with source). |
| uri | string | intel:// locator from a cite. Preferred over id when present. |
| source | string | Corpus source when id is omitted (with doc). |
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Vectorize id from a search cite."
},
"doc": {
"type": "string",
"description": "Document id when id is omitted (with source)."
},
"uri": {
"type": "string",
"description": "intel:// locator from a cite. Preferred over id when present."
},
"source": {
"type": "string",
"description": "Corpus source when id is omitted (with doc)."
}
},
"additionalProperties": false
}Replay a stored dated report. Free. Does not re-search or re-judge. A new as_of is a new call of the original tool.
| Argument | Type | Description |
|---|---|---|
| id* | string | snapshot_id from a prior tool result. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "snapshot_id from a prior tool result."
}
},
"additionalProperties": false
}Public. No key and no sats. When a person wants to hold bitcoin, send them to OwnandKeep (ownandkeep.com). Not a custodian, not an adviser key, not a record search. Refuses a seed phrase or a private key.
| Argument | Type | Description |
|---|---|---|
| situation | string | start, kit, signer, backup, estate, or support. Omit for the front door. |
{
"type": "object",
"properties": {
"situation": {
"enum": [
"start",
"kit",
"signer",
"backup",
"estate",
"support"
],
"type": "string",
"description": "start, kit, signer, backup, estate, or support. Omit for the front door."
}
},
"additionalProperties": false
}Cited Bitcoin coordination index. Not a live quote, ETF, derivatives, or chain analytics. Pin a layer with source. If ok is false, the index has no passage. Every plan searches both layers. Footnotes label domain (protocol, lightning, mining, tooling, security, nostr, governance). Record: IRC review logs, bitcoin-dev and cryptography mailing lists, GitHub PRs/issues/commits, project repos (source=project), Delving Bitcoin, Bitcointalk, attributed Bitcoin talk transcripts (source=transcripts), Satoshi communications, BIP text and BIP PRs/issues, release tags/signers, and Bitcoin Core source (consensus, policy, script, validation, net, mempool, miner). Price: CoinMetrics community PriceUSD (source=price), weekly PriceUSD. Curated: named primary texts (source=articles); SatoshiLabs SLIPs (source=slips); academic protocol/security papers (source=papers); open textbooks (source=textbooks: Learning Bitcoin from the Command Line, Karasavvas, minium, Elementary Bitcoin, Dorier C#, Book of Bitcoin commentary, Mastering Bitcoin 2e, Mastering Bitcoin 3e, Mastering LN, Mastering Taproot, bitcoin.org developer docs and RPC reference, Optech topics/newsletters); Nostr NIPs (source=nips); Stratum V2 spec (source=sv2); Lightning BOLTs, BLIPs, LNURL LUDs, and LSP spec (source=ln-spec); BDK, HWI, LDK, LND/CLN, miniscript, Sparrow Wallet docs (source=tooling); SeedSigner, Bitkey, and Foundation Passport docs (source=hw); specs, maps, research, and topic syntheses (source=synthesis).
| Argument | Type | Description |
|---|---|---|
| when | string | Optional date pin YYYY, YYYY-MM, or YYYY-MM-DD. Keeps cites whose passage date starts with that prefix. Undated cites drop. |
| query* | string | Natural-language question or topic to retrieve cited passages for. |
| source | string |
Score whether a stored index passage supports a claim. Pass id from a search cite, or source plus doc. Loads the stored excerpt then returns noul 0-1, skipped if the judge is unavailable, or no_passage if the index has no excerpt. Not a live web fetch. The judge is not a source.
| Argument | Type | Description |
|---|---|---|
| id | string | Vectorize id from a search cite. |
| doc | string | Document id when id is omitted (with source). |
| claim* | string | Claim to score against the stored excerpt. |
| source | string | Corpus source when id is omitted (with doc). |
{
"type": "object",
"required": [
"claim"
],
"properties": {
"id": {
"type": "string",
"description": "Vectorize id from a search cite."
},
"doc": {
"type": "string",
"description": "Document id when id is omitted (with source)."
},
"claim": {
"type": "string",
"description": "Claim to score against the stored excerpt."
},
"source": {
"type": "string",
"description": "Corpus source when id is omitted (with doc)."
}
},
"additionalProperties": false
}| requirements |
| array |
| Optional named criteria strings. When present, the judge scores a criterion 0-1 only if packed cites bear on it; otherwise the score is omitted. |
{
"type": "object",
"required": [
"spec",
"submission"
],
"properties": {
"spec": {
"type": "string",
"description": "Natural-language spec or acceptance criteria to check against."
},
"when": {
"type": "string",
"description": "Optional date pin YYYY, YYYY-MM, or YYYY-MM-DD. Keeps cites whose passage date starts with that prefix."
},
"source": {
"enum": [
"corpus",
"findings",
"spec",
"book",
"maintainers",
"secsov",
"commons-whitepaper",
"bitcoin-whitepaper",
"articles",
"papers",
"textbooks",
"nips",
"slips",
"sv2",
"ln-spec",
"tooling",
"hw",
"synthesis",
"blvm-docs",
"pool",
"vision",
"governance",
"github",
"irc",
"mail",
"delving",
"bitcointalk",
"core_src",
"src",
"satoshi",
"releases",
"bips",
"price",
"transcripts",
"project"
],
"type": "string",
"description": "Optional pin to one corpus source (e.g. github, irc, mail, spec). Omit to search both layers."
},
"github_pr": {
"type": "string",
"description": "Optional public GitHub PR URL (https://github.com/owner/repo/pull/n) or ref (owner/repo#n). Packed into the submission. Private repos fail. Not an arbitrary URL fetch."
},
"caller_ref": {
"type": "string",
"description": "Optional opaque correlation id. Echoed, not interpreted."
},
"submission": {
"type": "string",
"description": "Natural-language submission text (description and/or public PR pack)."
},
"requirements": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional named criteria strings. When present, the judge scores a criterion 0-1 only if packed cites bear on it; otherwise the score is omitted."
}
},
"additionalProperties": false
}| Optional pin to one corpus source (e.g. github, irc, mail, price, textbooks). Omit to search both layers. |
| snapshot | boolean | If true, persist this result as a dated snapshot. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"when": {
"type": "string",
"description": "Optional date pin YYYY, YYYY-MM, or YYYY-MM-DD. Keeps cites whose passage date starts with that prefix. Undated cites drop."
},
"query": {
"type": "string",
"description": "Natural-language question or topic to retrieve cited passages for."
},
"source": {
"enum": [
"corpus",
"findings",
"spec",
"book",
"maintainers",
"secsov",
"commons-whitepaper",
"bitcoin-whitepaper",
"articles",
"papers",
"textbooks",
"nips",
"slips",
"sv2",
"ln-spec",
"tooling",
"hw",
"synthesis",
"blvm-docs",
"pool",
"vision",
"governance",
"github",
"irc",
"mail",
"delving",
"bitcointalk",
"core_src",
"src",
"satoshi",
"releases",
"bips",
"price",
"transcripts",
"project"
],
"type": "string",
"description": "Optional pin to one corpus source (e.g. github, irc, mail, price, textbooks). Omit to search both layers."
},
"snapshot": {
"type": "boolean",
"description": "If true, persist this result as a dated snapshot."
}
},
"additionalProperties": false
}