invoiceShelfMCP

Hsidhu/invoiceShelfMCP

3.1

If you are the rightful owner of invoiceShelfMCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Invoice Shelf MCP Server is a Model Context Protocol server designed to integrate with Invoice Shelf, enabling LLMs to manage customers, invoices, and payments.

Tools
8
Resources
0
Prompts
0

Invoice Shelf MCP Server

A Model Context Protocol (MCP) server for integrating with Invoice Shelf. This server allows LLMs (like Claude, ChatGPT) to interact with your Invoice Shelf instance to manage customers, invoices, and payments.

Check out the official Invoice Shelf Repository.

Features

  • Customer Management: List and search customers.
  • Estimate Management:
    • List estimates with filtering (status, search, pagination).
    • Get detailed estimate information.
    • Create new estimates.
    • Update existing estimates.
    • Delete estimates.
    • Send estimates via email.
    • Convert estimates to invoices.
  • Invoice Management:
    • List invoices with filtering (status, search, pagination).
    • Get detailed invoice information.
    • Create new invoices.
    • Update existing invoices.
    • Delete invoices.
    • Send invoices via email.

Prerequisites

  • Node.js (v18 or higher)
  • An Invoice Shelf instance
  • An API Token from Invoice Shelf

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd invoice-shelf-mcp
    
  2. Install dependencies:

    npm install
    # or
    pnpm install
    
  3. Build the project:

    npm run build
    

Configuration

Create a .env file in the root directory (copy from .env.example if available):

INVOICE_SHELF_BASE_URL=https://your-invoice-shelf-domain.com/api/v1
INVOICE_SHELF_API_TOKEN=your_api_token_here

Important: The INVOICE_SHELF_API_TOKEN in the .env file is primarily used for the test script and local development. When using this server with an MCP Client (like Claude Desktop or AnythingLLM), you should configure the API token directly in the MCP Client's configuration file (see Connecting to an MCP Client). The MCP Client's configuration will take precedence.

Generating an API Token

You can easily generate an API token using the provided helper script.

  1. Update your .env file with your Invoice Shelf credentials:

    INVOICE_SHELF_USERNAME=your_email@example.com
    INVOICE_SHELF_PASSWORD=your_password
    INVOICE_SHELF_DEVICE_NAME=mcp-server
    
  2. Run the script:

    sh test/api-curl.sh
    
  3. Copy the token from the response and update INVOICE_SHELF_API_TOKEN in your .env file.

Note: If you are using a self-signed certificate or a local development environment with SSL issues, you might need to set NODE_TLS_REJECT_UNAUTHORIZED=0 in your environment, but this is not recommended for production.

Usage

Running the Server

npm start

Connecting to an MCP Client

Add the server configuration to your MCP client (e.g., Claude Desktop, AnythingLLM):

{
  "mcpServers": {
    "invoice-shelf": {
      "command": "node",
      "args": ["/path/to/invoice-shelf-mcp/dist/index.js"],
      "env": {
        "INVOICE_SHELF_BASE_URL": "https://your-invoice-shelf-domain.com/api/v1",
        "INVOICE_SHELF_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Available Tools

Tool NameDescription
get_invoicesList invoices with pagination and filtering.
get_invoiceGet details of a specific invoice.
create_invoiceCreate a new invoice.
update_invoiceUpdate an existing invoice.
delete_invoiceDelete an invoice.
send_invoiceEmail an invoice to the customer.
get_estimatesList estimates with pagination and filtering.
get_estimateGet details of a specific estimate.
create_estimateCreate a new estimate.
update_estimateUpdate an existing estimate.
delete_estimateDelete an estimate.
send_estimateEmail an estimate to the customer.
convert_estimate_to_invoiceConvert an estimate into an invoice.
get_customersList and search customers.
get_dashboard_statsGet a dashboard overview including total customers, total invoices, and recent activity.
test_connectionVerify connectivity to the Invoice Shelf API.

Development

  • Build: npm run build
  • Watch Mode: npm run dev
  • Logs: Check the logs/ directory for detailed request/response logs.

Acknowledgements

Special thanks to the Invoice Shelf contributors for building an amazing open-source invoicing solution.