Skip to content

Connectors · Accounting & finance

ChartMogul MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to ChartMogul and the rest of your systems. It gives your agent 106 ChartMogul actions (41 reads, 47 writes and 18 that wait for a confirmation) and holds the ChartMogul credential itself, so the agent never does. It paces ChartMogul's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "chartmogul.contacts.list",  intent: "check which ChartMogul account is connected"}# List Contacts · read · 1 upstream call
  • 106actionsin one signed file
  • 41readlook, never change
  • 47writecreate and update
  • 18wait for a yesdestructive, confirmed first

Set up

Connect ChartMogul in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect ChartMogul.

    Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • api_keyChartMogul API key (Profile > API keys)
    account { op: "connections.requirements", service: "chartmogul" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "chartmogul.contacts.list" }# list contacts · read · 1 upstream callcheck { action: "chartmogul.contacts.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

ChartMogul at a glance

Sign-in
Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
api_key
Limits we pace to
40 calls a second, per connection
API covered
ChartMogul REST API v1api.chartmogul.com
Built from
ChartMogul's documentation, read 23 October 2026dev.chartmogul.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
41 of 41 reads, for up to 5 minutes; a write clears what it affects
Shared entities
4, so ask can line ChartMogul up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in ChartMogul.

106 actions in 27 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 41readlook, never change
  • 47writecreate and update
  • 18destructivewait for a confirmation
  1. Invoices

    9

    2 read · 6 write · 1 destructive

    List Invoices · Retrieve an Invoice · Update an Invoice · Delete an Invoice

  2. Metrics

    9

    9 read · 0 write · 0 destructive

    All key metrics · Average Revenue Per Account (ARPA) · ARR · Average Sale Price (ASP)

  3. Customers

    8

    3 read · 3 write · 2 destructive

    List Customers · Create a Customer · Retrieve a Customer · Update a Customer

  4. Line items

    7

    1 read · 5 write · 1 destructive

    Create a Line Item · Update a Line Item · Retrieve a Line Item · Delete a Line Item

  5. Transactions

    7

    1 read · 5 write · 1 destructive

    Create a Transaction · Retrieve a Transaction · Update a Transaction · Delete a Transaction

  6. Contacts

    6

    2 read · 2 write · 2 destructive

    List Contacts · Create a Contact · Retrieve a Contact · Update a Contact

  7. Customer notes

    5

    2 read · 2 write · 1 destructive

    List Notes and Call Logs · Create a Note or Call Log · Update a Note or Call Log · Delete a Note or Call Log

  8. Opportunities

    5

    2 read · 2 write · 1 destructive

    Create an Opportunity · List Opportunities · Retrieve an Opportunity · Update an Opportunity

19 more areas · 50 actions
  • Plan groups 5
  • Plans 5
  • Subscription events 5
  • Tasks 5
  • Customer custom attributes 4
  • Data sources 4
  • Subscription custom attributes 4
  • Customer tags 3
  • Activities exports 2
  • Customer invoices 2
  • Json imports 2
  • Subscriptions 2
  • Account 1
  • Activities 1
  • Customer activities 1
  • Customer attributes 1
  • Customer contacts 1
  • Customer subscriptions 1
  • Plan group plans 1

Top actions

The ChartMogul API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 41 of ChartMogul's 41 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
chartmogul.contacts.listList ContactsReturns a list of all contact objects in your ChartMogul account.readcrm.contact.list177 connectors
chartmogul.customers.listList CustomersReturns a list of all customer objects in your ChartMogul account.readcrm.company.list162 connectors
chartmogul.contacts.createCreate a ContactCreates a contact object in ChartMogul under a specified customer within the selected data_source.writecrm.contact.create161 connectors
chartmogul.customers.createCreate a CustomerCreates a customer object in ChartMogul under the specified data_source.writecrm.company.create142 connectors
chartmogul.contacts.deleteDelete a ContactDeletes the specified contact object and all associated data.destructivecrm.contact.delete147 connectors
chartmogul.customer_notes.listList Notes and Call LogsReturns a list of all note objects for your whole account or a specific customer.readcrm.company_note.list14 connectors
chartmogul.tasks.listList TasksLists task objects in your ChartMogul account.readwork.task.list122 connectors
chartmogul.customer_notes.createCreate a Note or Call LogCreates a note object with a note or call type under a specified customer.writecrm.company_note.create18 connectors
chartmogul.invoices.listList InvoicesReturns a list of invoice objects created using the API in your ChartMogul account.readfinance.invoice.list101 connectors
chartmogul.tasks.createCreate a TaskCreates a task object for a specified team member.writework.task.create127 connectors
chartmogul.invoices.getRetrieve an InvoiceRetrieves an invoice object from your ChartMogul account.readfinance.invoice.get102 connectors
chartmogul.opportunities.createCreate an OpportunityCreates an opportunity object for a specified customer in ChartMogul.writecrm.deal.create43 connectors

Try it

Prompts to paste into Claude.

Each one names the ChartMogul actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Which ChartMogul tasks are overdue, and who owns each one?

    callschartmogul.tasks.list

  2. Writewrite

    Create a Contact in ChartMogul. Show me exactly what you will send before you save it.

    callschartmogul.contacts.create

  3. Across systemsread

    Which ChartMogul companies have invoices in ConnectWise PSA, and how many each?

    callschartmogul.customers.listconnectwise_manage.invoices.list

Across your systems

ChartMogul, joined to the rest of your business.

One ask fetches from ChartMogul and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • Which ChartMogul companies have invoices in ConnectWise PSA, and how many each?

    chartmogul.customers.list + connectwise_manage.invoices.list, on crm.company · ConnectWise PSA

  • Which ChartMogul companies have tickets in HubSpot CRM, and how many each?

    chartmogul.customers.list + hubspot_crm.tickets.list, on crm.company · HubSpot CRM

Also mapped by other connectorscrm.company 227crm.contact 192work.task 105crm.company_note 3
ask
ask {  intent: "which ChartMogul companies have invoices in ConnectWise PSA, and how many each",  steps: [    { action: "chartmogul.customers.list", as: "co", input: {}, limit: 100, max_pages: 5 },    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "co",        right: "inv",        on: "crm.company",        group_by: "co.name",        select: ["co.name", "count(inv.id) as invoices"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for ChartMogul

Destructive actions wait for a yes.

18 ChartMogul actions are destructive. These are all of them:

  • Delete a Contactchartmogul.contacts.delete
  • Delete a Customerchartmogul.customers.delete
  • Merge Contactschartmogul.contacts.merge
  • Merge Customerschartmogul.customers.merge
  • Delete a Note or Call Logchartmogul.customer_notes.delete
  • Delete an Invoicechartmogul.invoices.delete
  • Delete a Taskchartmogul.tasks.delete
  • Delete an Opportunitychartmogul.opportunities.delete
  • Delete a Transactionchartmogul.transactions.delete
  • Delete a Line Itemchartmogul.line_items.delete
  • Delete a Planchartmogul.plans.delete
  • Delete a Subscription Eventchartmogul.subscription_events.delete
  • Delete a Plan Groupchartmogul.plan_groups.delete
  • Delete a Sourcechartmogul.data_sources.delete
  • Remove Tags from a Customerchartmogul.customer_tags.delete
  • Delete All Customer’s Invoiceschartmogul.customer_invoices.delete_all
  • Remove Custom Attributes from a Customerchartmogul.customer_custom_attributes.delete
  • Remove Custom Attributes from a Subscriptionchartmogul.subscription_custom_attributes.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dochartmogul.contacts.deleteconfirm_policy: human

Delete a Contact?

intent: the user asked me to delete a Contact

run suspended · waiting for a named person · key chartmogul-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "chartmogul-agent",  allowed_actions: ["chartmogul.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "chartmogul.contacts.delete", approver: "[email protected]" },    { match: "chartmogul.customers.delete", approver: "[email protected]" },    { match: "chartmogul.contacts.merge", approver: "[email protected]" }  ]}
Illustrative. Scoped to ChartMogul only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What ChartMogul costs on actionlake.

Every ChartMogul action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call ChartMogul refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 106 ChartMogul actions
  • 106actions pageeach page of a long list is one call
  • 41reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every ChartMogul action.

106 actions by area: the id your agent calls, what it does, and its effect.

Invoices9
  • chartmogul.invoices.deleteDelete an Invoicedestructive
  • chartmogul.invoices.disableDisable an Invoicewrite
  • chartmogul.invoices.disable_by_external_idDisable an Invoice (by external ID)write
  • chartmogul.invoices.getRetrieve an Invoiceread
  • chartmogul.invoices.importImport Invoiceswrite
  • chartmogul.invoices.import_by_external_idImport Invoices by External IDwrite
  • chartmogul.invoices.listList Invoicesread
  • chartmogul.invoices.updateUpdate an Invoicewrite
  • chartmogul.invoices.update_statusUpdate an Invoice Statuswrite
Metrics9
  • chartmogul.metrics.allAll key metricsread
  • chartmogul.metrics.arpaAverage Revenue Per Account (ARPA)read
  • chartmogul.metrics.arrARRread
  • chartmogul.metrics.aspAverage Sale Price (ASP)read
  • chartmogul.metrics.customer_churn_rateCustomer Churn Rateread
  • chartmogul.metrics.customer_countCustomer Countread
  • chartmogul.metrics.ltvLTVread
  • chartmogul.metrics.mrrMRRread
  • chartmogul.metrics.mrr_churn_rateMRR Churn Rateread
Customers8
  • chartmogul.customers.createCreate a Customerwrite
  • chartmogul.customers.deleteDelete a Customerdestructive
  • chartmogul.customers.getRetrieve a Customerread
  • chartmogul.customers.listList Customersread
  • chartmogul.customers.mergeMerge Customersdestructive
  • chartmogul.customers.search_by_emailList Customers by Emailread
  • chartmogul.customers.unmergeUnmerge Customerswrite
  • chartmogul.customers.updateUpdate a Customerwrite
Line items7
  • chartmogul.line_items.createCreate a Line Itemwrite
  • chartmogul.line_items.create_by_external_idCreate a Line Item by External IDwrite
  • chartmogul.line_items.deleteDelete a Line Itemdestructive
  • chartmogul.line_items.disableDisable a Line Itemwrite
  • chartmogul.line_items.disable_by_external_idDisable a Line Item (by external ID)write
  • chartmogul.line_items.getRetrieve a Line Itemread
  • chartmogul.line_items.updateUpdate a Line Itemwrite
Transactions7
  • chartmogul.transactions.createCreate a Transactionwrite
  • chartmogul.transactions.create_by_external_idCreate a Transaction by External IDwrite
  • chartmogul.transactions.deleteDelete a Transactiondestructive
  • chartmogul.transactions.disableDisable a Transactionwrite
  • chartmogul.transactions.disable_by_external_idDisable a Transaction (by external ID)write
  • chartmogul.transactions.getRetrieve a Transactionread
  • chartmogul.transactions.updateUpdate a Transactionwrite
Contacts6
  • chartmogul.contacts.createCreate a Contactwrite
  • chartmogul.contacts.deleteDelete a Contactdestructive
  • chartmogul.contacts.getRetrieve a Contactread
  • chartmogul.contacts.listList Contactsread
  • chartmogul.contacts.mergeMerge Contactsdestructive
  • chartmogul.contacts.updateUpdate a Contactwrite
Customer notes5
  • chartmogul.customer_notes.createCreate a Note or Call Logwrite
  • chartmogul.customer_notes.deleteDelete a Note or Call Logdestructive
  • chartmogul.customer_notes.getRetrieve a Note or Call Logread
  • chartmogul.customer_notes.listList Notes and Call Logsread
  • chartmogul.customer_notes.updateUpdate a Note or Call Logwrite
Opportunities5
  • chartmogul.opportunities.createCreate an Opportunitywrite
  • chartmogul.opportunities.deleteDelete an Opportunitydestructive
  • chartmogul.opportunities.getRetrieve an Opportunityread
  • chartmogul.opportunities.listList Opportunitiesread
  • chartmogul.opportunities.updateUpdate an Opportunitywrite
Plan groups5
  • chartmogul.plan_groups.createCreate a Plan Groupwrite
  • chartmogul.plan_groups.deleteDelete a Plan Groupdestructive
  • chartmogul.plan_groups.getRetrieve a Plan Groupread
  • chartmogul.plan_groups.listList Plan Groupsread
  • chartmogul.plan_groups.updateUpdate a Plan Groupwrite
Plans5
  • chartmogul.plans.createCreate a Planwrite
  • chartmogul.plans.deleteDelete a Plandestructive
  • chartmogul.plans.getRetrieve a Planread
  • chartmogul.plans.listList Plansread
  • chartmogul.plans.updateUpdate a Planwrite
Subscription events5
  • chartmogul.subscription_events.createCreate a Subscription Eventwrite
  • chartmogul.subscription_events.deleteDelete a Subscription Eventdestructive
  • chartmogul.subscription_events.disableDisable a Subscription Eventwrite
  • chartmogul.subscription_events.listList Subscription Eventsread
  • chartmogul.subscription_events.updateUpdate a Subscription Eventwrite
Tasks5
  • chartmogul.tasks.createCreate a Taskwrite
  • chartmogul.tasks.deleteDelete a Taskdestructive
  • chartmogul.tasks.getRetrieve a Taskread
  • chartmogul.tasks.listList Tasksread
  • chartmogul.tasks.updateUpdate a Taskwrite
Customer custom attributes4
  • chartmogul.customer_custom_attributes.createAdd Custom Attributes to a Customerwrite
  • chartmogul.customer_custom_attributes.create_by_emailAdd Custom Attributes to Customers by Emailwrite
  • chartmogul.customer_custom_attributes.deleteRemove Custom Attributes from a Customerdestructive
  • chartmogul.customer_custom_attributes.updateUpdate Customer's Custom Attributeswrite
Data sources4
  • chartmogul.data_sources.createCreate a Sourcewrite
  • chartmogul.data_sources.deleteDelete a Sourcedestructive
  • chartmogul.data_sources.getRetrieve a Sourceread
  • chartmogul.data_sources.listList Sourcesread
Subscription custom attributes4
  • chartmogul.subscription_custom_attributes.createAdd Custom Attributes to a Subscriptionwrite
  • chartmogul.subscription_custom_attributes.deleteRemove Custom Attributes from a Subscriptiondestructive
  • chartmogul.subscription_custom_attributes.getRetrieve Custom Attributes of a Subscriptionread
  • chartmogul.subscription_custom_attributes.updateUpdate Custom Attributes of a Subscriptionwrite
Customer tags3
  • chartmogul.customer_tags.createAdd Tags to a Customerwrite
  • chartmogul.customer_tags.create_by_emailAdd Tags to Customers by Emailwrite
  • chartmogul.customer_tags.deleteRemove Tags from a Customerdestructive
Activities exports2
  • chartmogul.activities_exports.createCreate an Activities Exportwrite
  • chartmogul.activities_exports.getRetrieve an Activities Exportread
Customer invoices2
  • chartmogul.customer_invoices.delete_allDelete All Customer’s Invoicesdestructive
  • chartmogul.customer_invoices.listList Customer’s Invoicesread
Json imports2
  • chartmogul.json_imports.createImport Data in Bulkwrite
  • chartmogul.json_imports.getTrack Import Statusread
Subscriptions2
  • chartmogul.subscriptions.connectConnect Subscriptionswrite
  • chartmogul.subscriptions.disconnectDisconnect Subscriptionswrite
Account1
  • chartmogul.account.getRetrieve Account Detailsread
Activities1
  • chartmogul.activities.listList Activitiesread
Customer activities1
  • chartmogul.customer_activities.listList Customer Activitiesread
Customer attributes1
  • chartmogul.customer_attributes.getRetrieve Customer’s Tags and Attributesread
Customer contacts1
  • chartmogul.customer_contacts.createAdd a Contact to Customerwrite
Customer subscriptions1
  • chartmogul.customer_subscriptions.listList Customer Subscriptionsread
Plan group plans1
  • chartmogul.plan_group_plans.listList Plans in a Plan Groupread

Questions

The ChartMogul MCP server, answered.

Is there a ChartMogul MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 106 ChartMogul actions across invoices, metrics, customers and line items, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by ChartMogul.

What do I need to connect ChartMogul?

ChartMogul API key (Profile > API keys). The free call account { op: "connections.requirements", service: "chartmogul" } lists exactly what to paste.

Can an AI agent delete or change things in ChartMogul?

Only if its key allows it, and only with an explicit confirmation. 18 ChartMogul actions are destructive, including delete a Contact, delete a Customer and merge Contacts. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my ChartMogul API limit?

actionlake paces every call to the limits in the ChartMogul service file: 40 calls a second per connection. Repeated reads are answered from cache (41 ChartMogul actions can be), which never reaches ChartMogul.

What does a ChartMogul action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (106 ChartMogul actions page). Cache hits, searches, dry runs and calls ChartMogul refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which ChartMogul API does it cover?

The ChartMogul REST API v1 at api.chartmogul.com. It is built from ChartMogul's documentation as read on 23 October 2026. 106 actions in 27 areas, each one in the signed service file (version 1.0.0).

Can I combine ChartMogul with my other systems?

Yes. ask joins ChartMogul to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. ChartMogul maps crm.company, which 227 other connectors also map.

Does actionlake keep my ChartMogul data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your ChartMogul credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent ChartMogul today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.