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
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
Metadata
Release files for datagate-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| datagate_mcp-0.1.1.tar.gz | 8.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| datagate_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.9 kB
Release files / datagate_mcp-0.1.1.tar.gz
| Download URL | datagate_mcp-0.1.1.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
57dd9809d03e49a99dd9d6cb7ea731aa9575d33169c55bf989f0b72544b7fa7a
|
|
BLAKE2b-256 checksum How to use checksums |
b539b2c0f64e2f4ca29b73465b8d37619d7b4512f6a79bf48dc733020e8f070e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / datagate_mcp-0.1.1-py3-none-any.whl
| Download URL | datagate_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b8454bae12a74b99f22b1c6c2310ae520349eb3cd4d9e453bbc7314681a55f2c
|
|
BLAKE2b-256 checksum How to use checksums |
71bf98154ed0c50cd5ffb63027aaf25a4fdd81cda4dd4d0328f5acabef97805e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|