ExpenseIn MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.3.4Updated Nov 7, 2026

Read expenses, invoices, receipts and card transactions, and add expenses or notes in ExpenseIn.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFinanceBusiness & Commerce

Overview

AI-generated overview

Hosted ExpenseIn connector that lets an assistant read expenses, approvals, invoices, receipts and card transactions, and create expenses or invoice notes.

What you can do
  • List and fetch expenses, including those awaiting, approved or rejected in approval
  • List and fetch supplier invoices and credit notes, and add a free-text note to an invoice
  • List and fetch receipts, and list card transactions by date, cardholder or search term
  • List users, categories, projects, departments, suppliers, merchants, tax rates, policies and purchase requests
  • Create a new expense for a user
  • Check usage status, request a missing feature, upgrade or cancel the subscription
When to use it
Useful when you want to query or report on ExpenseIn spend from a chat client: pending approvals, last month's card transactions, category tax defaults, or filing a new expense without opening the web app.
Requirements
Remote MCP endpoint reached over streamable HTTP; no local install. Sign-in is via OAuth, and on first connect you supply an ExpenseIn API key created in the ExpenseIn admin area, which the service stores per user. A free plan allows 50 tool calls per month; paid plans are available.
Before you install
The service holds your ExpenseIn API key and reads company financial data, which passes through a third party. Two tools write data: creating an expense and adding an invoice note, and repeated calls create duplicates. Subscription tools can start a paid Stripe checkout or cancel Pro, and cancellation gives no refund for the current period. Free tier is capped at 50 calls a month.

Installation

In SourceWeft

  1. Open ExpenseIn MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fexpensein/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "expensein-by-usefulapi": {
      "type": "http",
      "url": "https://expensein.usefulapi.io/mcp"
    }
  }
}

README

ExpenseIn MCP by usefulapi

Use your ExpenseIn account from Claude, Cursor, or any MCP client. Read expenses, approvals, invoices, receipts and card transactions, and create expenses or invoice notes. Hosted, no local install: connect with your own credentials.

Live endpoint: https://expensein.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://expensein.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http expensein https://expensein.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "expensein": {      "url": "https://expensein.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your ExpenseIn credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/expensein/

On first connect you provide an ExpenseIn API key (Admin → Integration → ExpenseIn API → New API Key). The server validates it and stores it per user. No keys go in config files.

Tools

ToolTypeWhat it does
expensein_list_expensesreadList expenses
expensein_get_expensereadGet an expense
expensein_list_expenses_for_approvalreadList expenses for approval
expensein_list_invoicesreadList invoices
expensein_get_invoicereadGet an invoice
expensein_add_invoice_notewriteAdd a note to an invoice
expensein_list_receiptsreadList receipts
expensein_get_receiptreadGet a receipt
expensein_list_usersreadList users
expensein_get_userreadGet a user
expensein_list_categoriesreadList categories
expensein_list_projectsreadList projects
expensein_list_departmentsreadList departments
expensein_list_suppliersreadList suppliers
expensein_list_merchantsreadList merchants
expensein_list_tax_ratesreadList tax rates
expensein_list_policiesreadList expense policies
expensein_list_card_transactionsreadList card transactions
expensein_list_purchase_requestsreadList purchase requests
expensein_get_server_change_counterreadGet the server change counter
expensein_create_expensewriteCreate an expense
expensein_usage_statusmetaUsage status (free-tier meter)
expensein_request_featuremetaRequest a missing feature
expensein_upgrademetaUpgrade to Pro or Pro+
expensein_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with expensein_upgrade (it returns a Stripe Checkout link). Cancel any time with expensein_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running expensein_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT — see LICENSE. Documentation only; the server is hosted.

Source: servers/expensein/README.md at commit 4046075

Tools

21

expensein_list_expenses

List expenses

List expenses with optional filters by user, type, status, and Unix-second date ranges (expense, submitted, approved). Returns the full filtered set. ExpenseIn API: GET /1.0/expenses.

Parametersuser_idexpense_typeexpense_statusexpense_date_toinclude_deletedapproved_date_toexpense_date_fromsubmitted_date_toapproved_date_fromsubmitted_date_fromlast_server_change_counter

expensein_get_expense

Get an expense

Get one expense by id. ExpenseIn API: GET /1.0/expenses/{id}.

Parametersexpense_idrequired

expensein_list_expenses_for_approval

List expenses for approval

List expenses awaiting, approved or rejected by approval. 'from' and 'to' (Unix seconds) filter approved or rejected expenses only. ExpenseIn API: GET /1.0/approval/expenses/{awaiting|approved|rejected}.

Parameterstofromstatusrequiredapprover_user_id

expensein_list_invoices

List invoices

List supplier invoices and credit notes, with filters by status, supplier, approver and date. Returns the full filtered set. ExpenseIn API: GET /1.0/invoices.

Parameterscompletereferenceapprover_idsupplier_idinvoice_typeinvoice_statusinvoice_date_toinvoice_date_from

expensein_get_invoice

Get an invoice

Get one invoice by id. ExpenseIn API: GET /1.0/invoices/{id}.

Parametersinvoice_idrequired

expensein_add_invoice_note

Add a note to an invoice

Add a free-text note to an invoice. This adds a new note each time, so do not repeat the call. ExpenseIn API: POST /1.0/invoices/{id}/note.

Parametersnoterequiredinvoice_idrequired

expensein_list_receipts

List receipts

List receipts with optional filters by user, expense, date range and whether they are attached to an expense. ExpenseIn API: GET /1.0/receipts.

Parametersto_dateuser_idfrom_dateexpense_idis_attachedinclude_deletedpurchase_method_idlast_server_change_counter

expensein_get_receipt

Get a receipt

Get one receipt by id. ExpenseIn API: GET /1.0/receipts/{id}.

Parametersreceipt_idrequired

expensein_list_users

List users

List standard users, with filters by reference, e-mail, or a search term. ExpenseIn API: GET /1.0/users.

Parametersemailreferencesearch_terminclude_deletedinclude_leaverslast_server_change_counter

expensein_get_user

Get a user

Get one standard user by id. ExpenseIn API: GET /1.0/users/{id}.

Parametersuser_idrequired

expensein_list_categories

List categories

List expense categories and what each applies to (purchase, mileage, time, invoicing), with visibility and default tax rate. ExpenseIn API: GET /1.0/categories. Also the cheapest call to test an API key.

Parametersreferenceinclude_deletedlast_server_change_counter

expensein_list_projects

List projects

List projects. ExpenseIn API: GET /1.0/projects.

Parametersreferenceinclude_deletedlast_server_change_counter

expensein_list_departments

List departments

List departments. ExpenseIn API: GET /1.0/departments.

Parametersreferenceinclude_deletedlast_server_change_counter

expensein_list_suppliers

List suppliers

List suppliers. ExpenseIn API: GET /1.0/suppliers.

Parametersreferencesearch_terminclude_deleted

expensein_list_merchants

List merchants

List merchants. ExpenseIn API: GET /1.0/merchants.

Parametersreferenceinclude_deletedlast_server_change_counter

expensein_list_tax_rates

List tax rates

List tax rates. ExpenseIn API: GET /1.0/taxrates.

Parametersreferenceinclude_deletedlast_server_change_counter

expensein_list_policies

List expense policies

List the expense policies on the account. ExpenseIn API: GET /1.0/policies.

Takes no parameters.

expensein_list_card_transactions

List card transactions

List expense-card transactions, filtered by Unix-second date range, cardholder id or a search term. Returns the full filtered set. ExpenseIn API: GET /1.0/cardtransactions.

Parameterstofromsearch_termcardholder_id

expensein_list_purchase_requests

List purchase requests

List purchase requests, filtered by owner user id and status. ExpenseIn API: GET /1.0/purchaserequests.

Parametersstatusowner_id

expensein_get_server_change_counter

Get the server change counter

Get the current server change counter. Save it after a sync, then pass it as last_server_change_counter next time to read only changes. ExpenseIn API: GET /1.0/serverchangecounter.

Takes no parameters.

expensein_create_expense

Create an expense

Create a new expense for a user. Each call creates another expense, so do not repeat it. ExpenseIn API: POST /1.0/expenses.

Parameterstyperequirednotesuser_idrequiredproject_idtax_amountcategory_iddescriptionrequiredis_billabletax_rate_idexpense_daterequireddepartment_id

Version history

7
  1. v1.3.4LatestNov 7, 2026
  2. v1.2.3Nov 5, 2026
  3. v1.2.2Nov 5, 2026
  4. v1.2.1Nov 4, 2026
  5. v1.2.0Nov 3, 2026
  6. v1.1.1Nov 3, 2026
  7. v1.0.0Nov 1, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations