The Mercury MCP connector routes your AI agent's tool calls to Mercury's own MCP server through Scalekit. Each user signs in to Mercury once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 35 tools.
- Tools
- 35
- What they doRead · write · destructive
- 35 · 0 · 035 read0 write0 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Mercury MCP connection
In AgentKit > Connections, create a Mercury MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Mercury MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'mercurymcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Mercury MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'mercurymcp_getaccounts',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "mercurymcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Mercury MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="mercurymcp_getaccounts",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolmercurymcp_getaccountRetrieve details of a specific Mercury account by its ID.Read-onlyGetAccount
Retrieve details of a specific Mercury account by its ID.
Inputs
accountIdstringrequired- Mercury account ID. Get it from Get Accounts.
mercurymcp_getaccountcardsRetrieve all debit and credit cards associated with a specific account.Read-onlyGetAccountCards
Retrieve all debit and credit cards associated with a specific account.
Inputs
accountIdstringrequired- Mercury account ID. Get it from Get Accounts.
mercurymcp_getaccountsRetrieve a paginated list of all Mercury accounts for the organization.Read-onlyGetAccounts
Retrieve a paginated list of all Mercury accounts for the organization.
Inputs
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
mercurymcp_getaccountstatementsRetrieve a paginated list of monthly statements for a specific account.Read-onlyGetAccountStatements
Retrieve a paginated list of monthly statements for a specific account.
Inputs
accountIdstringrequired- Mercury account ID. Get it from Get Accounts.
endstring- Filter by end date (YYYY-MM-DD).
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultdesc startstring- Filter by start date (YYYY-MM-DD).
start_afterstring- Cursor from the previous response to fetch the next page.
mercurymcp_getattachmentRetrieve attachment details including the download URL.Read-onlyGetAttachment
Retrieve attachment details including the download URL.
Inputs
attachmentIdstringrequired- Mercury attachment ID.
mercurymcp_getcardRetrieve details of a specific card by its ID.Read-onlyGetCard
Retrieve details of a specific card by its ID.
Inputs
cardIdstringrequired- Unique identifier for a card.
mercurymcp_getcurrentdateGet the current date and time.Read-onlyGetCurrentDate
Get the current date and time.
Inputs
This tool takes no inputs.
mercurymcp_getcustomerRetrieve details of a specific customer by their ID.Read-onlyGetCustomer
Retrieve details of a specific customer by their ID.
Inputs
customerIdstringrequired- Mercury customer ID. Get it from List Customers.
mercurymcp_getinvoiceRetrieve details of an invoice by its ID.Read-onlyGetInvoice
Retrieve details of an invoice by its ID.
Inputs
invoiceIdstringrequired- Mercury invoice ID. Get it from List Invoices.
mercurymcp_getorganizationRetrieve organization details including EIN, legal business name, and DBAs.Read-onlyGetOrganization
Retrieve organization details including EIN, legal business name, and DBAs.
Inputs
This tool takes no inputs.
mercurymcp_getrecipientRetrieve details of a specific payment recipient by their ID.Read-onlyGetRecipient
Retrieve details of a specific payment recipient by their ID.
Inputs
recipientIdstringrequired- Mercury recipient ID. Get it from Get Recipients.
mercurymcp_getrecipientinviteRetrieve details of a specific recipient invite by ID.Read-onlyGetRecipientInvite
Retrieve details of a specific recipient invite by ID.
Inputs
inviteIdstringrequired- ID for the invite.
mercurymcp_getrecipientsRetrieve a paginated list of all payment recipients.Read-onlyGetRecipients
Retrieve a paginated list of all payment recipients.
Inputs
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
mercurymcp_getsaferequestRetrieve a specific SAFE (Simple Agreement for Future Equity) request by its ID.Read-onlyGetSafeRequest
Retrieve a specific SAFE (Simple Agreement for Future Equity) request by its ID.
Inputs
safeRequestIdstringrequired- Mercury SAFE request ID. Get it from Get SAFE Requests.
mercurymcp_getsaferequestsRetrieve all SAFE requests for the organization.Read-onlyGetSafeRequests
Retrieve all SAFE requests for the organization.
Inputs
This tool takes no inputs.
mercurymcp_gettransactionRetrieve a transaction by account ID and transaction ID.Read-onlyGetTransaction
Retrieve a transaction by account ID and transaction ID.
Inputs
accountIdstringrequired- Mercury account ID. Get it from Get Accounts.
transactionIdstringrequired- Mercury transaction ID. Get it from List Transactions.
mercurymcp_gettransactionbyidRetrieve a single transaction by its ID including attachments and check images.Read-onlyGetTransactionById
Retrieve a single transaction by its ID including attachments and check images.
Inputs
transactionIdstringrequired- Mercury transaction ID. Get it from List Transactions.
mercurymcp_gettreasuryRetrieve a paginated list of all treasury accounts for the organization.Read-onlyGetTreasury
Retrieve a paginated list of all treasury accounts for the organization.
Inputs
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
mercurymcp_gettreasurystatementsRetrieve a paginated list of statements for a specific treasury account.Read-onlyGetTreasuryStatements
Retrieve a paginated list of statements for a specific treasury account.
Inputs
treasuryIdstringrequired- Mercury treasury account ID. Get it from Get Treasury.
documentTypestring- Filter statements by document type.one of
MonthlyStatementTradeConfirmation10991099R1042S54985498ESA1099QFMVSDIRA end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
mercurymcp_gettreasurytransactionsRetrieve paginated transactions for a specific treasury account.Read-onlyGetTreasuryTransactions
Retrieve paginated transactions for a specific treasury account.
Inputs
treasuryIdstringrequired- Mercury treasury account ID. Get it from Get Treasury.
cursornumber- Numeric pagination cursor from the previous response.
limitinteger- Maximum number of items to return per page.default
100 orderstring- Sort order: asc or desc.one of
ascdescdefaultdesc
mercurymcp_getuserRetrieve details of a specific user by their ID.Read-onlyGetUser
Retrieve details of a specific user by their ID.
Inputs
userIdstringrequired- Mercury user ID. Get it from Get Users.
mercurymcp_getusersRetrieve a paginated list of all users in the organization.Read-onlyGetUsers
Retrieve a paginated list of all users in the organization.
Inputs
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
mercurymcp_getwebhookRetrieve details of a specific webhook endpoint by its ID.Read-onlyGetWebhook
Retrieve details of a specific webhook endpoint by its ID.
Inputs
webhookEndpointIdstringrequired- Mercury webhook endpoint ID. Get it from Get Webhooks.
mercurymcp_getwebhooksRetrieve a paginated list of all webhook endpoints with optional status filtering.Read-onlyGetWebhooks
Retrieve a paginated list of all webhook endpoints with optional status filtering.
Inputs
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
statusarray- No description.
mercurymcp_listcardsRetrieve a paginated list of cards.Read-onlyListCards
Retrieve a paginated list of cards.
Inputs
accountIdarray- No description.
end_beforestring- Cursor to fetch the page before this position.
kindarray- No description.
limitinteger- Maximum number of items to return per page.default
500 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
statusarray- No description.
typearray- No description.
userIdstring- Filter cards by the cardholder's user ID.
mercurymcp_listcategoriesRetrieve a paginated list of all custom expense categories for the organization.Read-onlyListCategories
Retrieve a paginated list of all custom expense categories for the organization.
Inputs
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
mercurymcp_listcreditRetrieve a list of all credit accounts for the organization.Read-onlyListCredit
Retrieve a list of all credit accounts for the organization.
Inputs
This tool takes no inputs.
mercurymcp_listcustomersRetrieve a paginated list of all customers.Read-onlyListCustomers
Retrieve a paginated list of all customers.
Inputs
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
mercurymcp_listinvoiceattachmentsRetrieve all attachments for a specific invoice.Read-onlyListInvoiceAttachments
Retrieve all attachments for a specific invoice.
Inputs
invoiceIdstringrequired- Mercury invoice ID. Get it from List Invoices.
mercurymcp_listinvoicesRetrieve a paginated list of all invoices.Read-onlyListInvoices
Retrieve a paginated list of all invoices.
Inputs
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
mercurymcp_listmerchantsRetrieve a paginated list of priority merchants that can be used for spend controls like merchant locking.Read-onlyListMerchants
Retrieve a paginated list of priority merchants that can be used for spend controls like merchant locking.
Inputs
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc searchstring- Case-insensitive search term to filter merchants by name.
start_afterstring- Cursor from the previous response to fetch the next page.
mercurymcp_listrecipientinvitesRetrieve a paginated list of all recipient invites for your organization.Read-onlyListRecipientInvites
Retrieve a paginated list of all recipient invites for your organization. Supports filtering by status.
Inputs
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
statusstring- Filter by status.one of
createdcompletedexpired
mercurymcp_listrecipientsattachmentsRetrieve a paginated list of all recipient tax form attachments across the organization.Read-onlyListRecipientsAttachments
Retrieve a paginated list of all recipient tax form attachments across the organization.
Inputs
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 orderstring- Sort order: asc or desc.one of
ascdescdefaultasc start_afterstring- Cursor from the previous response to fetch the next page.
mercurymcp_listsendmoneyapprovalrequestsRetrieve a paginated list of send money approval requests with optional filtering.Read-onlyListSendMoneyApprovalRequests
Retrieve a paginated list of send money approval requests with optional filtering.
Inputs
accountIdstring- Mercury account ID. Get it from Get Accounts.
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 start_afterstring- Cursor from the previous response to fetch the next page.
statusstring- Filter by status.one of
pendingApprovalapprovedrejectedcancelled
mercurymcp_listtransactionsRetrieve a paginated list of transactions across all accounts with advanced filtering.Read-onlyListTransactions
Retrieve a paginated list of transactions across all accounts with advanced filtering.
Inputs
accountIdarray- No description.
cardIdarray- No description.
categoryIdstring- Filter by custom expense category ID.
endstring- Filter by end date (YYYY-MM-DD).
end_beforestring- Cursor to fetch the page before this position.
limitinteger- Maximum number of items to return per page.default
1000 mercuryCategorystring- Filter by Mercury built-in transaction category.
orderstring- Sort order: asc or desc.one of
ascdescdefaultasc postedEndstring- Filter transactions posted on or before this date (YYYY-MM-DD).
postedStartstring- Filter transactions posted on or after this date (YYYY-MM-DD).
searchstring- Search term to filter transactions by description or counterparty.
startstring- Filter by start date (YYYY-MM-DD).
start_afterstring- Cursor from the previous response to fetch the next page.
start_atstring- Filter by start datetime (ISO 8601).
statusarray- No description.
No tools match.