Tabs MCP Connector — Setup & Usage Guide

Last updated: April 22, 2026

Overview

The Tabs MCP connector lets AI assistants like Claude query your billing, revenue, and contract data through the Model Context Protocol. Connect your AI tools to Tabs and ask questions in natural language — no custom integration code required.

Protocol: Model Context Protocol (MCP) over Streamable HTTP

Authentication: OAuth 2.0

Version: 1.0.0


Prerequisites

Before connecting, you'll need:

  • A Tabs platform account with access to at least one merchant

  • An MCP-compatible AI client (Claude Code, Claude Desktop, or any client supporting MCP over Streamable HTTP)

If you don't yet have a Tabs account, contact your account manager or reach out to support@tabsplatform.com to get started.


Getting Started

1. Connect Your MCP Client

Add Tabs to your MCP client configuration:

Claude Code

{
  "mcpServers": {
    "tabs": {
      "type": "url",
      "url": "<https://integrators.prod.api.tabsplatform.com/mcp>"
    }
  }
}

Claude Desktop

Add to your claude_desktop_config.json:

"mcpServers": {
    "tabs": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://integrators.prod.api.tabsplatform.com/mcp"
      ]
    }
  }

Other MCP clients

Point any Streamable HTTP-compatible MCP client at:

POST <https://integrators.prod.api.tabsplatform.com/mcp>

The server is stateless — no session management required.

2. Authenticate

When you first interact with a Tabs tool, your MCP client will prompt you to sign in via OAuth. The connector uses standard OAuth 2.0 discovery (RFC 8414 / RFC 9728), so compatible clients handle the flow automatically — no API keys or manual token management needed.

3. Select a Merchant

After authenticating, start by calling list_merchants to see which merchants your account has access to. If you only have access to one merchant, it's selected automatically. Otherwise, pass the merchant_id parameter to scope each tool call.


Available Tools

All tools are read-only (readOnlyHint: true). Every tool except list_merchants requires a merchant_id parameter.

Setup

ToolDescription

list_merchants

List all merchants your account has access to. Call this first.

merchants_info_get

Get details about a specific merchant

Customers

ToolDescription

customers_list

List customers with optional filtering by name, external ID, or last updated date

customers_get

Get a single customer by ID

customers_contacts_list

List contacts for a specific customer

Contracts

ToolDescription

contracts_list

List contracts with filtering by name, external ID, source, status, customer, or last updated date

contracts_get

Get a single contract by ID

contracts_usage_get

Get usage data for a contract, optionally filtered by event type

contracts_billing_term_groups_get

Get billing term groups for a contract

contracts_performance_obligations_get

Get performance obligations for a contract

Invoices

ToolDescription

invoices_list

List invoices with filtering by customer, contract, status, issue date, due date, and more

invoices_get

Get a single invoice (requires customer ID)

Payments

ToolDescription

payments_list

List payments with filtering by received date, status, type, invoice, or customer

payments_get

Get a single payment (requires customer and invoice IDs)

Credit Memos

ToolDescription

credit_memos_list

List credit memos with filtering by number, customer, issue date range, or status

credit_memos_get

Get a single credit memo by ID

credit_memos_by_invoice

Get all credit memos for a specific invoice

Items & Products

ToolDescription

items_list

List items with filtering by name, external ID, or external ID type

items_get

Get a single item by ID

products_list

List products with filtering by name or status

products_get

Get a single product by ID

Revenue & Commitments

ToolDescription

revenue_list

List revenue data with filtering by month range (YYYY-MM) or customer

commitments_list

List commitments with filtering by customer or contract

commitments_get

Get a single commitment by ID

Renewals & Reports

ToolDescription

renewals_list

List renewals with filtering by contract, type, status, or contract end date

reports_cash_forecasting_get

Get the cash forecasting report


Response Format

Successful tool response

Tool results are returned as JSON text content. For single-resource tools:

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "Acme Inc.",
  "parentCustomerId": null,
  "defaultCurrency": "USD",
  "primaryBillingContactName": "John Doe",
  "primaryBillingContactEmail": "john.doe@example.com",
  "secondaryBillingContacts": ["jane.doe@example.com"],
  "billingAddress": {
    "line1": "123 Main St",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94105",
    "country": "US"
  },
  "externalIds": [
    { "type": "NETSUITE", "id": "NS-10042" }
  ],
  "lastUpdatedAt": "2025-06-15T14:30:00.000Z",
  "customFields": [],
  "autoCharge": true,
  "dunningDisabled": false
}

Paginated list response

List tools return data with pagination metadata:

{
  "data": [
    { "id": "...", "name": "Acme Inc.", "..." : "..." },
    { "id": "...", "name": "Globex Corp.", "..." : "..." }
  ],
  "currentPage": 1,
  "limit": 50,
  "totalItems": 142
}

Error response

When a tool encounters an error, it returns an error message with isError: true:

{
  "error": "You do not have access to merchant abc-123. Call list_merchants to see available options."
}

Common error scenarios:

ErrorCauseResolution

Missing or invalid authorization header

No Bearer token provided

Sign in again — your MCP client will re-trigger the OAuth flow

Invalid or expired token

OAuth token has expired

Re-authenticate via your MCP client

User not found or has no manufacturer access

Account not provisioned in Tabs

Contact your Tabs admin to ensure your account has merchant access

You do not have access to merchant X

Invalid merchant_id

Call list_merchants to see your available merchants

Invalid filter property: X

Unsupported filter field

Check the tool description for supported filter properties

Invalid filter rule: X

Unrecognized filter operator

Use a supported rule: eq, neq, gt, gte, lt, lte, like, in, nin, between


Filtering

Tools that support filtering accept a filter string parameter. Use the format:

property:rule:value

Combine multiple filters with commas:

name:eq:Acme Corp,status:eq:active

Available rules:

RuleDescriptionExample

eq

Equals

status:eq:paid

neq

Not equals

status:neq:draft

gt

Greater than

total:gt:1000

gte

Greater than or equal

issueDate:gte:2025-01-01

lt

Less than

total:lt:500

lte

Less than or equal

dueDate:lte:2025-12-31

like

Contains (partial match)

name:like:Acme

in

In list

status:in:paid,overdue

nin

Not in list

status:nin:draft,void

between

Between two values

total:between:100,500

Each tool's description lists which filter properties it supports.


Pagination

List tools support pagination with two optional parameters:

ParameterTypeDefaultDescription

page

integer

1

Page number (starting at 1)

limit

integer

50

Items per page


Rate Limits

Requests are rate-limited per merchant. If you exceed the limit, the server returns HTTP 429 with a message indicating the current limit and reset window.

Rate limit headers are included on every response:

HeaderDescription

X-RateLimit-Limit

Maximum requests allowed in the current window

X-RateLimit-Remaining

Requests remaining in the current window

X-RateLimit-Reset

Time (in seconds) until the rate limit window resets

If you hit a rate limit, wait for the reset window before retrying. AI clients will typically handle this automatically.


Examples

Here are some things you can ask your AI assistant once connected:

Revenue overview

"Show me this month's revenue broken down by customer"

Overdue invoices

"Which invoices are overdue and what's the total outstanding amount?"

Contract details

"Pull up the contract for Acme Corp and show me the billing term groups"

Cash forecasting

"What does our cash forecast look like?"

Customer lookup

"Find the contact info for Wilson Electric"

The AI assistant will automatically call the right tools, handle pagination, and combine results to answer your question.


FAQ

Do I need an API key?

No. The Tabs MCP connector uses OAuth 2.0. Your MCP client handles the sign-in flow automatically.

Can AI assistants modify my data?

No. All tools are read-only. The connector can only retrieve data — it cannot create, update, or delete anything.

Which AI clients are supported?

Any MCP-compatible client that supports Streamable HTTP transport, including Claude Code, Claude Desktop, and other tools implementing the Model Context Protocol.

What data can I access?

You can access the same data available through the Tabs Integrators API: customers, contracts, invoices, payments, credit memos, items, products, revenue, commitments, renewals, and reports.

How is my data secured?

Authentication is handled via OAuth 2.0. All requests are scoped to the merchants your account has access to — you can only query data you're authorized to see.

Is there a privacy policy?

Yes. See the Tabs Privacy Policy for details on how your data is handled.


Versioning & Changelog

The Tabs MCP connector follows semantic versioning. The current version is 1.0.0.

Breaking changes will be communicated in advance via email and release notes. Non-breaking additions (new tools, new filter properties) are deployed continuously.

VersionDateNotes

1.0.0

April 2026

Initial release — 26 read-only tools across billing, revenue, contracts, and more


Support

If you need help or run into issues:

When reaching out, include the error message and the tool name you were calling so we can help quickly.