Skip to main content
Glama
MSPbotsAI

pax8-mcp

by MSPbotsAI

pax8-mcp

Stateless HTTP MCP service for the Pax8 Partner API. Exposes Pax8 data as MCP tools so AI assistants can query companies, subscriptions, invoices, orders, products, and usage data.

Architecture

  • Stateless — no user state or credentials stored between requests

  • Per-request auth — access token passed via X-Pax8-Token header on every call

  • Concurrent-safe — Python contextvars isolate credentials across parallel requests

  • Transports — HTTP (production) or stdio (development)

Related MCP server: crewio-mcp

Endpoints

Endpoint

Description

POST /mcp

MCP protocol entry point (JSON-RPC)

GET /health

Health check

Default port: 8080

Authorization

Pass your Pax8 access token in every /mcp request:

X-Pax8-Token: <your_access_token>

The service forwards the token as Authorization: Bearer <token> to the Pax8 API. Tokens are never stored globally — each request is fully isolated.

Tool List

Tool

Description

Key Parameters

pax8_list_companies

List companies in the partner account

page, size, sort, name

pax8_list_company_contacts

List contacts for a company

company_id, page, size

pax8_list_subscriptions

List subscriptions

page, size, sort, company_id, status, product_id

pax8_list_subscription_usage_summaries

List usage summaries for a subscription

subscription_id, page, size

pax8_list_invoices

List invoices

page, size, sort, company_id, status

pax8_list_invoice_items

List line items for an invoice

invoice_id, page, size

pax8_list_orders

List orders

page, size, sort, company_id, status

pax8_list_products

List products in the Pax8 marketplace

page, size, sort, vendor_name, product_name

pax8_list_usage_summary_lines

List usage lines for a usage summary

usage_summary_id, page, size

Parameter Details

Pagination (all list tools):

  • page — zero-based page number (default: 0)

  • size — results per page (default: 10)

  • sort — field and direction, e.g. "name,asc" or "createdDate,desc"

pax8_list_subscriptions status values: Active, Cancelled, PendingManual, PendingAutomated, PendingCancel, Terminated, Expired, Trial

Quick Start

Local development (env mode)

# Copy and edit environment config
cp .env.example .env
# Set PAX8_API_TOKEN and AUTH_MODE=env in .env

# Install dependencies
uv sync

# Run the server
MCP_TRANSPORT=http AUTH_MODE=env python -m pax8_mcp

Docker (gateway mode — production)

docker build -t pax8-mcp .
docker run -p 8080:8080 -e AUTH_MODE=gateway pax8-mcp

Or with Docker Compose:

docker compose up

Test Examples

Health check:

curl http://localhost:8080/health
# {"status":"ok","transport":"http","auth_mode":"gateway"}

List companies:

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -H "X-Pax8-Token: <your_access_token>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "pax8_list_companies",
      "arguments": {"page": 0, "size": 5}
    }
  }'

List subscriptions for a company:

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -H "X-Pax8-Token: <your_access_token>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "pax8_list_subscriptions",
      "arguments": {"company_id": "<company_uuid>", "status": "Active"}
    }
  }'

List invoice items:

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -H "X-Pax8-Token: <your_access_token>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "pax8_list_invoice_items",
      "arguments": {"invoice_id": "<invoice_uuid>"}
    }
  }'

List usage lines for a usage summary:

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -H "X-Pax8-Token: <your_access_token>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 4,
    "method": "tools/call",
    "params": {
      "name": "pax8_list_usage_summary_lines",
      "arguments": {"usage_summary_id": "<usage_summary_uuid>"}
    }
  }'

Configuration Reference

Variable

Default

Description

PAX8_API_TOKEN

Access token (env mode only)

PAX8_BASE_URL

https://api.pax8.com/v1

Pax8 API base URL

PAX8_AUTH_HEADER

X-Pax8-Token

MCP request header carrying the token

MCP_TRANSPORT

stdio

http for production, stdio for local dev

MCP_HTTP_PORT

8080

HTTP listen port

MCP_HTTP_HOST

0.0.0.0

HTTP listen host

AUTH_MODE

gateway

gateway (per-request, SOP-compliant) or env (dev only)

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Hosted HTTP MCP server that exposes Crewio CRM as tools for AI assistants, enabling CRUD operations on deals, contacts, companies, comments, and full-text search.
  • A
    license
    A
    quality
    D
    maintenance
    Model Context Protocol (MCP) server for Microsoft Dynamics 365 Business Central. Provides AI assistants with direct access to Business Central data through properly formatted API v2.0 calls.
    6
    30
    8
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Provides reusable MCP tools for Amazon Connect AI Agents and Bedrock AgentCore to look up customers, manage support tickets, schedule appointments, update CRM records, retrieve knowledge, and create tasks.
    7

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MSPbotsAI/pax8-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server