invoiceshelf-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| INVOICE_SHELF_BASE_URL | Yes | The base URL of your InvoiceShelf instance API, e.g. https://your-instance.example.com/api/v1 | |
| INVOICE_SHELF_API_TOKEN | Yes | Your InvoiceShelf API token, e.g. 1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_invoicesB | List invoices, with optional pagination, search, status and customer filters. |
| get_invoiceA | Get full details for a single invoice by ID. |
| get_customer_invoicesA | Get all invoices for a specific customer, optionally filtered by status. |
| create_invoiceC | Create a new invoice. Handles InvoiceShelf's undocumented required fields internally. |
| update_invoiceC | Update fields on an existing invoice. |
| delete_invoiceC | Delete an invoice by ID. |
| send_invoiceA | Email an invoice to its customer. Looks up the sender address and the customer's email automatically. |
| get_estimatesC | List estimates, with optional pagination, search and customer filters. |
| get_estimateB | Get full details for a single estimate by ID. |
| create_estimateC | Create a new estimate. Handles InvoiceShelf's undocumented required fields internally. |
| update_estimateC | Update fields on an existing estimate. |
| delete_estimateC | Delete an estimate by ID. |
| send_estimateB | Email an estimate to its customer. Looks up the sender address and the customer's email automatically. |
| convert_estimate_to_invoiceC | Convert an accepted estimate into an invoice. |
| get_customersC | List customers, with optional pagination and search. |
| get_customerB | Get full details for a single customer by ID. |
| create_customerC | Create a new customer. |
| update_customerC | Update fields on an existing customer. |
| delete_customerC | Delete a customer by ID. |
| test_connectionA | Verify the API base URL and token work by calling /me. |
| get_dashboard_statsB | Get dashboard summary stats (totals due, paid, overdue, etc.). |
| get_usersC | List users on the InvoiceShelf instance. |
| get_userC | Get full details for a single user by ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Most tools target a distinct resource and action, making selection straightforward. The main ambiguity is get_customer_invoices versus get_invoices with a customer filter, which overlap significantly.
Tool names consistently use snake_case with a verb_noun pattern (get_invoice, create_estimate, delete_customer). Even longer operations like convert_estimate_to_invoice and get_customer_invoices follow the same readable convention.
23 tools is on the heavy side, but the domain covers three core resources (invoices, estimates, customers) each with substantial CRUD and lifecycle operations. Only one redundant tool (get_customer_invoices) stands out, so the count is slightly over but still reasonable.
Invoices, estimates, and customers all have complete create/read/update/delete cycles, with sending and conversion where relevant. Minor gaps like payment recording or explicit estimate acceptance are absent, but core workflows are covered.