BTCDecoded Intelligence
Cited Bitcoin coordination record search (~783k). Lightning. MCP. Not prices/chain analytics.
Should I use this
Quality & Safety
Findings (1)
- LOWin assess_argument
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"intelligence": {
"url": "https://mcp.btcdecoded.org/mcp"
}
}
}Remote endpoints
https://mcp.btcdecoded.org/mcpstreamable-httpWhat it can do
Tool inventory
Tools (14)
🟢hold(situation)
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.
Input Schema
{
"type": "object",
"properties": {
"situation": {
"type": "string",
"enum": [
"start",
"kit",
"signer",
"backup",
"estate",
"support"
],
"description": "start, kit, signer, backup, estate, or support. Omit for the front door."
}
},
"additionalProperties": false
}🟢search(query, source, when, snapshot)
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, Bitcoin Stack Exchange (source=stackexchange), 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, Luke de Wolf Defending Bitcoin, Knut Svanholm Sovereignty through mathematics, Knut Svanholm Independence Reimagined, Bailey Rettler and Warmke Resistance Money, 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).
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural-language question or topic to retrieve cited passages for."
},
"source": {
"type": "string",
"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",
"stackexchange",
"core_src",
"src",
"satoshi",
"releases",
"bips",
"price",
"transcripts",
"project"
],
"description": "Optional pin to one corpus source (e.g. github, irc, mail, price, textbooks). Omit to search both layers."
},
"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."
},
"snapshot": {
"type": "boolean",
"description": "If true, persist this result as a dated snapshot."
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢assess_argument(text)
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.
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Claim or thread excerpt to match against the documented discourse games."
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢get_contributor_profile(login)
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.
Input Schema
{
"type": "object",
"properties": {
"login": {
"type": "string",
"description": "GitHub login or unique public GitHub name, case-insensitive. Unknown values return found=false."
}
},
"required": [
"login"
],
"additionalProperties": false
}🟢get_passage(id, source, doc, uri)
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.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Vectorize id from a search cite."
},
"source": {
"type": "string",
"description": "Corpus source when id is omitted (with doc)."
},
"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."
}
},
"additionalProperties": false
}🟢get_snapshot(id)
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.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "snapshot_id from a prior tool result."
}
},
"required": [
"id"
],
"additionalProperties": false
}🟢verify_claim(claim, id, source, doc)
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.
Input Schema
{
"type": "object",
"properties": {
"claim": {
"type": "string",
"description": "Claim to score against the stored excerpt."
},
"id": {
"type": "string",
"description": "Vectorize id from a search cite."
},
"source": {
"type": "string",
"description": "Corpus source when id is omitted (with doc)."
},
"doc": {
"type": "string",
"description": "Document id when id is omitted (with source)."
}
},
"required": [
"claim"
],
"additionalProperties": false
}🟢analyze_pr(url, ref)
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.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public GitHub pull request URL (https://github.com/owner/repo/pull/n)."
},
"ref": {
"type": "string",
"description": "Alternate to url: owner/repo#n."
}
},
"additionalProperties": false
}🟢analyze_issue(url, ref)
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.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public GitHub issue URL (https://github.com/owner/repo/issues/n)."
},
"ref": {
"type": "string",
"description": "Alternate to url: owner/repo/issues/n."
}
},
"additionalProperties": false
}🟢analyze_submission(spec, submission, source, when, github_pr, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"spec": {
"type": "string",
"description": "Natural-language spec or acceptance criteria to check against."
},
"submission": {
"type": "string",
"description": "Natural-language submission text (description and/or public PR pack)."
},
"source": {
"type": "string",
"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",
"stackexchange",
"core_src",
"src",
"satoshi",
"releases",
"bips",
"price",
"transcripts",
"project"
],
"description": "Optional pin to one corpus source (e.g. github, irc, mail, spec). Omit to search both layers."
},
"when": {
"type": "string",
"description": "Optional date pin YYYY, YYYY-MM, or YYYY-MM-DD. Keeps cites whose passage date starts with that prefix."
},
"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."
},
"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."
},
"caller_ref": {
"type": "string",
"description": "Optional opaque correlation id. Echoed, not interpreted."
}
},
"required": [
"spec",
"submission"
],
"additionalProperties": false
}🟢find_discourse(path, repo, symbol, query, snapshot)
Retrieve GitHub, mail, IRC, and Delving cites for a path or symbol. Mail/IRC rarely include paths.
Input Schema
{
"type": "object",
"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."
},
"symbol": {
"type": "string",
"description": "Optional function or type name."
},
"query": {
"type": "string",
"description": "Optional extra search text."
},
"snapshot": {
"type": "boolean",
"description": "If true, persist this result as a dated snapshot."
}
},
"required": [
"path"
],
"additionalProperties": false
}🟢find_precedent(query, snapshot)
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.
Input Schema
{
"type": "object",
"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."
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢find_incident(query, snapshot)
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.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "CVE id or incident name."
},
"snapshot": {
"type": "boolean",
"description": "If true, persist this result as a dated snapshot."
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢find_spec_impl(query, snapshot)
Retrieve spec, Core source, and GitHub cites for a spec section or behavior. Cites only. Does not emit aligned/gap/divergence verdicts.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Spec section, rule, or implementation question."
},
"snapshot": {
"type": "boolean",
"description": "If true, persist this result as a dated snapshot."
}
},
"required": [
"query"
],
"additionalProperties": false
}Recommended Prompts
searchsearchget_contributor_profileget_contributor_profilesearchget_contributor_profileCommunity
Evidence