connect and allow writes
- connect the Edgeful MCP server using your active API-enabled Edgeful account.
- writes are on by default and one permission covers custom reports and account settings. to check it, open the 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.
- start a conversation with the Edgeful tools enabled.
what Claude can do
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 needsHH:MMstart 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, sodescribe_report_customizationslists those pages. values are checked the way the page’s customization modal checks them: domains, clocks (HH:MMorHH:MM:SS, stored asHH: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_endpointapplies 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 likeupdate_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 customfromandto, and a session that is either a standard session the page allows (byshared_id) or one of your custom sessions (byid), saved on the ticker’s market because that is where the page applies it (without a ticker, onsource_marketor 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 sendinputs({}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 tosave_templateto 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_catalogwithsurfacewiporscreenerlists 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 onfuturesonly because the stock and all pages show the market’s session without a selector, is one of the futures sessions byshared_idor one of your custom sessions byid(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 asgap_fill_100is stored as thegap_fillthe 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.