Alpaca Trading API integration for Model Context Protocol (MCP)
SmartAccounts MCP by usefulapi is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Read SmartAccounts clients, vendors, invoices, payments, ledger, accounts; create and book records.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http smartaccounts-mcp-by-usefulapi https://smartaccounts.usefulapi.io/mcp
# 2 — ask your agent for something these tools do
# smartaccounts_list_clients, smartaccounts_get_client_balance, smartaccounts_list_vendors and 15 more
SmartAccounts MCP by usefulapi costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http smartaccounts-mcp-by-usefulapi https://smartaccounts.usefulapi.io/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
18 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Customers of the company (purchasesales/clients:get): id, name, regCode, vatNumber, bank account, due days, discount, VAT code. Filter by name or registry code, by id, or by modification time. Paged (100 per page). The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name_or_reg_code | string | no | Name or registry code to search for. |
| id | string | no | A specific client id. |
| modified_from | string | no | Only clients modified after, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| modified_to | string | no | Only clients modified until, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| page | integer | no | Page number, 1-based (default 1). Use next_page_number from the previous reply (100 objects per page). |
| fetch_addresses | boolean | no | Include addresses. |
| fetch_contacts | boolean | no | Include contacts (emails, phones). |
The outstanding balance of one client (purchasesales/clients:getbalance), optionally on a past date and with the open documents. The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The client id (from smartaccounts_list_clients). |
| balance_date | string | no | Balance on this date, yyyy-mm-dd (default today). |
| fetch_details | boolean | no | Include the documents that make up the balance. |
Suppliers of the company (purchasesales/vendors:get): id, name, regCode, vatNumber, bank account, VAT code. Filter by name or registry code, by id, or by modification time. Paged (100 per page). The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name_or_reg_code | string | no | Name or registry code to search for. |
| id | string | no | A specific vendor id. |
| modified_from | string | no | Only vendors modified after, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| modified_to | string | no | Only vendors modified until, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| page | integer | no | Page number, 1-based (default 1). Use next_page_number from the previous reply (100 objects per page). |
| fetch_addresses | boolean | no | Include addresses. |
| fetch_contacts | boolean | no | Include contacts (emails, phones). |
The outstanding balance owed to one vendor (purchasesales/vendors:getbalance), optionally on a past date and with the open documents. The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The vendor id (from smartaccounts_list_vendors). |
| balance_date | string | no | Balance on this date, yyyy-mm-dd (default today). |
| fetch_details | boolean | no | Include the documents that make up the balance. |
Products, services and warehouse items (purchasesales/articles:get): code, description, type, unit, VAT code, sales and purchase prices, accounts. Search by code or name, or by modification time. Paged (100 per page). The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| search_string | string | no | Filter by article code or name. |
| code | string | no | A specific article code. |
| modified_from | string | no | Only articles modified after, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| modified_to | string | no | Only articles modified before, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| page | integer | no | Page number, 1-based (default 1). Use next_page_number from the previous reply (100 objects per page). |
Sales (client) invoices (purchasesales/clientinvoices:get): number, client, dates, amounts, VAT, outstanding amount, optionally the rows. Filter by date, client, number or payment status (unpaid, overdue). Paged (100 per page). The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| date_from | string | no | Invoices dated from, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| date_to | string | no | Invoices dated to, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| date_type | string | no | Which date the range filters: invoice date (default), entry date, due date or modification time. |
| client_id | string | no | Only this client's invoices. |
| client_name | string | no | Filter by client name. |
| id | string | no | A specific invoice id. |
| invoice_number | string | no | Filter by invoice number. |
| payment_status | string | no | unpaid = not fully paid; overdue = unpaid and past due. Omit for all. |
| page | integer | no | Page number, 1-based (default 1). Use next_page_number from the previous reply (100 objects per page). |
| fetch_rows | boolean | no | Include the invoice rows. |
Purchase (vendor) invoices (purchasesales/vendorinvoices:get): number, vendor, dates, amounts, VAT, outstanding amount, optionally the rows. Filter by date, vendor, number or payment status (unpaid, overdue). Paged (100 per page). The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| date_from | string | no | Invoices dated from, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| date_to | string | no | Invoices dated to, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| date_type | string | no | Which date the range filters: invoice date (default), entry date, due date or modification time. |
| vendor_id | string | no | Only this vendor's invoices. |
| vendor_name | string | no | Filter by vendor name. |
| id | string | no | A specific invoice id. |
| invoice_number | string | no | Filter by invoice number. |
| payment_status | string | no | unpaid = not fully paid; overdue = unpaid and past due. Omit for all. |
| page | integer | no | Page number, 1-based (default 1). Use next_page_number from the previous reply (100 objects per page). |
| fetch_rows | boolean | no | Include the invoice rows. |
Bank and cash payments from clients and to vendors (purchasesales/payments:get): date, partner, account, currency, amount, optionally the rows (which invoices were paid). Paged (100 per page). The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| date_from | string | no | Payments dated from, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| date_to | string | no | Payments dated to, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| date_type | string | no | Which date the range filters: payment date (default) or modification time. |
| partner_type | string | no | Only client payments or only vendor payments. |
| account_type | string | no | Only bank or only cash payments. |
| account_name | string | no | Filter by the bank or cash account name. |
| partner_id | string | no | Filter by client or vendor id. |
| partner_name | string | no | Filter by client or vendor name. |
| id | string | no | A specific payment id. |
| page | integer | no | Page number, 1-based (default 1). Use next_page_number from the previous reply (100 objects per page). |
| fetch_rows | boolean | no | Include the payment rows. |
General ledger entries of every type (general/entries:get): manual entries, invoices, payments, VAT returns, depreciation. Filter by date, type, text or payment status. Paged (100 per page). The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| date_from | string | no | Entries dated from, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| date_to | string | no | Entries dated to, yyyy-mm-dd (or yyyy-mm-ddTHH:mm:ss, Estonian time). |
| date_type | string | no | Which date the range filters: entry date (default) or added/modified time. |
| doc_type | string | no | Only entries of this type (LEDGER_ENTRY = manual ledger entry). |
| filter_description | string | no | Filter by document number or row description. |
| id | string | no | A specific entry id. |
| payment_status | string | no | unpaid or overdue invoices only. Omit for all. |
| page | integer | no | Page number, 1-based (default 1). Use next_page_number from the previous reply (100 objects per page). |
| fetch_rows | boolean | no | Include the entry rows (account, debit, credit). |
The chart of accounts: code, type (ASSET, LIABILITY, INCOME, EXPENSE), Estonian and English description. Use the codes in ledger entries. (settings/accounts:get). Not paged. The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
No parameter schema on file.
VAT codes: vatPc code, percentage, descriptions, whether active for sales or purchases, accounts. Use vatPc in client and invoice rows. (settings/vatpcs:get). Not paged. The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
No parameter schema on file.
The company's bank accounts: name (used as accountName in payments), ledger account, currency, IBAN, SWIFT. (settings/bankaccounts:get). Not paged. The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
No parameter schema on file.
The company's cash registers: name (used as accountName in payments), ledger account, currency. (settings/cashaccounts:get). Not paged. The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
No parameter schema on file.
Payment methods: name, ledger account, whether cash. (settings/paymentmethods:get). Not paged. The vendor limit is 60 requests per minute and 1000 per 24 hours; every call here is one request.
No parameter schema on file.
Add a new client (purchasesales/clients:add). Search first with smartaccounts_list_clients so a client is not created twice. Returns clientId and the generated referenceNumber. This creates a real accounting record in the company's books. This server cannot edit or delete it; correct it in SmartAccounts. It never retries: if a reply is unclear, look in SmartAccounts before calling again. The vendo
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Client name. |
| vat_pc | string | yes | The client's default VAT code (the vatPc of smartaccounts_list_vat_rates), for example 20. |
| reg_code | string | no | Company registry code. |
| vat_number | string | no | VAT registration number. |
| bank_account | string | no | Bank account number (IBAN). |
| invoice_due_days | integer | no | Default invoice due date in days. |
| country | string | no | 2-letter ISO country code, for example EE. |
| county | string | no | — |
| city | string | no | — |
| address1 | string | no | — |
| address2 | string | no | — |
| postal_code | string | no | — |
| string | no | Contact email. | |
| phone | string | no | Contact phone. |
| comment | string | no | Internal comment. |
Post a new sales (client) invoice (purchasesales/clientinvoices:add). The invoice number is generated by SmartAccounts, totals and VAT are calculated from the rows, and the invoice is booked to the ledger at once (it is not a draft). The client must exist (smartaccounts_list_clients); each row's code must be an article code (smartaccounts_list_articles) and vat_pc a VAT code (smartaccounts_list_va
| Parameter | Type | Required | Notes |
|---|---|---|---|
| client_id | string | yes | The client id (from smartaccounts_list_clients). |
| date | string | yes | Invoice date, yyyy-mm-dd. |
| due_date | string | no | Due date, yyyy-mm-dd (default from the client's settings). |
| currency | string | no | Currency code (default EUR). |
| exchange_rate | number | no | Exchange rate; only for a currency without an ECB rate. |
| invoice_note | string | no | Additional text printed on the invoice PDF. |
| reference_number | string | no | Reference number for payment orders (default generated). |
| comment | string | no | Internal comment. |
| rows | array | yes | Invoice rows. |
Record a bank or cash payment against one or more invoices (purchasesales/payments:add): a client paying a sales invoice, or a payment to a vendor for a purchase invoice. Use smartaccounts_list_bank_accounts or _list_cash_accounts for account_name, and the invoice ids from the invoice lists. The currency must match the account's currency. Returns paymentId, number and amount. This creates a real a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| date | string | yes | Payment date, yyyy-mm-dd. |
| partner_type | string | yes | CLIENT = money received from a client; VENDOR = money paid to a vendor. |
| partner_id | string | yes | The client id (partner_type CLIENT) or vendor id (VENDOR). |
| account_type | string | yes | BANK or CASH. |
| account_name | string | yes | The name of the bank or cash account. |
| currency | string | yes | Currency code, for example EUR; must match the account's currency. |
| exchange_rate | number | no | Exchange rate; only for a currency without an ECB rate. |
| document | string | no | Document number text. |
| comment | string | no | Internal comment. |
| rows | array | yes | The invoices this payment settles. |
Post a manual general ledger entry (journal entry, general/entries:add) in EUR. Debits must equal credits. Account codes come from smartaccounts_list_accounts. Fails if the period is locked. Returns id, number and amount. This creates a real accounting record in the company's books. This server cannot edit or delete it; correct it in SmartAccounts. It never retries: if a reply is unclear, look in
| Parameter | Type | Required | Notes |
|---|---|---|---|
| date | string | yes | Entry date, yyyy-mm-dd. |
| document | string | no | Document number text. |
| comment | string | no | Internal comment. |
| rows | array | yes | Entry rows; total debit must equal total credit. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install SmartAccounts MCP by usefulapi or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish SmartAccounts MCP by usefulapi can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.