> ## Documentation Index
> Fetch the complete documentation index at: https://edgeful.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# manage your settings with Claude

> bookmark reports, edit watchlists, set account defaults, save custom sessions, change report customizations and save report templates from a conversation with Claude. Edgeful shows the change on the next reload.

tell Claude what to change and Edgeful writes the same rows the app reads. bookmarks, watchlists, account defaults, custom sessions, report customizations and templates land exactly as if you had edited them by hand, and the app shows them after a reload.

## connect and allow writes

1. [connect the Edgeful MCP server](https://edgeful.com/docs/getting-started/set-up-mcp.md) using your active API-enabled Edgeful account.
2. writes are on by default and one permission covers custom reports and account settings. to check it, open the [API dashboard](https://www.edgeful.com/api-dashboard): under **let Claude write to your account**, **connected Claude** covers native sign-in and **this API key** covers a client that uses a key. turning it off keeps every read working.
3. start a conversation with the Edgeful tools enabled.

## what Claude can do

| tool | purpose | write permission |
| - | - | - |
| `get_account_settings` | read your defaults, custom sessions, bookmarks, watchlists, customized setting keys and templates, plus whether this credential may write | no |
| `list_report_catalog` | list report pages with their markets and sub-reports, marked with whether your tier can run each; with `surface` `wip` or `screener`, what a What's in Play or screener template is composed from | no |
| `describe_report_customizations` | describe a report page's customizations by report and sub-report or by setting key: each slot's label, domain, default and current value, the pages the key drives and the query `call_report_endpoint` needs to apply them | no |
| `update_report_customizations` | set slots of one or more setting keys, or reset a key to its defaults | yes |
| `update_bookmarks` | add and remove bookmarks by report slug and sub-report | yes |
| `update_watchlist` | add and remove tickers on one market's watchlist | yes |
| `update_profile_defaults` | change your default market, ticker, session, date range or report | yes |
| `save_custom_session` | create a custom session or update one by id | yes |
| `delete_custom_session` | delete a custom session by id | yes |
| `list_templates` | list your templates by type and, for report templates, by parent report, with the built-in What's in Play and screener templates as read-only entries | no |
| `save_template` | create a report, What's in Play or screener template, or update one by id: a report template's page, setting key, customizations and optional saved ticker, date range and session; a What's in Play or screener template's market, session, tickers, reports and customizations | yes |
| `delete_template` | delete a template by id | yes |

try "bookmark gap fill by size", "add NQ to my futures watchlist and drop YM", "make SPY on stock my default", "save a power hour session from 3pm to 4pm New York time", "set my ADR period to 10", "save a gap fill by size template called tight gap with a 50% fill on ES" or "save a What's in Play template called most popular with ES and NQ on New York showing gap fill, initial balance and outside days".

## how writes behave

* **the app shows the change after reload.** an Edgeful tab that was open before Claude made a change keeps its old copy of your bookmarks and watchlists and can overwrite the change the next time it saves. reload the tab first.
* **writes are idempotent.** adding a bookmark or ticker you already have, or removing one you do not, succeeds without changing anything. every write returns the previous and resulting state so Claude can undo it without another read.
* **Edgeful validates before it saves.** report slugs and sub-reports come from `list_report_catalog`, tickers must be known on the market you name, a default session must be a standard session the report allows on that market, and a custom session needs `HH:MM` start and end times that differ and an IANA timezone. an invalid request is refused with the allowed values.
* **defaults are reconciled like the account form.** the report constrains the market, a market change resets the ticker to that market's default, and the session is re-resolved when the report no longer allows it.
* **report customizations land where the page reads them.** a customization is stored under its setting key in slots (`value`, `value2`, ...), and one key drives every report page that uses it, so `describe_report_customizations` lists those pages. values are checked the way the page's customization modal checks them: domains, clocks (`HH:MM` or `HH:MM:SS`, stored as `HH:MM`), weekday lists (weekend days take effect on crypto pages only), which slots a choice activates, and cross-field rules. slots you do not name keep their current values, a first write fills them from the defaults, and a reset removes the stored row so the pages fall back to their defaults. each result carries the key's previous and resulting values, so sending the previous values back undoes a change. settings the catalog marks provisional or blocked, and page controls such as a session selector, are refused: edit those in Edgeful. `call_report_endpoint` applies saved customizations only when you pass the query each result carries per page.
* **report templates are validated like the page.** a report template names a report page (parent report and sub-report from `list_report_catalog`), the setting key that page uses, its customization values (checked exactly like `update_report_customizations`, with unnamed slots taking their defaults) and optional saved inputs: a ticker known on a market the page allows, a date range as one of the presets or a custom `from` and `to`, and a session that is either a standard session the page allows (by `shared_id`) or one of your custom sessions (by `id`), saved on the ticker's market because that is where the page applies it (without a ticker, on `source_market` or futures; applying such a template on a stock page skips the session). an input the page could not apply is refused rather than saved, so a template never skips an input when you apply it on the market it was saved for. updating a template by id merges the customization slots you name over its current values, keeps its saved inputs unless you send `inputs` (`{}` removes them), and returns the previous template so Claude can undo the change; a listed or deleted template's configuration can be sent back as is. names are trimmed and unique per template type ignoring case; a conflict names the existing template's id so Claude can update it instead. the built-in What's in Play and screener template names are reserved, and built-in templates (negative ids) cannot be changed or deleted. deleting a template is the same soft delete the app performs, a deleted template's name can be reused, and the removed template's configuration can be sent back to `save_template` to recreate it. deleting a custom session names the report and What's in Play templates that saved it (`referencing_templates`); a report template skips that input when applied and a What's in Play template keeps applying the session from its stored clocks, until they are pointed at another session.
* **What's in Play and screener templates are composed from the vocabulary their modals use.** `list_report_catalog` with `surface` `wip` or `screener` lists the markets (`all`, `futures`, `stock`), each market's sessions and ticker list, the report keys (for What's in Play, with the markets and sessions that exclude a report; for the screener, whether a key also takes a `_suffix`), every customization's setting key, fields, options and defaults, and the What's in Play percentage range or the screener's reports per template. a What's in Play template saves `{market, session?, tickers, selected_reports, customizations?, filters?}`: the session, saved on `futures` only because the stock and all pages show the market's session without a selector, is one of the futures sessions by `shared_id` or one of your custom sessions by `id` (stored with its clocks, as the modal stores it), tickers must be on the page's list for the market, a report the market or the session excludes is refused naming the key (without a session, the market's default session decides), every selected report with dropdowns gets a full customization row (fields you leave out take the app's defaults), and the percentage range is two multiples of 5 from 0 to 100, the slider's steps (`[25, 100]` when left out). a screener template saves `{market, session_shared_id, tickers, reports, customizations?}` with four to eight reports, the slots the screener shows; a key with a suffix such as `gap_fill_100` is stored as the `gap_fill` the screener applies, and customizations are keyed by the selected reports' setting keys. an update replaces the configuration except customizations, which merge over the template's current ones. nothing the page would drop on apply is stored, so a template saved here applies exactly as saved.
* **templates are applied in Edgeful.** saving a template does not change any report page. it appears in the report sidebar's templates section after a reload (or the app's five-minute template refetch), and you apply it from there.
* **budgets.** settings writes have their own limit of 60 per minute and 600 per hour, separate from the custom report write budget. one call counts once however many items it carries, and each list is capped at 100 items. a refused call says how many seconds to wait.
* **every write is logged** with the tool, your member id and the credential that made it. settings writes cost no AI credits.

settings tools act only on the signed-in account; there is no member id to pass.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.