MCP Server that exposes Bitcoin analytics, predictions, halving countdown, and crypto news from btcvision.org as tools for AI assistants
Project description
BTCvision MCP Server
Model Context Protocol (MCP) server that exposes Bitcoin analytics, AI price predictions, halving countdowns, market signals, and crypto news from btcvision.org as tools for AI assistants.
Features
The server exposes 10 tools that any MCP-compatible client (Claude Desktop, Claude Code, Cursor, Cline, Continue, etc.) can call:
| # | Tool | Description |
|---|---|---|
| 1 | get_bitcoin_price |
Current BTC/USD ticker |
| 2 | get_bitcoin_predictions |
AI price targets 2027–2030 |
| 3 | get_halving_countdown |
Live countdown + next block reward |
| 4 | get_market_signals |
6 bullish signals + market phase |
| 5 | get_latest_news |
Latest crypto headlines |
| 6 | get_fear_greed_index |
Fear & Greed Index value & label |
| 7 | get_ai_stats |
Model version, confidence, accuracy |
| 8 | get_donation_info |
BTC/ETH/SOL/BNB addresses |
| 9 | get_faq_answer |
Look up an FAQ answer by question |
| 10 | get_site_summary |
High-level site overview |
Installation
1. Clone & install
git clone https://github.com/your-user/btcvision-mcp.git
cd btcvision-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
2. Run standalone (for debugging)
btcvision-mcp
# or
python -m btcvision_mcp.server
The server communicates over stdio (the standard MCP transport), so it will appear to "hang" — that's expected. It waits for JSON-RPC messages from an MCP client.
Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"btcvision": {
"command": "python",
"args": ["-m", "btcvision_mcp.server"],
"cwd": "/absolute/path/to/btcvision-mcp"
}
}
}
If you installed the package in a virtual environment, point command at
the venv's Python:
{
"mcpServers": {
"btcvision": {
"command": "/absolute/path/to/btcvision-mcp/.venv/bin/python",
"args": ["-m", "btcvision_mcp.server"]
}
}
}
Claude Code
In .mcp.json at your project root:
{
"mcpServers": {
"btcvision": {
"command": "python",
"args": ["-m", "btcvision_mcp.server"]
}
}
}
Cursor / Cline / Continue
The same JSON shape works in their respective MCP config files.
Usage Examples
Once configured, you can ask your AI assistant things like:
- "What's Bitcoin's price right now according to btcvision?"
- "Show me the BTC price predictions for 2027 through 2030."
- "How many days until the next Bitcoin halving?"
- "What bullish signals is the BTCvision AI tracking?"
- "What's the current Fear & Greed Index?"
- "What's the BTCvision AI model version and accuracy?"
- "Look up: What is the Bitcoin halving?"
- "Give me the latest crypto news."
The assistant will call the relevant tool and return structured data.
Architecture
btcvision-mcp/
├── btcvision_mcp/
│ ├── __init__.py
│ ├── models.py # Pydantic data models
│ ├── scraper.py # Async HTTP scraping + parsing
│ └── server.py # MCP server (stdio transport)
├── tests/
│ ├── __init__.py
│ └── test_server.py # Unit + integration tests
├── pyproject.toml
├── README.md
└── .gitignore
scraper.py— async web scraper with a 5-minute in-memory cache. Falls back to hard-coded signals and FAQ content if the site structure changes.models.py— strongly-typed Pydantic models for every response.server.py— the MCP server, usingmcp.server.Serverwith stdio transport. 10 tools, each with an explicit JSON schema.tests/— 25+ tests covering scraping, parsing, tool dispatch, and an end-to-end in-process MCP session.
Development
Run the tests:
pytest
Run the linter:
ruff check .
Type-check:
mypy btcvision_mcp
Tool Return Format
All tools return JSON-formatted text so any MCP client can render the output directly. Example:
{
"ai_confidence_percent": 82.0,
"projected_roi_multiplier": 3.4,
"long_term_target": { "year": 2030, "price_usd": 350000.0 },
"predictions": [
{ "year": 2027, "price_usd": 130000.0, "percent_change": 26.0,
"drivers": "Post-2024-halving supply reduction, ETF inflows" },
{ "year": 2028, "price_usd": 200000.0, "percent_change": 94.0,
"drivers": "4th Halving supply shock (block reward cut to 1.5625 BTC)" },
{ "year": 2029, "price_usd": 280000.0, "percent_change": 172.0,
"drivers": "Bull run peak, new ATH" },
{ "year": 2030, "price_usd": 350000.0, "percent_change": 240.0,
"drivers": "Post-cycle consolidation, nation-state adoption" }
],
"source": "btcvision.org"
}
Caching
The scraper caches the homepage HTML for 5 minutes per process to
avoid hammering the site. Use force=True (or restart the server) to
bust the cache.
License
MIT — see LICENSE.
Disclaimer
All data is fetched from btcvision.org and is provided for educational and informational purposes only. It is not financial advice. Cryptocurrency investments carry significant risk. Always do your own research.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file btcvision_mcp-0.1.0.tar.gz.
File metadata
- Download URL: btcvision_mcp-0.1.0.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51eac5cebd7f4c16dcdf7f1ea89e0f86d86e102ea3775a4f1aef50f07c651ac0
|
|
| MD5 |
5eb17dba23fece3d76eecf9940cc8edf
|
|
| BLAKE2b-256 |
e065b80e0123d9da553c7d0efbcff48d3ab541386cd8502563b141a775e864d1
|
Provenance
The following attestation bundles were made for btcvision_mcp-0.1.0.tar.gz:
Publisher:
main.yml on welove111/btcvision-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
btcvision_mcp-0.1.0.tar.gz -
Subject digest:
51eac5cebd7f4c16dcdf7f1ea89e0f86d86e102ea3775a4f1aef50f07c651ac0 - Sigstore transparency entry: 1855157236
- Sigstore integration time:
-
Permalink:
welove111/btcvision-mcp@63fa133d6b5914d2996d48d024f0abd5e5510630 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/welove111
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@63fa133d6b5914d2996d48d024f0abd5e5510630 -
Trigger Event:
push
-
Statement type:
File details
Details for the file btcvision_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: btcvision_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72df94bf447724e6facd5bd69853b97eb1b9ecc784e856049e67ebc8d8cbc72c
|
|
| MD5 |
a3ae4d63ca78a071668df722d46844e0
|
|
| BLAKE2b-256 |
49fb8eac98b59d69602bb6535a2634ecf86c8b80fedbe6a442c5f6e59bea77d5
|
Provenance
The following attestation bundles were made for btcvision_mcp-0.1.0-py3-none-any.whl:
Publisher:
main.yml on welove111/btcvision-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
btcvision_mcp-0.1.0-py3-none-any.whl -
Subject digest:
72df94bf447724e6facd5bd69853b97eb1b9ecc784e856049e67ebc8d8cbc72c - Sigstore transparency entry: 1855157257
- Sigstore integration time:
-
Permalink:
welove111/btcvision-mcp@63fa133d6b5914d2996d48d024f0abd5e5510630 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/welove111
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@63fa133d6b5914d2996d48d024f0abd5e5510630 -
Trigger Event:
push
-
Statement type: