Koskamo

BTC Intel MCP

A read-only Model Context Protocol server providing Bitcoin market intelligence. It offers tools to retrieve the delayed BTC Intel Score (0-100), daily market reads, headlines, and Intel DCA plan rules. It also supports live score retrieval via Lightning payments and detailed market component analysis.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

BTC Intel MCP logo, by BTC IntelVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by BTC Intel
MCP endpoint (Streamable HTTP)
https://btcintel.org/mcp
Vendor documentation

What its tools do

13 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

13 of 13 have a description · 13 of 13 declare behavior hints · 10 of 10 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to btcintel.org ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Retrieve the delayed BTC Intel Score
  • Get the day's market read and headlines
  • Access Intel DCA plan rules
  • Fetch live Bitcoin market details

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
btc-intel 1.0.0
MCP protocol negotiated in check
2025-06-18
Tools
13 advertised
Resources
8 advertised
Resource templates
2 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

BTC Intel: understand where Bitcoin is today, compared with its own history. A daily 0–100 market assessment with its classification, historical position, momentum and statistics, a daily record since July 18, 2011 (live publication since October 6, 2026; earlier days back-calculated with the current method), and a daily intelligence brief. Free answers on the Score and the brief stop at the Delayed date, three months back; data through the latest published day costs $0.25 a call in bitcoin over Lightning ($1.00 for a full live export), paid per call, never recurring. Rankings and statistics describe the past, not forecasts. Cite as BTC Intel, btcintel.org. Research, not investment advice.

Tools

13 advertised

get_delayed_score — BTC Intel Score (delayed)
Advertised by the server during the last successful anonymous check.
Advertised read-only

The BTC Intel Score (0 to 100) for a day up to the Delayed date, three months behind the live record, as the public site shows it. Without a date: the latest delayed day. A date after the Delayed date is refused.

get_delayed_score input schema
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "A day as YYYY-MM-DD. Optional: the latest delayed day when left out."
    }
  },
  "additionalProperties": false
}
get_delayed_score annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_market_read — BTC Intel market read
Advertised by the server during the last successful anonymous check.
Advertised read-only

The public market read: for the Full Read and each Analysis page (technical, on-chain, market structure, sentiment, macro, cross-market, liquidity, cycle), its state word and its summary line, as printed on the site.

get_market_read input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_market_read annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_brief — BTC Intel Brief headlines
Advertised by the server during the last successful anonymous check.
Advertised read-only

The latest public Brief (the daily read) and the latest public Weekly Brief: their headlines, dates and links.

get_brief input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_brief annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_plan_rules — Intel DCA plan rules
Advertised by the server during the last successful anonymous check.
Advertised read-only

The public Intel DCA ladder, word for word from btcintel.org/intel-dca/: what each plan (Defensive, Balanced, Growth) does on payday at each Score level, and the notes under the ladder.

get_plan_rules input schema
{
  "type": "object",
  "properties": {
    "plan": {
      "enum": [
        "Defensive",
        "Balanced",
        "Growth"
      ],
      "type": "string",
      "description": "Optional: one plan. All three when left out."
    }
  },
  "additionalProperties": false
}
get_plan_rules annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_live_score — BTC Intel Score (live, paid)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

The live BTC Intel Score (0–100), its market classification and historical positioning. Shows where today's Score ranks against the complete historical record (daily since July 2011; live since October 6, 2026, earlier days back-calculated with the current method), including its historical position and the proportion of recorded days above and below today's reading, with the publication date. Context, not a forecast. $0.25 per call, payable in bitcoin over Lightning, one call per payment: call without "payment" to get a Lightning invoice and a macaroon, pay the invoice, then call again with payment = "<macaroon>:<preimage>". Research, not investment advice.

get_live_score input schema
{
  "type": "object",
  "properties": {
    "payment": {
      "type": "string",
      "description": "Optional: \"<macaroon>:<preimage>\" after paying the invoice from the first call."
    }
  },
  "additionalProperties": false
}
get_live_score annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
get_btc_intel_score — BTC Intel Score for a day
Advertised by the server during the last successful anonymous check.
Advertised read-only

Where Bitcoin stood on a day compared with its own history: the BTC Intel Score (0–100) and its classification, marked live or back-calculated (daily since July 18, 2011; live publication since October 6, 2026; earlier days back-calculated with the current method). Free up to the Delayed date (three months back); live = true or a later day: through the latest published day, $0.25 a call in bitcoin over Lightning, never recurring.

get_btc_intel_score input schema
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "Optional day, YYYY-MM-DD. The Delayed date when left out (the latest published day with live = true)."
    },
    "live": {
      "type": "boolean",
      "description": "Optional: true for data through the latest published day (paid, $0.25 a call). Free answers stop at the Delayed date."
    },
    "payment": {
      "type": "string",
      "description": "Optional: \"<macaroon>:<preimage>\" after paying the invoice a paid call returned. Send the same arguments again with it."
    }
  },
  "additionalProperties": false
}
get_btc_intel_score output schema
{
  "type": "object",
  "required": [
    "as_of",
    "source",
    "attribution",
    "link",
    "note"
  ],
  "properties": {
    "date": {
      "type": "string"
    },
    "link": {
      "type": "string"
    },
    "live": {
      "type": "boolean"
    },
    "note": {
      "type": "string"
    },
    "as_of": {
      "type": "string",
      "description": "UTC: the last day the answer covers (YYYY-MM-DD), or for the Brief and methodology the time it was published (ISO 8601)"
    },
    "basis": {
      "type": "string"
    },
    "level": {
      "type": "string"
    },
    "pages": {
      "type": "integer"
    },
    "range": {
      "type": "object",
      "properties": {
        "to": {
          "type": "string"
        },
        "from": {
          "type": "string"
        }
      }
    },
    "score": {
      "type": "number"
    },
    "access": {
      "enum": [
        "free",
        "paid"
      ],
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "price_usd": {
      "type": "number"
    },
    "basis_note": {
      "type": "string"
    },
    "score_note": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "score_exact": {
      "type": "number"
    },
    "delayed_through": {
      "type": [
        "string",
        "null"
      ],
      "description": "The Delayed date: free answers stop here"
    },
    "payment_required": {
      "type": "boolean"
    }
  }
}
get_btc_intel_score annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_score_momentum — BTC Intel Score momentum
Advertised by the server during the last successful anonymous check.
Advertised read-only

How the Score has moved over 1, 7, 30 and 90 days and how long it has held its classification, counted on its own daily record. Free up to the Delayed date (three months back); live = true or a later day: through the latest published day, $0.25 a call in bitcoin over Lightning, never recurring. Changes describe the past, not what comes next.

get_score_momentum input schema
{
  "type": "object",
  "properties": {
    "live": {
      "type": "boolean",
      "description": "Optional: true for data through the latest published day (paid, $0.25 a call). Free answers stop at the Delayed date."
    },
    "payment": {
      "type": "string",
      "description": "Optional: \"<macaroon>:<preimage>\" after paying the invoice a paid call returned. Send the same arguments again with it."
    }
  },
  "additionalProperties": false
}
get_score_momentum output schema
{
  "type": "object",
  "required": [
    "as_of",
    "source",
    "attribution",
    "link",
    "note"
  ],
  "properties": {
    "link": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "as_of": {
      "type": "string",
      "description": "UTC: the last day the answer covers (YYYY-MM-DD), or for the Brief and methodology the time it was published (ISO 8601)"
    },
    "pages": {
      "type": "integer"
    },
    "range": {
      "type": "object",
      "properties": {
        "to": {
          "type": "string"
        },
        "from": {
          "type": "string"
        }
      }
    },
    "access": {
      "enum": [
        "free",
        "paid"
      ],
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "through": {
      "type": "string"
    },
    "momentum": {
      "type": "object"
    },
    "price_usd": {
      "type": "number"
    },
    "basis_note": {
      "type": "string"
    },
    "score_note": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "delayed_through": {
      "type": [
        "string",
        "null"
      ],
      "description": "The Delayed date: free answers stop here"
    },
    "payment_required": {
      "type": "boolean"
    }
  }
}
get_score_momentum annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_score_statistics — BTC Intel Score statistics
Advertised by the server during the last successful anonymous check.
Advertised read-only

Where the Score sits in its own record: its historical position (the share of recorded days above and below today's reading), mean, median and range, days in each 10-point band, and the stretches and moves between classifications. Free up to the Delayed date (three months back); live = true or a later day: through the latest published day, $0.25 a call in bitcoin over Lightning, never recurring. The historical position describes where today's Score sits in the record, not what comes next.

get_score_statistics input schema
{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Optional: the statistics on days up to here (YYYY-MM-DD); after the Delayed date is paid."
    },
    "from": {
      "type": "string",
      "description": "Optional: the statistics on days from here (YYYY-MM-DD); the historical position and classification are always on the whole record."
    },
    "live": {
      "type": "boolean",
      "description": "Optional: true for data through the latest published day (paid, $0.25 a call). Free answers stop at the Delayed date."
    },
    "payment": {
      "type": "string",
      "description": "Optional: \"<macaroon>:<preimage>\" after paying the invoice a paid call returned. Send the same arguments again with it."
    }
  },
  "additionalProperties": false
}
get_score_statistics output schema
{
  "type": "object",
  "required": [
    "as_of",
    "source",
    "attribution",
    "link",
    "note"
  ],
  "properties": {
    "link": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "as_of": {
      "type": "string",
      "description": "UTC: the last day the answer covers (YYYY-MM-DD), or for the Brief and methodology the time it was published (ISO 8601)"
    },
    "pages": {
      "type": "integer"
    },
    "range": {
      "type": "object",
      "properties": {
        "to": {
          "type": "string"
        },
        "from": {
          "type": "string"
        }
      }
    },
    "access": {
      "enum": [
        "free",
        "paid"
      ],
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "through": {
      "type": "string"
    },
    "price_usd": {
      "type": "number"
    },
    "basis_note": {
      "type": "string"
    },
    "score_note": {
      "type": "string"
    },
    "statistics": {
      "type": "object"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "delayed_through": {
      "type": [
        "string",
        "null"
      ],
      "description": "The Delayed date: free answers stop here"
    },
    "payment_required": {
      "type": "boolean"
    }
  }
}
get_score_statistics annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_score_history — BTC Intel Score history
Advertised by the server during the last successful anonymous check.
Advertised read-only

The daily record (daily since July 18, 2011; live publication since October 6, 2026; earlier days back-calculated with the current method), each row marked live or back-calculated, as JSON or CSV, 100 rows a page. Free up to the Delayed date (three months back); later days $0.25 a query, one payment opening every page for 24 hours, or $1.00 for the full live export (export = true, 1000 rows a page), in bitcoin over Lightning, never recurring.

get_score_history input schema
{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Optional last day, YYYY-MM-DD. The Delayed date when left out (the latest published day with live = true); a day after the Delayed date is paid."
    },
    "from": {
      "type": "string",
      "description": "Optional first day, YYYY-MM-DD. The start of the record when left out."
    },
    "live": {
      "type": "boolean",
      "description": "Optional: true for data through the latest published day (paid, $0.25 a call). Free answers stop at the Delayed date."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Optional page, from 1. A page is 100 rows; next_page in the answer gives the next one (null on the last)."
    },
    "export": {
      "type": "boolean",
      "description": "Optional: true for the full live export, $1.00, 1000 rows a page."
    },
    "format": {
      "enum": [
        "json",
        "csv"
      ],
      "type": "string",
      "description": "Optional: json (default) or csv."
    },
    "payment": {
      "type": "string",
      "description": "Optional: \"<macaroon>:<preimage>\" after paying the invoice a paid call returned. Send the same arguments again with it."
    }
  },
  "additionalProperties": false
}
get_score_history output schema
{
  "type": "object",
  "required": [
    "as_of",
    "source",
    "attribution",
    "link",
    "note"
  ],
  "properties": {
    "to": {
      "type": "string"
    },
    "csv": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "link": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "page": {
      "type": "integer"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "live": {
            "type": "boolean"
          },
          "basis": {
            "enum": [
              "live",
              "back-calculated"
            ],
            "type": "string"
          },
          "level": {
            "type": "string"
          },
          "score": {
            "type": "number"
          },
          "score_exact": {
            "type": "number"
          }
        }
      }
    },
    "as_of": {
      "type": "string",
      "description": "UTC: the last day the answer covers (YYYY-MM-DD), or for the Brief and methodology the time it was published (ISO 8601)"
    },
    "pages": {
      "type": "integer"
    },
    "range": {
      "type": "object",
      "properties": {
        "to": {
          "type": "string"
        },
        "from": {
          "type": "string"
        }
      }
    },
    "access": {
      "enum": [
        "free",
        "paid"
      ],
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "next_page": {
      "type": [
        "integer",
        "null"
      ]
    },
    "page_size": {
      "type": "integer"
    },
    "price_usd": {
      "type": "number"
    },
    "basis_note": {
      "type": "string"
    },
    "score_note": {
      "type": "string"
    },
    "total_rows": {
      "type": "integer"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "delayed_through": {
      "type": [
        "string",
        "null"
      ],
      "description": "The Delayed date: free answers stop here"
    },
    "payment_required": {
      "type": "boolean"
    }
  }
}
get_score_history annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_classification_history — BTC Intel Score classification history
Advertised by the server during the last successful anonymous check.
Advertised read-only

The stretches the Score spent in each classification (Low, Moderate-low, Neutral, Elevated, High), newest first, 100 a page, each marked live or back-calculated. Free up to the Delayed date (three months back); later days $0.25 a query in bitcoin over Lightning, one payment opening every page for 24 hours, never recurring.

get_classification_history input schema
{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Optional last day, YYYY-MM-DD. The Delayed date when left out (the latest published day with live = true); a day after the Delayed date is paid."
    },
    "from": {
      "type": "string",
      "description": "Optional first day, YYYY-MM-DD. The start of the record when left out."
    },
    "live": {
      "type": "boolean",
      "description": "Optional: true for data through the latest published day (paid, $0.25 a call). Free answers stop at the Delayed date."
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Optional page, from 1. A page is 100 rows; next_page in the answer gives the next one (null on the last)."
    },
    "payment": {
      "type": "string",
      "description": "Optional: \"<macaroon>:<preimage>\" after paying the invoice a paid call returned. Send the same arguments again with it."
    }
  },
  "additionalProperties": false
}
get_classification_history output schema
{
  "type": "object",
  "required": [
    "as_of",
    "source",
    "attribution",
    "link",
    "note"
  ],
  "properties": {
    "link": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "page": {
      "type": "integer"
    },
    "as_of": {
      "type": "string",
      "description": "UTC: the last day the answer covers (YYYY-MM-DD), or for the Brief and methodology the time it was published (ISO 8601)"
    },
    "pages": {
      "type": "integer"
    },
    "range": {
      "type": "object",
      "properties": {
        "to": {
          "type": "string"
        },
        "from": {
          "type": "string"
        }
      }
    },
    "total": {
      "type": "integer"
    },
    "access": {
      "enum": [
        "free",
        "paid"
      ],
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "next_page": {
      "type": [
        "integer",
        "null"
      ]
    },
    "page_size": {
      "type": "integer"
    },
    "price_usd": {
      "type": "number"
    },
    "stretches": {
      "type": "array"
    },
    "basis_note": {
      "type": "string"
    },
    "score_note": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "delayed_through": {
      "type": [
        "string",
        "null"
      ],
      "description": "The Delayed date: free answers stop here"
    },
    "payment_required": {
      "type": "boolean"
    }
  }
}
get_classification_history annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_daily_intelligence_brief — BTC Intel daily intelligence brief
Advertised by the server during the last successful anonymous check.
Advertised read-only

The daily intelligence brief. Free: the five market areas' state words on the Delayed date (three months back); live = true, $0.25 a call in bitcoin over Lightning, never recurring: the latest Brief with its headline, the five state words and the top stories.

get_daily_intelligence_brief input schema
{
  "type": "object",
  "properties": {
    "live": {
      "type": "boolean",
      "description": "Optional: true for data through the latest published day (paid, $0.25 a call). Free answers stop at the Delayed date."
    },
    "payment": {
      "type": "string",
      "description": "Optional: \"<macaroon>:<preimage>\" after paying the invoice a paid call returned. Send the same arguments again with it."
    }
  },
  "additionalProperties": false
}
get_daily_intelligence_brief output schema
{
  "type": "object",
  "required": [
    "as_of",
    "source",
    "attribution",
    "link",
    "note"
  ],
  "properties": {
    "date": {
      "type": "string"
    },
    "link": {
      "type": "string"
    },
    "more": {
      "type": "array"
    },
    "note": {
      "type": "string"
    },
    "areas": {
      "type": "array"
    },
    "as_of": {
      "type": "string",
      "description": "UTC: the last day the answer covers (YYYY-MM-DD), or for the Brief and methodology the time it was published (ISO 8601)"
    },
    "pages": {
      "type": "integer"
    },
    "range": {
      "type": "object",
      "properties": {
        "to": {
          "type": "string"
        },
        "from": {
          "type": "string"
        }
      }
    },
    "access": {
      "enum": [
        "free",
        "paid"
      ],
      "type": "string"
    },
    "latest": {
      "type": "boolean"
    },
    "source": {
      "type": "string"
    },
    "stories": {
      "type": "array"
    },
    "headline": {
      "type": [
        "string",
        "null"
      ]
    },
    "sentence": {
      "type": [
        "string",
        "null"
      ]
    },
    "price_usd": {
      "type": "number"
    },
    "basis_note": {
      "type": "string"
    },
    "score_note": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "delayed_through": {
      "type": [
        "string",
        "null"
      ],
      "description": "The Delayed date: free answers stop here"
    },
    "payment_required": {
      "type": "boolean"
    }
  }
}
get_daily_intelligence_brief annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_methodology — How the BTC Intel Score is published
Advertised by the server during the last successful anonymous check.
Advertised read-only

What the BTC Intel Score is, its classifications, how it is published and checked, and the definitions used in every answer, in plain words; the method itself is private. Free.

get_methodology input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_methodology output schema
{
  "type": "object",
  "required": [
    "as_of",
    "source",
    "attribution",
    "link",
    "note"
  ],
  "properties": {
    "link": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "as_of": {
      "type": "string",
      "description": "UTC: the last day the answer covers (YYYY-MM-DD), or for the Brief and methodology the time it was published (ISO 8601)"
    },
    "pages": {
      "type": "integer"
    },
    "range": {
      "type": "object",
      "properties": {
        "to": {
          "type": "string"
        },
        "from": {
          "type": "string"
        }
      }
    },
    "title": {
      "type": "string"
    },
    "access": {
      "enum": [
        "free",
        "paid"
      ],
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "price_usd": {
      "type": "number"
    },
    "basis_note": {
      "type": "string"
    },
    "score_note": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "delayed_through": {
      "type": [
        "string",
        "null"
      ],
      "description": "The Delayed date: free answers stop here"
    },
    "payment_required": {
      "type": "boolean"
    }
  }
}
get_methodology annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_market_detail — BTC Intel market detail
Advertised by the server during the last successful anonymous check.
Advertised read-only

The published market read in detail: each of the five market areas (Technical, On-chain, Market structure, Sentiment, Macro) with its state, its position on the five-step scale (Adverse, Cautionary, Neutral, Constructive, Supportive), its explanation and last change, and the components its Analysis page shows (26 in all), each with its state and position, with each area's edition time. Optional area: one of technical, on-chain, market-structure, sentiment, macro. Free. The market components describe the published market read. The BTC Intel Score is computed separately.

get_market_detail input schema
{
  "type": "object",
  "properties": {
    "area": {
      "enum": [
        "technical",
        "on-chain",
        "market-structure",
        "sentiment",
        "macro"
      ],
      "type": "string",
      "description": "Optional: one area (technical, on-chain, market-structure, sentiment, macro). All five when left out."
    }
  },
  "additionalProperties": false
}
get_market_detail output schema
{
  "type": "object",
  "required": [
    "as_of",
    "source",
    "attribution",
    "link",
    "note"
  ],
  "properties": {
    "link": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "areas": {
      "type": "array"
    },
    "as_of": {
      "type": "string",
      "description": "UTC: the last day the answer covers (YYYY-MM-DD), or for the Brief and methodology the time it was published (ISO 8601)"
    },
    "pages": {
      "type": "integer"
    },
    "range": {
      "type": "object",
      "properties": {
        "to": {
          "type": "string"
        },
        "from": {
          "type": "string"
        }
      }
    },
    "scale": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "access": {
      "enum": [
        "free",
        "paid"
      ],
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "built_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "price_usd": {
      "type": "number"
    },
    "basis_note": {
      "type": "string"
    },
    "score_note": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "market_edition": {
      "type": [
        "string",
        "null"
      ]
    },
    "components_note": {
      "type": "string"
    },
    "delayed_through": {
      "type": [
        "string",
        "null"
      ],
      "description": "The Delayed date: free answers stop here"
    },
    "payment_required": {
      "type": "boolean"
    }
  }
}
get_market_detail annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

8 advertised

score-latest — BTC Intel Score, latest delayed day

Advertised by the server during the last successful anonymous check.

Where Bitcoin stood on the Delayed date (three months back) compared with its own history: the Score and its classification. Free.

score-latest URI
btcintel://score/latest

MIME type: application/json

score-history — BTC Intel Score history (delayed)

Advertised by the server during the last successful anonymous check.

The daily record (daily since July 18, 2011; live publication since October 6, 2026; earlier days back-calculated with the current method) up to the Delayed date, each row marked; the first 100 rows (the template pages through the rest). Free.

score-history URI
btcintel://score/history

MIME type: application/json

score-methodology — How the BTC Intel Score is published

Advertised by the server during the last successful anonymous check.

What the BTC Intel Score is, how it is published and checked, and the definitions used in every answer; the method itself is private. Free.

score-methodology URI
btcintel://score/methodology

MIME type: application/json

score-classifications — BTC Intel Score classification history (delayed)

Advertised by the server during the last successful anonymous check.

The stretches the Score spent in each classification up to the Delayed date, newest first; the first 100 (the template pages through the rest). Free.

score-classifications URI
btcintel://score/classifications

MIME type: application/json

statistics-current — BTC Intel Score statistics (delayed)

Advertised by the server during the last successful anonymous check.

Where the Score sat in its own record on the Delayed date: historical position, statistics, 10-point bands, stretches and moves. The historical position describes where today's Score sits in the record, not what comes next. Free.

statistics-current URI
btcintel://statistics/current

MIME type: application/json

intelligence-daily — BTC Intel daily brief (delayed)

Advertised by the server during the last successful anonymous check.

The daily intelligence brief on the Delayed date: the five market areas' state words. Free; the latest Brief is the paid tool.

intelligence-daily URI
btcintel://intelligence/daily

MIME type: application/json

market-forces — The five market areas

Advertised by the server during the last successful anonymous check.

The state word of each of the five market areas on the Delayed date, nothing more. Free.

market-forces URI
btcintel://market-forces

MIME type: application/json

market-detail — BTC Intel market detail

Advertised by the server during the last successful anonymous check.

The published market read in detail, all five areas: each area's state, position on the five-step scale, explanation and last change, its edition time and its components (26 in all) with their state and position. Free. The market components describe the published market read. The BTC Intel Score is computed separately.

market-detail URI
btcintel://market-detail

MIME type: application/json

score-history-page — BTC Intel Score history, a page (delayed)

Advertised by the server during the last successful anonymous check.

Days from..to (YYYY-MM-DD, to the Delayed date at most), 100 rows a page.

score-history-page URI template
btcintel://score/history{?from,to,page}

MIME type: application/json

score-classifications-page — BTC Intel Score classification history, a page (delayed)

Advertised by the server during the last successful anonymous check.

Stretches between from..to (YYYY-MM-DD, to the Delayed date at most), 100 a page.

score-classifications-page URI template
btcintel://score/classifications{?from,to,page}

MIME type: application/json

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
316 ms
95th percentile latency
316 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 316 ms · metadata changed · 13 tool(s), 8 resource(s), 2 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http btc-intel-mcp https://btcintel.org/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add btc-intel-mcp --url https://btcintel.org/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable btc-intel-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "btc-intel-mcp": {
      "url": "https://btcintel.org/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "btc-intel-mcp": {
      "type": "streamableHttp",
      "url": "https://btcintel.org/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start btc-intel-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "btc-intel-mcp": {
      "type": "http",
      "url": "https://btcintel.org/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http btc-intel-mcp https://btcintel.org/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://btcintel.org/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "btc-intel-mcp": {
      "serverUrl": "https://btcintel.org/mcp"
    }
  }
}

Let your agent find its tools

Find servers like BTC Intel MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run BTC Intel MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing