Skip to main content
Glama
datagate-mcp

datagate-mcp

by hyamie

datagate-mcp

MCP server and CLI for the DataGate billing platform API.

  • MCP server — read-only tools for Claude Desktop, Claude Code, and other MCP clients

  • CLI — full CRUD for managing customers, invoices, products, agreements, sites, and payments

Install

pip install datagate-mcp

Or run the MCP server directly:

uvx datagate-mcp

Related MCP server: acronis-mcp

Configuration

Set two environment variables:

Variable

Description

DATAGATE_API_KEY

Bearer token from DataGate portal

DATAGATE_CLIENT_ID

Integration GUID from DataGate portal

DATAGATE_BASE_URL

(optional) Override base URL (default: https://api.dgportal.net)

MCP Setup

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "datagate": {
      "command": "uvx",
      "args": ["datagate-mcp"],
      "env": {
        "DATAGATE_API_KEY": "your-api-key",
        "DATAGATE_CLIENT_ID": "your-client-id"
      }
    }
  }
}

Claude Code

Add to .mcp.json:

{
  "mcpServers": {
    "datagate": {
      "command": "uvx",
      "args": ["datagate-mcp"],
      "env": {
        "DATAGATE_API_KEY": "your-api-key",
        "DATAGATE_CLIENT_ID": "your-client-id"
      }
    }
  }
}

CLI Usage

# List customers
datagate customers list
datagate customers list --page 2 --page-size 25

# Get a customer
datagate customers get <customer-id>

# Search invoices
datagate invoices search --invoice-date 2026-01-01
datagate invoices search --period-start 2025-12-01 --period-end 2025-12-31

# Invoice line items
datagate invoices details <invoice-id>

# List products (optionally by customer)
datagate products list --customer-id <id>

# JSON output
datagate --json customers list

Write Operations

All write commands require --confirm:

datagate customers create --name "Acme Corp" --code "50099"
datagate customers update <id> --data '{"companyName": "Acme Corp LLC"}'
datagate customers delete <id> --confirm

datagate products create --customer-id <id> --code "Internet 1Gb"
datagate sites create --customer-id <id> --name "123 Main St"

# Payments are IRREVERSIBLE — void only via DataGate portal
datagate payments create --customer-id <id> --amount 100.00 --confirm

MCP Tools

Tool

Description

list_customers

List customers with pagination

get_customer

Get single customer by ID

search_invoices

Search invoices by date/period

get_invoice_details

Invoice with line-item transactions

list_products

Products with pricing, filterable by customer

get_product

Single product with charges

list_agreements

Billing agreements, filterable by customer

get_agreement

Single agreement

list_sites

Physical locations, filterable by customer

list_customer_users

Portal login accounts

list_service_items

Service items

list_rate_cards

Rate cards

list_kit_templates

Kit templates

Rate Limits

  • 60 calls/minute

  • 5,000 calls/day

  • The client automatically paces requests to stay within limits.

License

MIT

Available Tools

13 tools
get_agreementA

Get a single agreement by ID.

Note: DataGate returns this as an array (API quirk).

Inputs: agreement_id (required).

get_customerA

Get a single customer by ID (UUID).

Returns full customer details including address, agreement, account manager, delivery method, tax rate, and custom fields.

Inputs: customer_id (required).

get_invoice_detailsB

Get full invoice details with line-item transactions.

Returns the invoice header plus transactions array. Each transaction has productCode, productLabel, quantity, amount (commission base), tax, and total.

Inputs: invoice_id (required).

get_productB

Get a single product by ID with full charge details.

Inputs: product_id (required).

list_agreementsA

List billing agreements.

Most customers have a single "Default Agreement" with billing frequency and payment terms. Filter by customer_id to see a specific customer's agreements.

Inputs: customer_id, page, page_size.

list_customersB

List all customers with pagination.

Returns customers with company name, code, address, active status, and billing config. Default page_size is 50, max varies by DataGate config.

Inputs: page, page_size.

list_customer_usersC

List portal login accounts for customers.

Inputs: page, page_size.

list_kit_templatesD

List kit templates.

Inputs: page, page_size.

list_productsA

List products/services with pricing.

Optionally filter by customer_id (UUID). Products include charges with sell amounts, which represent recurring or one-time billing.

Args: customer_id: Filter to a specific customer's products. page: Page number (1-indexed). page_size: Results per page (default 50).

Inputs: customer_id, page, page_size.

list_rate_cardsD

List rate cards.

Inputs: page, page_size.

list_service_itemsC

List service items, optionally filtered by customer or site.

Inputs: customer_id, site, page, page_size.

list_sitesA

List physical site locations.

Sites are addresses associated with customers. Filter by customer_id to see a specific customer's locations.

Inputs: customer_id, page, page_size.

search_invoicesA

Search invoices with optional filters.

Args: invoice_date: Exact invoice date (YYYY-MM-DD). For monthly billing, use the 1st of the month (e.g., "2026-01-01" for December billing). period_start: Billing period start date (YYYY-MM-DD). period_end: Billing period end date (YYYY-MM-DD). page: Page number (1-indexed). page_size: Results per page (default 50).

Returns invoices with number, dates, customer, amounts, and status.

Inputs: invoice_date, period_start, period_end, page, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 13 tools

    Disambiguation5/5

    Each tool targets a distinct resource or action: get/list for individual vs collection, with separate tools for agreements, customers, invoices, products, sites, etc. No overlap in functionality.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern (get_*, list_*, search_*) using snake_case, making the set predictable and easy to navigate.

    Tool Count5/5

    13 tools cover the core entities of a billing/agreement domain without being excessive. Each tool serves a clear purpose within the scope.

    Completeness3/5

    Read operations are present for most entities, but missing individual get endpoints for customer users, kit templates, rate cards, service items, and sites reduces retrieval completeness. No write/update tools, though likely intentional.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      This is an MCP server for the BillingServ API. Once it's set up, your AI assistant can look up customers, invoices, orders, packages, and reports straight from your BillingServ installation
      3
      75 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      MCP server providing access to the easybill REST API for managing invoices, customers, articles, payments, projects, and time tracking, with read-only mode by default.
      28
      27 npm
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server providing guarded access to a B2B SaaS billing database (customers, subscriptions, invoices, credit notes) and live ECB exchange rates, with read-only tools and one capped, idempotent write for issuing credit notes.
      -