_ registry / mcp streamable-http · checked 1h ago

chargeover-mcp

https://chargeover.usefulapi.io

Registry code: c6c03e45e0020eaa

api record

Tools for ChargeOver, hosted by usefulapi.io. Read-only tools never change data; ask the user before a tool that creates, changes or deletes ChargeOver data. Free plan: 100 tool calls per month. Run chargeover_usage_status to see the calls used this month. If the user asks for something none of these tools can do, tell the user and, with their OK, run chargeover_request_feature to record the request. Pro (unlimited calls, $9/month or $90/year): when the user wants more calls or reaches the limit, run chargeover_upgrade; it returns a Stripe Checkout link for the user to open.…

endpoint
https://chargeover.usefulapi.io/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is chargeover-mcp live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is chargeover-mcp free to use?
No — it asks for a key or a login before it will serve.
What tools does chargeover-mcp have?
25 tools: chargeover_list_coupons, chargeover_get_quote, chargeover_get_item, chargeover_run_report, chargeover_update_customer, chargeover_list_items, chargeover_get_subscription, chargeover_create_customer, ….
Is chargeover-mcp safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
408ms

last good check

priced tools
0

of 25 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 25 tools
25 auth-required 25 of 25 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • chargeover_list_coupons auth-required 1h ago

    List coupons (code, description, type, enabled, linked discount item). Filterable fields: none documented; the list is small. Paged: pass next_offset as offset. GET /coupon.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Records per page, 1-500 (default 50)."
        },
        "order": {
          "type": "string",
          "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
          "description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (default 0). Use next_offset from the previous reply."
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field",
              "op"
            ],
            "properties": {
              "op": {
                "enum": [
                  "EQUALS",
                  "NOTEQUALS",
                  "GT",
                  "GTE",
                  "LT",
                  "LTE",
                  "CONTAINS",
                  "IS:NULL",
                  "ISNOT:NULL"
                ],
                "type": "string",
                "description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value)."
              },
              "field": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
                "description": "Filter field (the list tool's description names the valid ones)."
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ],
                "description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
              }
            }
          },
          "maxItems": 10,
          "description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}]."
        }
      }
    }
    arguments 72 lines
  • chargeover_get_quote auth-required never probed

    Get one quote by quote_id: status, line items, totals, memo, links to the invoice or subscription it became. GET /quote/{quote_id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The quote_id (a number).",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • chargeover_get_item auth-required never probed

    Get one item (product, service or discount) by item_id: name, type, SKU, pricing tiers per currency. GET /item/{item_id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The item_id (a number).",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • chargeover_run_report auth-required never probed

    Run a saved report and return its rows (read only; nothing is changed). Filters use the report's own field names from chargeover_get_report, for example [{field:'transaction_transaction_date',op:'GTE',value:'2026-01-01'}]. Operators vary by field (dates GTE/LTE/EQUALS, ids EQUALS, strings CONTAINS/DOES_NOT_CONTAIN). To page (offset > 0) an order is required. Max 1000 rows per page. POST /_report/{report_id}/_action/reportData.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "report_id"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 1,
          "description": "Rows per page, 1-1000 (default 100)."
        },
        "order": {
          "type": "string",
          "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
          "description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (default 0). Use next_offset from the previous reply."
        },
        "columns": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$"
          },
          "maxItems": 60,
          "description": "Column names to return (default: the report's default columns)."
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field",
              "op",
              "value"
            ],
            "properties": {
              "op": {
                "enum": [
                  "EQUALS",
                  "NOTEQUALS",
                  "GT",
                  "GTE",
                  "LT",
                  "LTE",
                  "CONTAINS",
                  "DOES_NOT_CONTAIN"
                ],
                "type": "string"
              },
              "field": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$"
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ]
              }
            }
          },
          "maxItems": 10,
          "description": "Report filters (combined with AND)."
        },
        "report_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The report_id from chargeover_list_reports.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 87 lines
  • chargeover_update_customer auth-required never probed

    WRITE: change fields of an existing customer; send only the fields to change. Cannot touch payment methods, balances or status. Replaces the previous values of the fields you send. PUT /customer/{customer_id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "customer_id"
      ],
      "properties": {
        "company": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "description": "New company / customer name."
        },
        "bill_city": {
          "type": "string",
          "maxLength": 100,
          "description": "Billing city."
        },
        "ship_city": {
          "type": "string",
          "maxLength": 100,
          "description": "Shipping city."
        },
        "bill_addr1": {
          "type": "string",
          "maxLength": 255,
          "description": "Billing address line 1."
        },
        "bill_addr2": {
          "type": "string",
          "maxLength": 255,
          "description": "Billing address line 2."
        },
        "bill_state": {
          "type": "string",
          "maxLength": 100,
          "description": "Billing state/province."
        },
        "ship_addr1": {
          "type": "string",
          "maxLength": 255,
          "description": "Shipping address line 1."
        },
        "ship_addr2": {
          "type": "string",
          "maxLength": 255,
          "description": "Shipping address line 2."
        },
        "ship_state": {
          "type": "string",
          "maxLength": 100,
          "description": "Shipping state/province."
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The customer_id to update.",
          "exclusiveMinimum": 0
        },
        "bill_country": {
          "type": "string",
          "maxLength": 100,
          "description": "Billing country."
        },
        "external_key": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Your own unique id for the customer (cannot be reused by default, even after deletion)."
        },
        "ship_country": {
          "type": "string",
          "maxLength": 100,
          "description": "Shipping country."
        },
        "bill_postcode": {
          "type": "string",
          "maxLength": 30,
          "description": "Billing postal code."
        },
        "ship_postcode": {
          "type": "string",
          "maxLength": 30,
          "description": "Shipping postal code."
        },
        "superuser_email": {
          "type": "string",
          "format": "email",
          "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
          "maxLength": 254,
          "description": "Primary contact email address."
        },
        "superuser_phone": {
          "type": "string",
          "maxLength": 50,
          "description": "Primary contact phone number."
        },
        "superuser_last_name": {
          "type": "string",
          "maxLength": 100,
          "description": "Primary contact last name."
        },
        "superuser_first_name": {
          "type": "string",
          "maxLength": 100,
          "description": "Primary contact first name."
        }
      }
    }
    arguments 109 lines
  • chargeover_list_items auth-required never probed

    List items: the products, services and discounts that go on invoices, quotes and subscriptions, with their pricing tiers. Filterable fields: item_id, name, external_key, accounting_sku, item_type (service or discount), custom_1, custom_2, custom_3. Paged: pass next_offset as offset. GET /item.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Records per page, 1-500 (default 50)."
        },
        "order": {
          "type": "string",
          "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
          "description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (default 0). Use next_offset from the previous reply."
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field",
              "op"
            ],
            "properties": {
              "op": {
                "enum": [
                  "EQUALS",
                  "NOTEQUALS",
                  "GT",
                  "GTE",
                  "LT",
                  "LTE",
                  "CONTAINS",
                  "IS:NULL",
                  "ISNOT:NULL"
                ],
                "type": "string",
                "description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value)."
              },
              "field": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
                "description": "Filter field (the list tool's description names the valid ones)."
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ],
                "description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
              }
            }
          },
          "maxItems": 10,
          "description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}]."
        }
      }
    }
    arguments 72 lines
  • chargeover_get_subscription auth-required never probed

    Get one subscription (package) by package_id: status, payment cycle, pay method, next invoice date, line items. GET /package/{package_id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The package_id (a number).",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • chargeover_create_customer auth-required never probed

    WRITE: create a new customer (no charge, no invoice, no email is sent by this call). Returns the new customer_id. Add a primary contact with the superuser_* fields. Use chargeover_list_customers first to avoid a duplicate (external_key is unique). POST /customer.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "company"
      ],
      "properties": {
        "company": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "description": "Company / customer name."
        },
        "bill_city": {
          "type": "string",
          "maxLength": 100,
          "description": "Billing city."
        },
        "ship_city": {
          "type": "string",
          "maxLength": 100,
          "description": "Shipping city."
        },
        "bill_addr1": {
          "type": "string",
          "maxLength": 255,
          "description": "Billing address line 1."
        },
        "bill_addr2": {
          "type": "string",
          "maxLength": 255,
          "description": "Billing address line 2."
        },
        "bill_state": {
          "type": "string",
          "maxLength": 100,
          "description": "Billing state/province."
        },
        "ship_addr1": {
          "type": "string",
          "maxLength": 255,
          "description": "Shipping address line 1."
        },
        "ship_addr2": {
          "type": "string",
          "maxLength": 255,
          "description": "Shipping address line 2."
        },
        "ship_state": {
          "type": "string",
          "maxLength": 100,
          "description": "Shipping state/province."
        },
        "bill_country": {
          "type": "string",
          "maxLength": 100,
          "description": "Billing country."
        },
        "external_key": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Your own unique id for the customer (cannot be reused by default, even after deletion)."
        },
        "ship_country": {
          "type": "string",
          "maxLength": 100,
          "description": "Shipping country."
        },
        "bill_postcode": {
          "type": "string",
          "maxLength": 30,
          "description": "Billing postal code."
        },
        "ship_postcode": {
          "type": "string",
          "maxLength": 30,
          "description": "Shipping postal code."
        },
        "superuser_email": {
          "type": "string",
          "format": "email",
          "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
          "maxLength": 254,
          "description": "Primary contact email address."
        },
        "superuser_phone": {
          "type": "string",
          "maxLength": 50,
          "description": "Primary contact phone number."
        },
        "parent_customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Parent customer id, to create a child customer.",
          "exclusiveMinimum": 0
        },
        "superuser_last_name": {
          "type": "string",
          "maxLength": 100,
          "description": "Primary contact last name."
        },
        "superuser_first_name": {
          "type": "string",
          "maxLength": 100,
          "description": "Primary contact first name."
        }
      }
    }
    arguments 109 lines
  • chargeover_list_contacts auth-required 1h ago

    List contacts (the people at customers; the API calls them users). Filterable fields: user_id, external_key, first_name, last_name, email, phone, user_type_id, username, customers.customer_id (contacts of one customer). Paged: pass next_offset as offset. GET /user.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Records per page, 1-500 (default 50)."
        },
        "order": {
          "type": "string",
          "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
          "description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (default 0). Use next_offset from the previous reply."
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field",
              "op"
            ],
            "properties": {
              "op": {
                "enum": [
                  "EQUALS",
                  "NOTEQUALS",
                  "GT",
                  "GTE",
                  "LT",
                  "LTE",
                  "CONTAINS",
                  "IS:NULL",
                  "ISNOT:NULL"
                ],
                "type": "string",
                "description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value)."
              },
              "field": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
                "description": "Filter field (the list tool's description names the valid ones)."
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ],
                "description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
              }
            }
          },
          "maxItems": 10,
          "description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}]."
        }
      }
    }
    arguments 72 lines
  • chargeover_list_customers auth-required 1h ago

    List customers (companies that are billed). Filterable fields: customer_id, parent_customer_id, bill_state, ship_state, bill_country, ship_country, external_key, token, company, superuser_id, superuser_email, customer_status_state (a = active, i = inactive), customer_status_str (active-current, active-overdue, inactive-manual, inactive-activity), custom_1..custom_50, write_datetime, mod_datetime. Paged: pass next_offset as offset. GET /customer.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Records per page, 1-500 (default 50)."
        },
        "order": {
          "type": "string",
          "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
          "description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (default 0). Use next_offset from the previous reply."
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field",
              "op"
            ],
            "properties": {
              "op": {
                "enum": [
                  "EQUALS",
                  "NOTEQUALS",
                  "GT",
                  "GTE",
                  "LT",
                  "LTE",
                  "CONTAINS",
                  "IS:NULL",
                  "ISNOT:NULL"
                ],
                "type": "string",
                "description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value)."
              },
              "field": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
                "description": "Filter field (the list tool's description names the valid ones)."
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ],
                "description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
              }
            }
          },
          "maxItems": 10,
          "description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}]."
        }
      }
    }
    arguments 72 lines
  • chargeover_list_invoices auth-required never probed

    List invoices with status, totals, credits, payments and balance. Filterable fields: invoice_id, refnumber, customer_id, invoice_status_str (open-unpaid, open-overdue, open-collections, closed-void, closed-paid), invoice_status_state (o = open, c = closed), package_id, package_token, date, currency_id, total, balance, subtotal, token, bill_state, bill_country, line_items.item_id, write_datetime, mod_datetime. Paged: pass next_offset as offset. GET /invoice.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Records per page, 1-500 (default 50)."
        },
        "order": {
          "type": "string",
          "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
          "description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (default 0). Use next_offset from the previous reply."
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field",
              "op"
            ],
            "properties": {
              "op": {
                "enum": [
                  "EQUALS",
                  "NOTEQUALS",
                  "GT",
                  "GTE",
                  "LT",
                  "LTE",
                  "CONTAINS",
                  "IS:NULL",
                  "ISNOT:NULL"
                ],
                "type": "string",
                "description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value)."
              },
              "field": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
                "description": "Filter field (the list tool's description names the valid ones)."
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ],
                "description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
              }
            }
          },
          "maxItems": 10,
          "description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}]."
        },
        "include_line_items": {
          "type": "boolean",
          "description": "true = include each record's line items (bigger reply). Default false."
        }
      }
    }
    arguments 76 lines
  • chargeover_list_transactions auth-required never probed

    List transactions (payments, refunds and credits that already happened; this tool only reads them). Filterable fields: transaction_id, customer_id, gateway_id, currency_id, creditcard_id, ach_id, tokenized_id, token, external_key, gateway_status, gateway_transid, amount, fee, transaction_type, transaction_method, transaction_detail, transaction_datetime, transaction_status.state, transaction_status.str, applied_to.invoice_id, applied_to.package_id. Paged: pass next_offset as offset. GET /transaction.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Records per page, 1-500 (default 50)."
        },
        "order": {
          "type": "string",
          "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
          "description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (default 0). Use next_offset from the previous reply."
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field",
              "op"
            ],
            "properties": {
              "op": {
                "enum": [
                  "EQUALS",
                  "NOTEQUALS",
                  "GT",
                  "GTE",
                  "LT",
                  "LTE",
                  "CONTAINS",
                  "IS:NULL",
                  "ISNOT:NULL"
                ],
                "type": "string",
                "description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value)."
              },
              "field": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
                "description": "Filter field (the list tool's description names the valid ones)."
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ],
                "description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
              }
            }
          },
          "maxItems": 10,
          "description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}]."
        },
        "include_applied_to": {
          "type": "boolean",
          "description": "true = include the invoices each transaction was applied to (bigger reply). Default false."
        }
      }
    }
    arguments 76 lines
  • chargeover_list_quotes auth-required never probed

    List quotes (proposals for a customer or lead; the list has no line items, get one quote for those). Filterable fields: quote_id, customer_id, brand_id, currency_id, refnumber, token, external_key, date, bill_state, bill_country, quote_status_str (open-new, open-sent, closed-won, closed-lost), quote_status_state (o = open, c = closed). Paged: pass next_offset as offset. GET /quote.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Records per page, 1-500 (default 50)."
        },
        "order": {
          "type": "string",
          "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
          "description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (default 0). Use next_offset from the previous reply."
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field",
              "op"
            ],
            "properties": {
              "op": {
                "enum": [
                  "EQUALS",
                  "NOTEQUALS",
                  "GT",
                  "GTE",
                  "LT",
                  "LTE",
                  "CONTAINS",
                  "IS:NULL",
                  "ISNOT:NULL"
                ],
                "type": "string",
                "description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value)."
              },
              "field": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
                "description": "Filter field (the list tool's description names the valid ones)."
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ],
                "description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
              }
            }
          },
          "maxItems": 10,
          "description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}]."
        }
      }
    }
    arguments 72 lines
  • chargeover_list_subscriptions auth-required never probed

    List subscriptions (the API calls them packages): recurring billing plans of customers. Filterable fields: package_id, customer_id, token, brand_id, paymethod, paycycle (mon, qtr, yrl...), nickname, package_status_state (a active, c cancelled, e expired, s suspended), package_status_str (active-trial, active-current, active-overdue, canceled-nonpayment, canceled-manual, expired-expired, expired-trial, suspended-suspended), external_key, write_datetime, mod_datetime, cancel_datetime, line_items.item_id, customer.superuser_email, customer.users.email. Paged: pass next_offset as offset. GET /package.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Records per page, 1-500 (default 50)."
        },
        "order": {
          "type": "string",
          "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
          "description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (default 0). Use next_offset from the previous reply."
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field",
              "op"
            ],
            "properties": {
              "op": {
                "enum": [
                  "EQUALS",
                  "NOTEQUALS",
                  "GT",
                  "GTE",
                  "LT",
                  "LTE",
                  "CONTAINS",
                  "IS:NULL",
                  "ISNOT:NULL"
                ],
                "type": "string",
                "description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value)."
              },
              "field": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
                "description": "Filter field (the list tool's description names the valid ones)."
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ],
                "description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
              }
            }
          },
          "maxItems": 10,
          "description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}]."
        },
        "include_line_items": {
          "type": "boolean",
          "description": "true = include each record's line items (bigger reply). Default false."
        }
      }
    }
    arguments 76 lines
  • chargeover_list_notes auth-required never probed

    List notes attached to customers, subscriptions, invoices, contacts, quotes and items. Filterable fields: context_str (customer, billing_package, invoice, user, quote, item), context_id. Paged: pass next_offset as offset. GET /note.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Records per page, 1-500 (default 50)."
        },
        "order": {
          "type": "string",
          "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
          "description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (default 0). Use next_offset from the previous reply."
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field",
              "op"
            ],
            "properties": {
              "op": {
                "enum": [
                  "EQUALS",
                  "NOTEQUALS",
                  "GT",
                  "GTE",
                  "LT",
                  "LTE",
                  "CONTAINS",
                  "IS:NULL",
                  "ISNOT:NULL"
                ],
                "type": "string",
                "description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value)."
              },
              "field": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
                "description": "Filter field (the list tool's description names the valid ones)."
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ],
                "description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
              }
            }
          },
          "maxItems": 10,
          "description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}]."
        }
      }
    }
    arguments 72 lines
  • chargeover_list_usage auth-required never probed

    List usage (metered billing) data points recorded against subscription line items. Filterable fields: line_item_id, external_key, from (date), to (date). Paged: pass next_offset as offset. GET /usage.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Records per page, 1-500 (default 50)."
        },
        "order": {
          "type": "string",
          "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}:(ASC|DESC)$",
          "description": "Sort as field:ASC or field:DESC, for example invoice_id:DESC."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (default 0). Use next_offset from the previous reply."
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field",
              "op"
            ],
            "properties": {
              "op": {
                "enum": [
                  "EQUALS",
                  "NOTEQUALS",
                  "GT",
                  "GTE",
                  "LT",
                  "LTE",
                  "CONTAINS",
                  "IS:NULL",
                  "ISNOT:NULL"
                ],
                "type": "string",
                "description": "EQUALS, NOTEQUALS, GT, GTE, LT, LTE, CONTAINS (substring), IS:NULL or ISNOT:NULL (no value)."
              },
              "field": {
                "type": "string",
                "pattern": "^[A-Za-z][A-Za-z0-9_.]{0,63}$",
                "description": "Filter field (the list tool's description names the valid ones)."
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 200
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ],
                "description": "The value to compare with; omit for IS:NULL / ISNOT:NULL."
              }
            }
          },
          "maxItems": 10,
          "description": "Filters, all combined with AND. Example: [{field:'customer_id',op:'EQUALS',value:12},{field:'date',op:'GTE',value:'2026-01-01'}]."
        }
      }
    }
    arguments 72 lines
  • chargeover_get_customer auth-required never probed

    Get one customer by customer_id: company, status, addresses, primary contact, terms, balance fields, custom fields. GET /customer/{customer_id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The customer_id (a number).",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • chargeover_get_contact auth-required never probed

    Get one contact (user) by user_id: name, email, phone, username, the customers they belong to. GET /user/{user_id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The user_id (a number).",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • chargeover_get_invoice auth-required never probed

    Get one invoice by invoice_id: status, line items, totals, balance, payments and credits applied, billing address. GET /invoice/{invoice_id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The invoice_id (a number).",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • chargeover_get_transaction auth-required never probed

    Get one transaction (payment, refund or credit that already happened) by transaction_id: amount, method, status, the invoices it was applied to, related refunds. GET /transaction/{transaction_id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The transaction_id (a number).",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • chargeover_list_reports auth-required never probed

    List the account's saved reports (report_id and name). Run one with chargeover_run_report. GET /_report.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • chargeover_get_report auth-required never probed

    A report's name, its available_filters (field names and allowed operators), available_columns and default_columns. Read this before chargeover_run_report to know which filters and columns to use. GET /_report/{report_id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "report_id"
      ],
      "properties": {
        "report_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The report_id from chargeover_list_reports.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • chargeover_create_contact auth-required never probed

    WRITE: add a contact (person) to an existing customer. No email is sent by this call. Returns the new user_id. POST /user.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "customer_id"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 200,
          "description": "Full name (alternative to first_name and last_name)."
        },
        "email": {
          "type": "string",
          "format": "email",
          "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
          "maxLength": 254,
          "description": "Email address."
        },
        "phone": {
          "type": "string",
          "maxLength": 50,
          "description": "Phone number."
        },
        "title": {
          "type": "string",
          "maxLength": 100,
          "description": "Job title."
        },
        "mobile": {
          "type": "string",
          "maxLength": 50,
          "description": "Mobile number."
        },
        "last_name": {
          "type": "string",
          "maxLength": 100,
          "description": "Last name."
        },
        "first_name": {
          "type": "string",
          "maxLength": 100,
          "description": "First name."
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The customer the contact belongs to.",
          "exclusiveMinimum": 0
        },
        "external_key": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Your own unique id for the contact."
        }
      }
    }
    arguments 58 lines
  • chargeover_create_note auth-required never probed

    WRITE: add a note to a customer, subscription, invoice, contact, quote or item (shown in the ChargeOver UI to the team; never sent to the customer). Returns the note id. POST /note.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "context_str",
        "context_id",
        "note"
      ],
      "properties": {
        "note": {
          "type": "string",
          "maxLength": 5000,
          "minLength": 1,
          "description": "The note text."
        },
        "context_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The id of that record (customer_id, package_id, invoice_id, user_id, quote_id or item_id).",
          "exclusiveMinimum": 0
        },
        "context_str": {
          "enum": [
            "customer",
            "billing_package",
            "invoice",
            "user",
            "quote",
            "item"
          ],
          "type": "string",
          "description": "What the note is attached to (billing_package = a subscription, user = a contact)."
        }
      }
    }
    arguments 35 lines
  • chargeover_create_quote auth-required never probed

    WRITE: create a quote (a proposal) for an existing customer. Nothing is billed and no email is sent: the quote stays open until someone sends or accepts it in ChargeOver. Each line refers to an existing item (chargeover_list_items). paycycle: one = one-time invoice, mon = monthly, 2mn = every 2 months, qtr = quarterly, six = every 6 months, yrl = yearly, 2yr, 3yr, 1wk = weekly, 2wk. Returns the new quote_id. POST /quote.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "customer_id",
        "paycycle",
        "line_items"
      ],
      "properties": {
        "date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "A date as YYYY-MM-DD."
        },
        "memo": {
          "type": "string",
          "maxLength": 2000,
          "description": "Memo shown to the customer on the quote."
        },
        "nickname": {
          "type": "string",
          "maxLength": 255,
          "description": "Nickname of the quote."
        },
        "paycycle": {
          "enum": [
            "one",
            "mon",
            "2mn",
            "qtr",
            "six",
            "yrl",
            "2yr",
            "3yr",
            "1wk",
            "2wk"
          ],
          "type": "string",
          "description": "Billing cycle of the quote."
        },
        "refnumber": {
          "type": "string",
          "maxLength": 100,
          "description": "Your reference number for the quote."
        },
        "line_items": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "item_id"
            ],
            "properties": {
              "descrip": {
                "type": "string",
                "maxLength": 1000,
                "description": "Line description override."
              },
              "item_id": {
                "type": "integer",
                "maximum": 9007199254740991,
                "description": "An existing item_id.",
                "exclusiveMinimum": 0
              },
              "expire_recurs": {
                "type": "integer",
                "maximum": 1000,
                "minimum": 1,
                "description": "Number of invoices before the line expires."
              },
              "line_quantity": {
                "type": "number",
                "maximum": 1000000000,
                "description": "Quantity (default 1).",
                "exclusiveMinimum": 0
              }
            }
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "At least one line."
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "The customer the quote is for.",
          "exclusiveMinimum": 0
        },
        "external_key": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Your own unique id for the quote."
        },
        "validuntil_date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Quote valid until, YYYY-MM-DD."
        }
      }
    }
    arguments 101 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id c6c03e45e0020eaa.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/c6c03e45e0020eaa/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/c6c03e45e0020eaa/badge.svg)](https://brick.blue/agent/c6c03e45e0020eaa?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on usefulapi.io 131 entries

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.

123 more sit on this domain. All of them.