BTC DCA Engine
by btcdcaengine.com · remote · no sign-in to list tools · v1.4.0 · published by com.btcdcaengine
Historical dollar-cost-averaging simulator for Bitcoin and other assets.
4 tools: 2 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http btc-dca-engine https://btcdcaengine.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnrun_dca
The server marks "run_dca" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "run_dca" says "run": a word for a change.
- Warncompare_plans
The server marks "compare_plans" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "compare_plans" says "compare": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
4 tools
Changes things 2Claude Code: ask
compare_plansRun up to 5 plans over the same data and rank them by final value (2 without a signed-in Pro account or a Pro API key).1 finding
Why it is in this group
- The name "compare_plans" says "compare": a word for reading.
- The description's first verb is "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "compare_plans" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "compare_plans" says "compare": a word for reading.
Description, as the server wrote it Run up to 5 plans over the same data and rank them by final value (2 without a signed-in Pro account or a Pro API key). Use to compare assets, cadences or start dates side by side. One share_url opens them all together.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
run_dcaSimulate one dollar-cost-averaging plan against real historical closes.1 finding
Why it is in this group
- The name "run_dca" says "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "run_dca" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "run_dca" says "run": a word for a change.
Description, as the server wrote it Simulate one dollar-cost-averaging plan against real historical closes. Returns totals, end-of-year checkpoints and a share_url that opens the same run in the app.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 2Claude Code: allow
data_statusThe vintage of the loaded price data and how often it refreshes.No findings
Why it is in this group
- The name "data_status" says "status": a word for reading.
Description, as the server wrote it The vintage of the loaded price data and how often it refreshes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_assetsAssets this endpoint can simulate, with the date each series starts and ends.No findings
Why it is in this group
- The name "list_assets" says "list": a word for reading.
Description, as the server wrote it Assets this endpoint can simulate, with the date each series starts and ends. Call before composing a plan so start dates fall inside coverage.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.4.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http btc-dca-engine https://btcdcaengine.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__btc-dca-engine__list_assets",
"mcp__btc-dca-engine__data_status"
],
"ask": [
"mcp__btc-dca-engine__run_dca",
"mcp__btc-dca-engine__compare_plans"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as btc-dca-engine. Review it before you use it.