ChartnautDocs

What you can ask

Once Chartnaut is connected, you ask in plain words and the AI app picks the tools. This page gives a request for each kind of job, with what the app does behind it, so you know what to expect and what to check. The tool names link to the MCP tools reference.

Requests that work well

Name the instrument, the timeframe and how much history. "BTC, 1-hour bars, the last 30 days" gets a run on the first try; "recent crypto" gets a question back.

Look something up in the docs

How do settings work in a Chartnaut indicator? Show me the shortest example.

The app calls search_docs and reads the topics it finds with get_doc. It answers from the scripting reference, the same pages chartnaut docs prints.

Find a script in the library

Is there a built-in RSI in Chartnaut? What settings does it take, and what are the defaults?

The app calls search_library with Chartnaut's built-ins in scope, then describe_script for the settings and outputs. It gets the description, never the code, for anything that is not yours.

Write an indicator and make it pass

Write an indicator that plots the 20-period EMA of the close, with a band 1.5 ATRs either side. Check it until it has no errors, but do not save it yet.

The app reads the relevant topics, writes the code and calls validate_script until ok is true, fixing each error by file and line. Nothing is saved or run, and validating uses no runs.

Try it on BTC and ETH

Run it on the last 30 days of 1-hour BTC and ETH and compare the last ten values of the upper band.

The app calls run_script once per instrument with the code inline, so still nothing is saved, then reads each run with get_results. Each run takes one of your runs at once.

Read results or a failure

Why did my last run fail? Point me at the line.

Show me the values between 12:00 and 18:00 UTC yesterday.

The app calls get_run for the status, the failure and its diagnostics, and get_results with a time range for the values. Give it the run id, or ask it to use the run it started last.

Run a definition over history and summarise its events

Run my london-sweep definition over the last year of 15-minute ETH, then tell me how many events it stored each month and what the median move after them was.

The app calls run_definition_over_history, which waits up to 25 seconds, then reads the stored events page by page with definition_events. Only the part of the year not already stored runs. The events count toward your definition events limit, and a study in the app can read them afterwards.

A year of 15-minute events can take longer than one call waits. The app is told to check again later, and definition_events with summary shows what is still running.

Change a script and save a new version

Change my ema-band indicator to use a 21-period EMA, validate it, and save it as a new version with the note "EMA 21".

The app reads the script with its source using get_script, changes it, validates it, then calls save_script with the version it read. If you edited the script in the app meanwhile, the save is refused and the app reads it again, so your edit is never lost. The new version opens in the builder like any other. Saving and versions

Check your plan

How many requests a minute does my plan allow, and how far back can I run BTC?

The app calls account and list_instruments. The answer shows your plan, the connection's permissions, your usage against each cap and the first date your plan reaches.

Ask it to show you before it saves

Say "do not save until I say so" at the start of a chat, and the app validates and runs code inline without touching your scripts. Most apps also ask you to confirm save_script, run_script and run_definition_over_history, the only three tools that change your account.

Ask for numbers from the results, not a summary of them. The results hold the exact values; a model summarising a long series from memory can round or drop them. The explain_run prompt tells it to keep numbers exact.

The built-in prompts

Chartnaut's server offers three ready-made requests. Apps show them in their own way: Claude Code as slash commands such as /mcp__chartnaut__write_indicator, claude.ai in the menu where you attach things to a chat. Each one walks the model through the right tools in order.

Prompt

You give it

What it does

write_indicator

idea, and instrument (default BTC)

Checks the library for one that already exists, reads the reference, validates until clean, tries it on 30 days of 1-hour bars without saving, and asks before saving

test_trading_idea

idea, instrument (default BTC) and timeframe (default 1h)

Restates the idea as testable conditions and asks about anything unclear, writes a definition, runs it over the last year, reports how often it fired and what followed with the caveats, and offers to save it and run it over more history

explain_run

run_id

Explains a failure line by line and proposes a fix, or explains the results without inventing numbers, then says what to try next

test_trading_idea tells the model not to overstate an edge: a year of one instrument is a sample, and events that overlap are not independent. Treat its answer as a first look, and build a study for the full measurement.