Pax8 MCP
MCPB · PAX8-MCP.MCPB
Every Pax8 Partner API endpoint, plus an offline store that reconciles billing, tracks MRR, and
Available components
Last scanned (1 hour ago)
Scores higher than 84% of MCPB servers
Category Finance and Payments
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 12 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability57
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 13164 tokens (~274/item across 48 items; 48 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management99
- Stability check failed: the tool surface changed between 0.1.4 and 0.1.8: 0 tool removals, 1 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 48 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 96 to 99.
- 31 Oct 26 −1
- Package version: 0.1.4 → 0.1.8 functional
- 27 Oct 26 0
- Package version: 0.1.4 → 0.1.8 functional
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 96 to 99.
- 24 Oct 26 0
- Package version: 0.1.4 → 0.1.8 functional
- 23 Oct 26 +1
- Stability: 0.90 → fail ▼ security
- Package version: 0.1.6 → 0.1.8 functional
- Package version: 0.1.6 → 0.1.7 functional
- 22 Oct 26 0
- Tool safety: pass → unverified ▼ security
- Stability: 0.87 → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 0.1.5 → 0.1.6 functional
- 21 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed mcpb/https://github.com/Servosity/msp-skills/releases/download/pax8-v0.1.8/pax8-mcp.mcpb@0.1.8
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analytics ~521
Analyze locally synced data with count, group-by, and summary operations. Data must be synced first with the sync command.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| group-by | string | – | Field to group by |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| ignore-missing | boolean | – | Treat missing delete targets as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| limit | number | – | Max groups to show (default: 25) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| type | string | – | Resource type to analyze |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
companies_contacts_create ~123
Creates a new Contact. Required: companyId, email, firstName, lastName, phone. Optional: createdDate, id, types. Returns array of ContactType.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | Company id |
| createdDate | string | – | The created date |
| string | yes | The email | |
| firstName | string | yes | The first name |
| id | string | – | The id |
| lastName | string | yes | The last name |
| phone | string | yes | The phone number |
| types | string | – | Types |
No output schema declared.
No examples provided.
companies_contacts_delete ~44
Deletes a contact. Required: companyId, contactId. Destructive.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | Company id |
| contactId | string | yes | Contact id |
No output schema declared.
No examples provided.
companies_contacts_get ~87
Returns a paginated list of contacts ordered by ```createDate``` descending. Required: companyId. Optional: page (default: 0), size (default: 10).
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | Company id |
| page | number | – | The page number to request for in the contacts list |
| size | number | – | Return this number of company records per page |
No output schema declared.
No examples provided.
companies_contacts_get-companies ~43
Returns a contact. Required: companyId, contactId.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | Company id |
| contactId | string | yes | Contact id |
No output schema declared.
No examples provided.
companies_contacts_update ~136
Update a contacts information. Required: companyId, contactId, email, firstName, lastName, phone. Optional: createdDate, id, types. Returns array of ContactType.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | Company id |
| contactId | string | yes | Contact id |
| createdDate | string | – | The created date |
| string | yes | The email | |
| firstName | string | yes | The first name |
| id | string | – | The id |
| lastName | string | yes | The last name |
| phone | string | yes | The phone number |
| types | string | – | Types |
No output schema declared.
No examples provided.
companies_create-company ~415
Creates a new company. You can optionally include contacts in the request body to create the company with contacts in a single request. If no contacts are provided, the company will be placed in an 'inactive' status until the [company has primary contacts added](#tag/Contacts). Once contacts are added, the company will move to 'Active'. Required: address, billOnBehalfOfEnabled, name, orderApprovalRequired, phone, selfServiceAllowed, website. Optional: contacts, externalId, id (plus 2 more). Returns array of Contact.
| Name | Type | Req | Description |
|---|---|---|---|
| address-city | string | – | The city |
| address-country | string | – | The ISO 3166-1 alpha-2 code for the country |
| address-postal-code | string | – | The postal code |
| address-state-or-province | string | – | The state or province |
| address-street | string | – | The primary street information |
| address-street2 | string | – | The secondary street information |
| billOnBehalfOfEnabled | boolean | yes | Value is ```true``` if Pax8 handles billing transactions, value is ```false``` if partner handles billing transactions |
| contacts | string | – | Optional array of contacts to create with the company. |
| externalId | string | – | An external ID that can be assigned to the company for reference |
| id | string | – | The unique id of the company |
| name | string | yes | The company name |
| orderApprovalRequired | boolean | yes | Value is ```true``` if the company's self-service orders require approval, otherwise value is ```false``` |
| phone | string | yes | The primary phone number of the company |
| selfServiceAllowed | boolean | yes | Value is ```true``` if self-service privileges are available to the company, otherwise value is ```false``` |
| status | string | – | Company Status |
| updatedDate | string | – | The date and time the company was last updated |
| website | string | yes | The full URL of the company website |
No output schema declared.
No examples provided.
companies_find ~259
Returns a paginated list of all your companies filtered by optional parameters. Optional: page (default: 0), size (default: 10), sort (plus 8 more).
| Name | Type | Req | Description |
|---|---|---|---|
| billOnBehalfOfEnabled | boolean | – | Return only companies matching this ```billOnBehalfOfEnabled``` value |
| city | string | – | Return only companies matching this ```city``` value |
| country | string | – | Return only companies matching this ```country``` value |
| orderApprovalRequired | boolean | – | Return only companies matching this ```orderApprovalRequired``` value |
| page | number | – | The page number to request for in the companies list |
| postalCode | string | – | Return only companies matching this ```postalCode``` value |
| selfServiceAllowed | boolean | – | Return only companies matching this ```selfServiceAllowed``` value |
| size | number | – | Return this number of company records per page |
| sort | string | – | Return companies sorted by this field and direction. Formatted as fieldName,direction - ex. sort=name,desc |
| stateOrProvince | string | – | Return only companies matching this ```stateOrProvince``` value |
| status | string | – | Return only companies matching this ```status``` value |
No output schema declared.
No examples provided.
companies_get ~37
Returns a single company record matching the ```companyId``` you specify. Required: companyId.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | Company id |
No output schema declared.
No examples provided.
companies_update-company ~325
Updates an existing Company. ATTENTION - at least one parameter has to be modified. Required: companyId. Optional: address, billOnBehalfOfEnabled, externalId (plus 7 more). Returns array of Contact.
| Name | Type | Req | Description |
|---|---|---|---|
| address-city | string | – | The city |
| address-country | string | – | The ISO 3166-1 alpha-2 code for the country |
| address-postal-code | string | – | The postal code |
| address-state-or-province | string | – | The state or province |
| address-street | string | – | The primary street information |
| address-street2 | string | – | The secondary street information |
| billOnBehalfOfEnabled | boolean | – | Value is ```true``` if Pax8 handles billing transactions, value is ```false``` if partner handles billing transactions |
| companyId | string | yes | Company id |
| externalId | string | – | An external ID that can be assigned to the company for reference |
| id | string | – | The unique id of the company |
| name | string | – | The company name |
| orderApprovalRequired | boolean | – | Value is ```true``` if the company's self-service orders require approval, otherwise value is ```false``` |
| phone | string | – | The primary phone number of the company |
| selfServiceAllowed | boolean | – | Value is ```true``` if self-service privileges are available to the company, otherwise value is ```false``` |
| status | string | – | Company Status |
| website | string | – | The full URL of the company website |
No output schema declared.
No examples provided.
company ~464
company subcommands: show
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| ignore-missing | boolean | – | Treat missing delete targets as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
company_show ~577
Customer-360: join a company to its subscriptions, contacts, invoices, and usage from the local store in a single view. Run 'pax8-cli sync' first. Use this command to assemble one company's full picture (its subscriptions, contacts, invoices, usage) by company ID. Do NOT use this command to rank or total spend across all customers; use 'spend' instead. Do NOT use this command for billing-mismatch detection; use 'reconcile' instead.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| ignore-missing | boolean | – | Treat missing delete targets as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
context ~29
Get API domain context: resource taxonomy, auth requirements, query tips, and unique capabilities. Call this first.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
export ~564
Export paginated API data to a local file. Supports JSONL (one JSON object per line, streaming-friendly) and JSON (array). JSONL is recommended for large datasets as it has no memory pressure.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| format | string | – | Output format: jsonl or json (default: jsonl) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| ignore-missing | boolean | – | Treat missing delete targets as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| limit | number | – | Maximum records to export (0 = unlimited) (default: 0) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache for fresh data (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
import ~539
Import data from a JSONL file by issuing POST requests for each record. Each line must be a valid JSON object. Failed records are logged to stderr but do not stop the import.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| batch-size | number | – | Records per batch (future: batch API support) (default: 1) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Preview import without sending requests (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| ignore-missing | boolean | – | Treat missing delete targets as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
invoices_find-partner ~302
Fetch a paginated list of invoices. Default page is 0 and default size is 10. The maximum page size is 200. Optional: page (default: 0), size (default: 10), sort (plus 9 more). Returns array of Invoice.
| Name | Type | Req | Description |
|---|---|---|---|
| balance | number | – | Return only invoices matching this ```balance``` value |
| carriedBalance | number | – | Return only invoices matching this ```carriedBalance``` value |
| companyId | string | – | Return only invoices matching this ```companyId``` value |
| dueDate | string | – | Return only invoices matching this ```dueDate``` value |
| invoiceDate | string | – | Return only invoices matching this ```invoiceDate``` value |
| invoiceDateRangeEnd | string | – | Return only invoices with an ```invoiceDate``` less than or equal to this date |
| invoiceDateRangeStart | string | – | Return only invoices with an ```invoiceDate``` greater than or equal to this date |
| page | number | – | The page number to request in the invoices list |
| size | number | – | Returns _this_ number of invoices per page |
| sort | string | – | Return invoices sorted by this field and direction Formatted as fieldName,direction - ex. sort=invoiceDate,desc |
| status | string | – | Return only invoices matching this ```status``` value |
| total | number | – | Return only invoices matching this ```total``` value |
No output schema declared.
No examples provided.
invoices_find-partner-draft-items ~264
Fetch a paginated list of draft invoice items before they are finalized into invoices. Default page is 0 and default size is 10. The maximum page size is 200. DISCLAIMER: For future-dated items, the data represents a snapshot of charges that will be applied to a future invoice as of the request date. This is not an actual invoice. Clients should be aware that the final invoice generated on the 5th of the month may differ. This endpoint does not include charges for usage-based products billed in arrears. Tax calculations are based on current account taxability status and current month tax rates, both of which are subject to change for future invoices. Optional: page (default: 0), size (default: 10), monthOffset (default: 1) (plus 1 more). Returns array of InvoiceItem.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | Filter draft items to a specific company. |
| monthOffset | number | – | Number of months from current to return draft items for. 0 = current month, 1 = next month. |
| page | number | – | The page number to request in the draft invoice items list |
| size | number | – | Returns _this_ number of draft invoice items per page |
No output schema declared.
No examples provided.
invoices_get-partner ~58
Fetch a paginated list of invoices. Default page is 0 and default size is 10. The maximum page size is 200. Required: invoiceId. Returns the Invoice.
| Name | Type | Req | Description |
|---|---|---|---|
| invoiceId | string | yes | The invoice id |
No output schema declared.
No examples provided.
invoices_items_find-partner-invoice ~114
Fetch a paginated list of invoice items. Default page is 0 and default size is 10. The maximum page size is 200. Required: invoiceId. Optional: page (default: 0), size (default: 10). Returns array of InvoiceItem.
| Name | Type | Req | Description |
|---|---|---|---|
| invoiceId | string | yes | The invoice id |
| page | number | – | The page number to request in the invoices items list |
| size | number | – | Returns _this_ number of invoices items per page |
No output schema declared.
No examples provided.
mrr ~586
Compute monthly recurring revenue (MRR) and margin from the local store. MRR is the sum of subscription price x quantity for active subscriptions; margin subtracts partner cost. Broken down by product. Run 'pax8-cli sync' first. Use this command for monthly recurring revenue and margin totals, with a per-product breakdown in the output. Do NOT use this command for what changed week-over-week; use 'since' instead. Do NOT use this command for per-customer spend rollups; use 'spend' instead.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| all | boolean | – | Include cancelled/inactive subscriptions in the totals (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| ignore-missing | boolean | – | Treat missing delete targets as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
orders_create ~199
Create a new order. Currently NOT supported for scheduled orders(orders with a future date). Required: companyId, lineItems. Optional: isMock, createdDate, id (plus 4 more). Returns array of LineItem.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | unique id of the purchasing company ie. end-user |
| createdDate | string | – | the date the order was created |
| id | string | – | unique id of the order |
| isMock | boolean | – | Perform validations only. Skip any interactions with the database. |
| isScheduled | boolean | – | is ```true``` if order is future dated |
| lineItems | string | yes | Line items |
| orderedBy | string | – | the type of user who created the order |
| orderedByUserEmail | string | – | the email address of the user who created this order |
| orderedByUserId | string | – | unique id of the user who created this order |
No output schema declared.
No examples provided.
orders_find ~87
Returns a paginated list of orders. Currently NOT supported for scheduled orders(orders with a future date). Optional: page (default: 0), size (default: 10), companyId.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | The company id to filter on |
| page | number | – | The page number to request for in the orders list |
| size | number | – | Size |
No output schema declared.
No examples provided.
orders_find-by-id ~46
Returns the Order record specified by OrderId. Currently NOT supported for scheduled orders. Required: orderId.
| Name | Type | Req | Description |
|---|---|---|---|
| orderId | string | yes | The unique identifier for an order record |
No output schema declared.
No examples provided.
overage ~548
Surface metered-usage overages from the local store before they invoice. For each product, the command computes the average current usage charge across all synced usage summaries, then flags summaries whose charges exceed that average by the threshold factor (default 1.5x). Run 'pax8-cli sync' first.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| ignore-missing | boolean | – | Treat missing delete targets as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| threshold | number | – | Flag usage charges exceeding this multiple of the product average (default: 1.5) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
products_dependencies_find-product-by-product-id ~46
Returns associated dependencies for the specified ```productId```. A products dependencies are dynamic data. Required: productId.
| Name | Type | Req | Description |
|---|---|---|---|
| productId | string | yes | Product id |
No output schema declared.
No examples provided.
products_find-all ~143
Returns a paginated list of Pax8 products filtered by optional query parameters. Optional: page (default: 0), size (default: 10), sort (plus 2 more).
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | – | The page number to request for in the products list |
| search | string | – | Search on fields like name, vendor, SKU and ID. |
| size | number | – | Return this number of products per page |
| sort | string | – | Return products sorted by the field and direction specified. Formatted as fieldName, direction - ex. sort=name,desc |
| vendorName | string | – | Return only products matching the specified vendor name |
No output schema declared.
No examples provided.
products_find-by-id ~37
Returns only the product record for the productId you specify. Required: productId.
| Name | Type | Req | Description |
|---|---|---|---|
| productId | string | yes | Product id |
No output schema declared.
No examples provided.
products_pricing_find-by-product-id ~73
Returns recommended pricing and partner cost for the specified productId. A products pricing is dynamic data. Required: productId. Optional: companyId.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | Use the companyId in the query to see company-specific pricing |
| productId | string | yes | The product id |
No output schema declared.
No examples provided.
products_provision-details_find-by-product-id ~48
Returns provisioning details for the specified productId. Provisioning details for a product are dynamic data. Required: productId.
| Name | Type | Req | Description |
|---|---|---|---|
| productId | string | yes | Product id |
No output schema declared.
No examples provided.
reconcile ~659
Reconcile billing against subscriptions from the local store. Surfaces two leakage classes the Pax8 portal can't show in one place: • Companies that were invoiced but have no active subscription (billed-but-cancelled) • Companies with active subscriptions but no invoice (active-but-unbilled) With --draft, the same join runs against the NEXT (draft, unposted) invoice lines instead of posted invoices, so leakage is caught before the invoice finalizes. Sync 'invoices-draft-items' first for draft mode. Use this command to find billing mismatches between invoices and subscriptions. Do NOT use this command to roll up a single customer's spend across invoices; use 'spend' instead. Do NOT use this command for revenue/margin totals; use 'mrr' instead. Run 'pax8-cli sync' first.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| draft | boolean | – | Reconcile against the next (draft, unposted) invoice lines instead of posted invoices (default: false) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| ignore-missing | boolean | – | Treat missing delete targets as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
search ~64
Full-text search across all synced data. Faster than paginating list endpoints. Requires sync first.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results (default 25) |
| query | string | yes | Search query (supports FTS5 syntax: AND, OR, NOT, quotes for phrases) |
No output schema declared.
No examples provided.
since ~594
Show subscription changes within a recent window from the local store. Reads the synced subscription history plus current subscriptions to surface what changed — new subscriptions, cancellations, and quantity/price changes — within the window (default 30d). Run 'pax8-cli sync' first. Use this command to see what changed in the book of business over a window (new, cancelled, quantity-changed subscriptions). Do NOT use this command for revenue totals; use 'mrr' instead. Do NOT use this command for a single customer's full picture; use 'company show' instead.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| ignore-missing | boolean | – | Treat missing delete targets as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
spend ~576
Roll up invoice totals by company from the local store. Sum every synced invoice per company and rank customers by spend — a per-company rollup the Pax8 portal does not provide. Run 'pax8-cli sync' first. Use this command to rank customers by total spend across invoices. Do NOT use this command to detect billing mismatches; use 'reconcile' instead. Do NOT use this command for a single named customer's full picture; use 'company show' instead.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| ignore-missing | boolean | – | Treat missing delete targets as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| limit | number | – | Max companies to show (0 = all) (default: 25) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
sql ~93
Run read-only SQL against local database. Use for ad-hoc analysis, aggregations, and joins across synced resources. Requires sync first.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | SQL query (SELECT or WITH...SELECT). Synced records live in resources(resource_type, id, data); filter by resource_type and use json_extract on data, e.g. SELECT json_extract(data,'$.name') FROM reso… |
No output schema declared.
No examples provided.
subscriptions_delete ~57
Cancels the Subscription specified by subscriptionId. Required: subscriptionId. Optional: cancelDate. Destructive.
| Name | Type | Req | Description |
|---|---|---|---|
| cancelDate | string | – | The date to cancel the subscription on |
| subscriptionId | string | yes | subscription to be updated |
No output schema declared.
No examples provided.
subscriptions_find ~197
Fetch a paginated list of subscriptions. Default page is 0 and default size is 10. The maximum page size is 200. Optional: page (default: 0), size (default: 10), sort (plus 4 more). Returns array of Subscription.
| Name | Type | Req | Description |
|---|---|---|---|
| billingTerm | string | – | Return only subscriptions matching this ```billingTerm``` value |
| companyId | string | – | Return only subscriptions matching this ```companyId``` value |
| page | number | – | The page number to request in the subscriptions list |
| productId | string | – | Return only subscriptions matching this ```productId``` value |
| size | number | – | Returns _this_ number of subscriptions per page |
| sort | string | – | Return subscriptions sorted by this field and direction Formatted as fieldName,direction - ex. sort=createdDate,desc |
| status | string | – | Return only subscriptions matching this ```status``` value |
No output schema declared.
No examples provided.
subscriptions_find-by-id ~35
Returns the Subscription record specified by the subscriptionId. Required: subscriptionId.
| Name | Type | Req | Description |
|---|---|---|---|
| subscriptionId | string | yes | Subscription id |
No output schema declared.
No examples provided.
subscriptions_history_find-subscription-by-subscription-id ~39
Returns a list of changes for a subscription. Required: subscriptionId.
| Name | Type | Req | Description |
|---|---|---|---|
| subscriptionId | string | yes | Subscription id |
No output schema declared.
No examples provided.
subscriptions_update ~83
Updates a subscription. Currently NOT supported for subscriptions with a future date. At least one of the following fields are required: Price, BillingTerm, Quantity, StartDate.
| Name | Type | Req | Description |
|---|---|---|---|
| body_json | string | yes | Request body as a JSON object string (this endpoint accepts a polymorphic schema: oneOf/anyOf) |
| subscriptionId | string | yes | subscription to be updated |
No output schema declared.
No examples provided.
subscriptions_usage-summaries_find-subscription ~191
Fetch a paginated list of usage summaries. Default page is 0 and default size is 10. The maximum page size is 200. Required: subscriptionId. Optional: page (default: 0), size (default: 10), sort (plus 2 more). Returns array of UsageSummary.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | – | Return only usage summaries with this ```companyId``` value |
| page | number | – | The page number to request in the usage summaries list |
| resourceGroup | string | – | Return only usage summaries matching this ```resourceGroup``` value |
| size | number | – | Returns _this_ number of usage summaries per page |
| sort | string | – | Return usage summaries sorted by this field and direction Formatted as fieldName,direction - ex. sort=resourceGroup,desc |
| subscriptionId | string | yes | Subscription id |
No output schema declared.
No examples provided.
sync ~1,164
Sync data from the API into a local SQLite database. Supports resumable incremental sync (only fetches new data since last sync) and full resync. Once synced, use the 'search' command for instant full-text search. Exit codes & warnings: Resources the API denies access to (HTTP 403, or HTTP 400 with an access-policy body) are reported as warnings rather than failing the run. In --json mode each is emitted as a {"event":"sync_warning",...} line carrying status, reason, and message fields, and a final {"event":"sync_summary",...} aggregates the run. Exit 0 when at least one resource synced and no resource flagged in the spec as critical (x-critical: true) failed; non-critical failures emit {"event":"sync_warning","reason":"exit_policy_default_changed", ...} so callers can detect that a partial failure was tolerated. Pass --strict to exit non-zero on any per-resource failure. Exit is always non-zero when every selected resource failed, regardless of --strict. Resource scoping: --resources runs the named top-level resources, plus any parent-keyed dependent whose own name is listed OR whose parent table is listed. Naming a parent therefore cascades to its dependents (so "sync this parent and its children" works without listing every nested resource by hand). There is no flag today to suppress the cascade for a named parent. To run a dependent without re-syncing its parent, list only the dependent by name; the parent table must already be populated from a prior sync.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| concurrency | number | – | Number of parallel sync workers (default: 4) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| full | boolean | – | Full resync (ignore previous checkpoint) (default: false) |
| global-param | string | – | Extra query param to inject into every sync request including dependent path-scoped calls (repeatable, key=value). Use when an API requires a scope on every call regardless of path nesting. |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| ignore-missing | boolean | – | Treat missing delete targets as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| latest-only | boolean | – | Refresh head of each resource only; clears resume cursor and caps pages at 1. Mutually exclusive with --since (--since wins). (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| max-pages | number | – | Maximum pages to fetch per resource (0 = unlimited; cap-hit emits a sync_warning event) (default: 0) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| param | string | – | Extra query param to inject into flat-list sync requests (repeatable, key=value). Skipped on path-scoped dependent requests so a top-level scope like workspace=<id> does not double up on /parents/<id… |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| resource-param | string | – | Per-resource extra query param (repeatable, resource:key=value). Wins over --param and --global-param when keys conflict. |
| resources | string | – | Comma-separated resource types to sync. Naming a parent also runs its parent-keyed dependents (see Long help for scoping). |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| since | string | – | Incremental sync duration (e.g. 7d, 24h, 1w, 30m) |
| strict | boolean | – | Exit non-zero on any per-resource failure (default: only critical failures or all-resource failure exit non-zero). (default: false) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
How do I install the Pax8 MCP server?
Pax8 MCP ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 5884a605cb40c7991d961c8c02a9a472e789d9cc276a88504e7b3f8b1f6c9e8f; the commands to do that are on this page. If it does not match, do not open it.
mcpb · pax8-mcp.mcpb
Download bundleCheck the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.
SHA-256
5884a605cb40c7991d961c8c02a9a472e789d9cc276a88504e7b3f8b1f6c9e8f
macOS / Linux
echo "5884a605cb40c7991d961c8c02a9a472e789d9cc276a88504e7b3f8b1f6c9e8f pax8-mcp.mcpb" | shasum -a 256 -c
Windows (PowerShell)
(Get-FileHash -Algorithm SHA256 .\pax8-mcp.mcpb).Hash -eq "5884a605cb40c7991d961c8c02a9a472e789d9cc276a88504e7b3f8b1f6c9e8f"
Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.
What is the Pax8 MCP server?
Pax8 MCP is listed in the public MCP registry as io.github.Servosity/pax8-mcp. Every Pax8 Partner API endpoint, plus an offline store that reconciles billing, tracks MRR, and. This page covers its MCPB bundle (https://github.com/Servosity/msp-skills/releases/download/pax8-v0.1.8/pax8-mcp.mcpb).
Is the Pax8 MCP server safe to use?
Pax8 MCP scores 52 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Pax8 MCP server expose?
Pax8 MCP exposes 48 tools: analytics, companies_contacts_create, companies_contacts_delete, companies_contacts_get, companies_contacts_get-companies, and 43 more. Their descriptions and schemas cost roughly 13,164 tokens of context every time the server is loaded.
What licence is the Pax8 MCP server under?
Pax8 MCP declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.