# ExpenseOnDemand Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## ExpenseOnDemand

Read expense exports and payroll totals and manage employee records in ExpenseOnDemand.

- Record: https://musedirectory.ai/connector/expenseondemand
- Category: Finance & Bills
- Developer: usefulapi (https://usefulapi.io/expenseondemand/)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 149ms, checked 2026-11-07T01:45:45Z
- Endpoint: https://expenseondemand.usefulapi.io/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, needs a closer look (2026-11-06T20:36:16Z)
- Source: Found in the official MCP Registry (io.usefulapi/expenseondemand) https://registry.modelcontextprotocol.io/v0/servers?search=io.usefulapi%2Fexpenseondemand

Connects Muse to ExpenseOnDemand so you can pull expense exports, check payroll totals, list users, and add, update or deactivate employee records from a conversation.

Example request: "Add our new hire to ExpenseOnDemand and show me last month's payroll total."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use ExpenseOnDemand to help me. It is a free service with an MCP server at https://expenseondemand.usefulapi.io/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- expenseondemand_export_accounting: Fetch approved expense data for an accounting integration, filtered by report, date range, category, claimant, cost centre, grade and payment type. Reads data only; the POST carries the filter body. Accounting API: POST /accounting/api/AccountingExport.
- expenseondemand_get_payroll_export: Get the total approved expense amount per employee for payroll: name, email, expense count and total amount. Accounting API: GET /accounting/api/PayrollExport.
- expenseondemand_list_export_templates: List the export report types configured for the subscription, with their report ids and fields. Use a reportId as exportReportId in expenseondemand_export_accounting. Meta API: GET /meta/api/GetExportTemplates.
- expenseondemand_list_expense_categories: List the expense categories of the subscription with id, name, active flag and base category id. Meta API: GET /meta/api/GetExpenseCategoriesForOrganisation.
- expenseondemand_list_grades: List the employee grades of the subscription with id, name and active flag. Meta API: GET /meta/api/GetGradesForOrganisation.
- expenseondemand_list_customers: List the customers of the subscription with id, name, codes and active flag. Customer API: GET /customer/api/GetCustomersForOrganisation.
- expenseondemand_add_customer: Add a customer to the subscription. The id is generated by ExpenseOnDemand. Creates a new record each call. Customer API: POST /customer/api/AddCustomerForSubscription.
- expenseondemand_update_customer: Update an existing customer by id. Send every field you want to keep: the vendor may clear fields you leave out, so read the record first with expenseondemand_list_customers. Customer API: POST /customer/api/UpdateCustomerForSubscription.
- expenseondemand_list_cost_centres: List the cost centres of the subscription with id, name, codes and active flag. Cost Centre API: GET /costCentre/api/GetCostCentresForOrganisation.
- expenseondemand_add_cost_centre: Add a cost centre to the subscription. The id is generated by ExpenseOnDemand. Creates a new record each call. Cost Centre API: POST /costCentre/api/AddCostCentreForSubscription.
- expenseondemand_update_cost_centre: Update an existing cost centre by id. Send every field you want to keep: the vendor may clear fields you leave out, so read the record first with expenseondemand_list_cost_centres. Cost Centre API: POST /costCentre/api/UpdateCostCentreForSubscription.
- expenseondemand_list_users: List the users (employees) of the subscription with email, name, status (1 Active, 2 Inactive, 3 NotInvited, 4 Pending, 5 Deleted), role and approver email. Users API: GET /users/api/GetUsersForOrganisation.
- expenseondemand_add_employee: Add an employee to the subscription. ExpenseOnDemand treats the new employee as invited. Creates a record each call, so check expenseondemand_list_users first. Users API: POST /users/api/AddEmployee.
- expenseondemand_update_employee: Update an existing employee, identified by email. Send every field you want to keep: the vendor may clear fields you leave out, so read the record first with expenseondemand_list_users. Users API: POST /users/api/UpdateEmployee.
- expenseondemand_deactivate_employee: Deactivate an employee by email, so they can no longer submit or approve expenses. Users API: POST /users/api/DeactivateEmployee.

Screening checks:
- MCP handshake: pass (Answered in 101ms)
- Domain against threat feeds (Cloudflare security DNS): pass (expenseondemand.usefulapi.io, usefulapi.io not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: n/a (Tools are behind sign-in)
- Inputs asking for passwords, card numbers or seed phrases: n/a (Tools are behind sign-in)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: warn (employee deactivation without confirmation; payroll and staff data access)
