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

invoiced-mcp

https://invoiced.usefulapi.io

Registry code: 41323c02e9491f43

api record

Tools for Invoiced, hosted by usefulapi.io. Read-only tools never change data; ask the user before a tool that creates, changes or deletes Invoiced data. Free plan: 100 tool calls per month. Run invoiced_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 invoiced_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 invoiced_upgrade; it returns a Stripe Checkout link for the user to open.…

endpoint
https://invoiced.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 invoiced-mcp live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is invoiced-mcp free to use?
No — it asks for a key or a login before it will serve.
What tools does invoiced-mcp have?
27 tools: invoiced_list_plans, invoiced_get_plan, invoiced_get_subscription, invoiced_add_note, invoiced_get_estimate, invoiced_list_contacts, invoiced_get_customer, invoiced_get_customer_balance, ….
Is invoiced-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
186ms

last good check

priced tools
0

of 27 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 27 tools
27 auth-required 27 of 27 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.

  • invoiced_list_plans auth-required never probed

    List subscription plans: id, name, currency, amount, pricing mode, billing interval, tiers. GET /plans.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "sort": {
          "type": "string",
          "pattern": "^[a-z_][a-z0-9_]{0,63}(\\s+(asc|desc))?$",
          "description": "Sort, \"<column> asc|desc\", e.g. \"date desc\"."
        },
        "filter": {
          "type": "object",
          "description": "Exact-match filters on object columns, e.g. {\"paid\": false, \"currency\": \"usd\"}. Booleans are sent as 1/0.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
          },
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "updated_after": {
          "type": "string",
          "description": "Only records updated after this date or date-time."
        }
      }
    }
    arguments 49 lines
  • invoiced_get_plan auth-required never probed

    One subscription plan by its id (a string). GET /plans/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "plan_id"
      ],
      "properties": {
        "plan_id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Plan id (from invoiced_list_plans)."
        }
      }
    }
    arguments 15 lines
  • invoiced_get_subscription auth-required never probed

    One subscription by id with plan, add-ons, billing period, contract terms, recurring total and MRR. GET /subscriptions/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "subscription_id"
      ],
      "properties": {
        "subscription_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Invoiced subscription id.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • invoiced_add_note auth-required never probed

    WRITE: add an internal note to a customer or an invoice (give exactly one). Notes are internal; nothing is sent. POST /notes.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "notes"
      ],
      "properties": {
        "notes": {
          "type": "string",
          "maxLength": 5000,
          "minLength": 1,
          "description": "The note text."
        },
        "invoice_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Invoice to attach the note to.",
          "exclusiveMinimum": 0
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Customer to attach the note to.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 27 lines
  • invoiced_get_estimate auth-required never probed

    One estimate by id with line items, totals, deposit and approval state. GET /estimates/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "estimate_id"
      ],
      "properties": {
        "estimate_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Invoiced estimate id.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • invoiced_list_contacts auth-required never probed

    List the contacts of one customer: name, title, email, phone, whether primary (copied on communications) and SMS-enabled. GET /customers/{id}/contacts.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "customer_id"
      ],
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "sort": {
          "type": "string",
          "pattern": "^[a-z_][a-z0-9_]{0,63}(\\s+(asc|desc))?$",
          "description": "Sort, \"<column> asc|desc\", e.g. \"date desc\"."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Invoiced customer id.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 32 lines
  • invoiced_get_customer auth-required never probed

    One customer by id: contact details, address, terms, currency, autopay, chasing cadence, credit hold/limit, parent customer, metadata. GET /customers/{id}.

    mcp-tool

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

    A customer's current balance: total outstanding, past due, and available credit, in the customer's currency (or `currency`). GET /customers/{id}/balance.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "customer_id"
      ],
      "properties": {
        "currency": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$",
          "description": "3-letter currency code (default: the customer's currency)."
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Invoiced customer id.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 20 lines
  • invoiced_list_invoices auth-required never probed

    List invoices with number, customer, status (draft, not_sent, sent, viewed, past_due, pending, paid, voided), dates, totals, balance and line items. Filter by customer, paid flag, invoice date range, update time or any exact-match column. GET /invoices.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "paid": {
          "type": "boolean",
          "description": "true = only paid invoices; false = only unpaid."
        },
        "sort": {
          "type": "string",
          "pattern": "^[a-z_][a-z0-9_]{0,63}(\\s+(asc|desc))?$",
          "description": "Sort, \"<column> asc|desc\", e.g. \"date desc\"."
        },
        "filter": {
          "type": "object",
          "description": "Exact-match filters on object columns, e.g. {\"paid\": false, \"currency\": \"usd\"}. Booleans are sent as 1/0.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
          },
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "end_date": {
          "type": "string",
          "description": "Invoices dated on or before this date (a bare date includes the whole day)."
        },
        "metadata": {
          "type": "object",
          "description": "Exact-match filters on metadata keys, e.g. {\"account-rep\": \"Jan\"}.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_.-]{1,64}$"
          },
          "additionalProperties": {
            "type": "string",
            "maxLength": 200
          }
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "start_date": {
          "type": "string",
          "description": "Invoices dated on or after this date or date-time."
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Only this customer's invoices.",
          "exclusiveMinimum": 0
        },
        "updated_after": {
          "type": "string",
          "description": "Only records updated after this date or date-time."
        }
      }
    }
    arguments 79 lines
  • invoiced_get_invoice auth-required never probed

    One invoice by id: status, dates, payment terms, totals, balance, line items, discounts, taxes, ship-to, payment and PDF links. `expand` replaces ids with full objects (e.g. customer). GET /invoices/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "invoice_id"
      ],
      "properties": {
        "expand": {
          "type": "array",
          "items": {
            "enum": [
              "customer",
              "subscription",
              "payment_plan"
            ],
            "type": "string"
          },
          "maxItems": 3,
          "description": "Relations to expand into full objects."
        },
        "invoice_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Invoiced invoice id (numeric; find it with invoiced_list_invoices).",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 28 lines
  • invoiced_list_payments auth-required never probed

    List payments received: customer, date, amount, unapplied balance, method (check, wire, ACH, card, ...), reference, whether matched or voided. Read only. GET /payments.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "sort": {
          "type": "string",
          "pattern": "^[a-z_][a-z0-9_]{0,63}(\\s+(asc|desc))?$",
          "description": "Sort, \"<column> asc|desc\", e.g. \"date desc\"."
        },
        "filter": {
          "type": "object",
          "description": "Exact-match filters on object columns, e.g. {\"paid\": false, \"currency\": \"usd\"}. Booleans are sent as 1/0.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
          },
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "end_date": {
          "type": "string",
          "description": "Payments dated on or before this date (a bare date includes the whole day)."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "start_date": {
          "type": "string",
          "description": "Payments dated on or after this date or date-time."
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Only this customer's payments.",
          "exclusiveMinimum": 0
        },
        "updated_after": {
          "type": "string",
          "description": "Only records updated after this date or date-time."
        }
      }
    }
    arguments 63 lines
  • invoiced_get_payment auth-required never probed

    One payment by id, including which invoices and credit notes it was applied to (`applied_to`). GET /payments/{id}?include=applied_to.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "payment_id"
      ],
      "properties": {
        "payment_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Invoiced payment id.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • invoiced_list_credit_notes auth-required never probed

    List credit notes: customer, status (draft, open, paid, closed, voided), totals, remaining balance, line items. GET /credit_notes.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "sort": {
          "type": "string",
          "pattern": "^[a-z_][a-z0-9_]{0,63}(\\s+(asc|desc))?$",
          "description": "Sort, \"<column> asc|desc\", e.g. \"date desc\"."
        },
        "filter": {
          "type": "object",
          "description": "Exact-match filters on object columns, e.g. {\"paid\": false, \"currency\": \"usd\"}. Booleans are sent as 1/0.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
          },
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "end_date": {
          "type": "string",
          "description": "Credit notes dated on or before this date (a bare date includes the whole day)."
        },
        "metadata": {
          "type": "object",
          "description": "Exact-match filters on metadata keys, e.g. {\"account-rep\": \"Jan\"}.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_.-]{1,64}$"
          },
          "additionalProperties": {
            "type": "string",
            "maxLength": 200
          }
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "start_date": {
          "type": "string",
          "description": "Credit notes dated on or after this date or date-time."
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Only this customer's credit notes.",
          "exclusiveMinimum": 0
        },
        "updated_after": {
          "type": "string",
          "description": "Only records updated after this date or date-time."
        }
      }
    }
    arguments 75 lines
  • invoiced_get_credit_note auth-required never probed

    One credit note by id with line items, totals and balance. GET /credit_notes/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "credit_note_id"
      ],
      "properties": {
        "credit_note_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Invoiced credit note id.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • invoiced_list_items auth-required never probed

    List the item catalog (products and services): id, name, currency, unit cost, type, taxable. Use item ids as `catalog_item` when creating a draft invoice. GET /items.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "sort": {
          "type": "string",
          "pattern": "^[a-z_][a-z0-9_]{0,63}(\\s+(asc|desc))?$",
          "description": "Sort, \"<column> asc|desc\", e.g. \"date desc\"."
        },
        "filter": {
          "type": "object",
          "description": "Exact-match filters on object columns, e.g. {\"paid\": false, \"currency\": \"usd\"}. Booleans are sent as 1/0.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
          },
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "updated_after": {
          "type": "string",
          "description": "Only records updated after this date or date-time."
        }
      }
    }
    arguments 49 lines
  • invoiced_get_item auth-required never probed

    One catalog item by its id (a string such as "delivery"). GET /items/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "item_id"
      ],
      "properties": {
        "item_id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Catalog item id (from invoiced_list_items)."
        }
      }
    }
    arguments 15 lines
  • invoiced_list_tax_rates auth-required never probed

    List tax rates: id, name, value, whether a percentage, whether inclusive, currency. GET /tax_rates.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "sort": {
          "type": "string",
          "pattern": "^[a-z_][a-z0-9_]{0,63}(\\s+(asc|desc))?$",
          "description": "Sort, \"<column> asc|desc\", e.g. \"date desc\"."
        },
        "filter": {
          "type": "object",
          "description": "Exact-match filters on object columns, e.g. {\"paid\": false, \"currency\": \"usd\"}. Booleans are sent as 1/0.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
          },
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "updated_after": {
          "type": "string",
          "description": "Only records updated after this date or date-time."
        }
      }
    }
    arguments 49 lines
  • invoiced_list_subscriptions auth-required never probed

    List recurring subscriptions: customer, plan, quantity, billing period, status (not_started, active, past_due, finished, canceled), recurring total and MRR, contract renewal. GET /subscriptions.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "sort": {
          "type": "string",
          "pattern": "^[a-z_][a-z0-9_]{0,63}(\\s+(asc|desc))?$",
          "description": "Sort, \"<column> asc|desc\", e.g. \"date desc\"."
        },
        "filter": {
          "type": "object",
          "description": "Exact-match filters on object columns, e.g. {\"paid\": false, \"currency\": \"usd\"}. Booleans are sent as 1/0.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
          },
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "canceled": {
          "type": "boolean",
          "description": "true = only canceled subscriptions; false = only not canceled."
        },
        "finished": {
          "type": "boolean",
          "description": "true = only finished subscriptions; false = only unfinished."
        },
        "metadata": {
          "type": "object",
          "description": "Exact-match filters on metadata keys, e.g. {\"account-rep\": \"Jan\"}.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_.-]{1,64}$"
          },
          "additionalProperties": {
            "type": "string",
            "maxLength": 200
          }
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Only this customer's subscriptions.",
          "exclusiveMinimum": 0
        },
        "updated_after": {
          "type": "string",
          "description": "Only records updated after this date or date-time."
        }
      }
    }
    arguments 75 lines
  • invoiced_list_notes auth-required never probed

    List collection notes, newest first, for one customer or one invoice (give exactly one), or all notes when neither is given. GET /customers/{id}/notes, /invoices/{id}/notes or /notes.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "invoice_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Only this invoice's notes.",
          "exclusiveMinimum": 0
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Only this customer's notes.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 30 lines
  • invoiced_list_tasks auth-required never probed

    List collection tasks (call, letter, email, review): name, action, customer, assignee, due date, whether complete. GET /tasks.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "sort": {
          "type": "string",
          "pattern": "^[a-z_][a-z0-9_]{0,63}(\\s+(asc|desc))?$",
          "description": "Sort, \"<column> asc|desc\", e.g. \"date desc\"."
        },
        "complete": {
          "type": "boolean",
          "description": "true = only completed tasks; false = only open tasks."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Only this customer's tasks.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 33 lines
  • invoiced_create_customer auth-required never probed

    WRITE: create a customer in Invoiced. Nothing is sent to anyone and no money moves. Name is required; Invoiced generates the customer number unless given. POST /customers.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "name"
      ],
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 200
        },
        "name": {
          "type": "string",
          "maxLength": 300,
          "minLength": 1,
          "description": "Customer name."
        },
        "type": {
          "enum": [
            "company",
            "person"
          ],
          "type": "string",
          "description": "Default company."
        },
        "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
        },
        "notes": {
          "type": "string",
          "maxLength": 5000,
          "description": "Private notes."
        },
        "phone": {
          "type": "string",
          "maxLength": 50
        },
        "state": {
          "type": "string",
          "maxLength": 200
        },
        "number": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Customer number (default: generated)."
        },
        "tax_id": {
          "type": "string",
          "maxLength": 100
        },
        "country": {
          "type": "string",
          "pattern": "^[A-Za-z]{2}$"
        },
        "address1": {
          "type": "string",
          "maxLength": 300
        },
        "address2": {
          "type": "string",
          "maxLength": 300
        },
        "currency": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$"
        },
        "metadata": {
          "type": "object",
          "description": "Metadata key/values (max 10 keys, names up to 40 characters, values up to 255).",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_.-]{1,40}$"
          },
          "additionalProperties": {
            "type": "string",
            "maxLength": 255
          }
        },
        "postal_code": {
          "type": "string",
          "maxLength": 50
        },
        "attention_to": {
          "type": "string",
          "maxLength": 300
        },
        "payment_terms": {
          "type": "string",
          "maxLength": 100,
          "description": "e.g. \"NET 30\"."
        }
      }
    }
    arguments 97 lines
  • invoiced_create_draft_invoice auth-required never probed

    WRITE: create a DRAFT invoice for a customer. It is always created as a draft: it is not issued, not emailed, not charged and cannot trigger AutoPay until a person finalizes it in Invoiced. At least one line item is required. POST /invoices with draft=true.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "customer_id",
        "items"
      ],
      "properties": {
        "date": {
          "type": "string",
          "description": "Invoice date (default now)."
        },
        "name": {
          "type": "string",
          "maxLength": 300,
          "description": "Document title (default \"Invoice\")."
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 300,
                "minLength": 1,
                "description": "Line item name (required unless catalog_item is given)."
              },
              "type": {
                "type": "string",
                "maxLength": 100,
                "description": "Reporting type, e.g. \"product\" or \"service\"."
              },
              "quantity": {
                "type": "number",
                "maximum": 1000000000,
                "minimum": 0,
                "description": "Quantity (default 1)."
              },
              "unit_cost": {
                "type": "number",
                "maximum": 1000000000000,
                "minimum": -1000000000000,
                "description": "Price per unit, in the invoice currency."
              },
              "description": {
                "type": "string",
                "maxLength": 2000
              },
              "catalog_item": {
                "type": "string",
                "maxLength": 200,
                "minLength": 1,
                "description": "Id of an item in the catalog (invoiced_list_items); fills the name and price."
              }
            }
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Line items."
        },
        "notes": {
          "type": "string",
          "maxLength": 5000,
          "description": "Notes printed on the invoice."
        },
        "number": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Invoice number (default: next in sequence)."
        },
        "currency": {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$"
        },
        "due_date": {
          "type": "string",
          "description": "Due date (default: computed from the payment terms)."
        },
        "metadata": {
          "type": "object",
          "description": "Metadata key/values (max 10 keys, names up to 40 characters, values up to 255).",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_.-]{1,40}$"
          },
          "additionalProperties": {
            "type": "string",
            "maxLength": 255
          }
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Invoiced customer id (invoiced_list_customers).",
          "exclusiveMinimum": 0
        },
        "payment_terms": {
          "type": "string",
          "maxLength": 100,
          "description": "e.g. \"NET 30\"."
        },
        "purchase_order": {
          "type": "string",
          "maxLength": 200
        }
      }
    }
    arguments 109 lines
  • invoiced_create_task auth-required never probed

    WRITE: create a collection task for a customer (a reminder to call, write, email or review). Nothing is sent to the customer. POST /tasks.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "name",
        "action",
        "customer_id"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 300,
          "minLength": 1,
          "description": "Task name, e.g. \"Call about overdue invoice\"."
        },
        "action": {
          "enum": [
            "phone",
            "letter",
            "email",
            "review"
          ],
          "type": "string",
          "description": "Kind of task."
        },
        "user_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Invoiced user to assign it to.",
          "exclusiveMinimum": 0
        },
        "due_date": {
          "type": "string",
          "description": "When it is due."
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Customer the task is about.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 43 lines
  • invoiced_list_customers auth-required 1h ago

    List customers (accounts receivable debtors): name, number, email, payment terms, currency, autopay and chasing settings, owner. Filter by open balance, saved payment method, update time or any exact-match column. GET /customers.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "sort": {
          "type": "string",
          "pattern": "^[a-z_][a-z0-9_]{0,63}(\\s+(asc|desc))?$",
          "description": "Sort, \"<column> asc|desc\", e.g. \"date desc\"."
        },
        "filter": {
          "type": "object",
          "description": "Exact-match filters on object columns, e.g. {\"paid\": false, \"currency\": \"usd\"}. Booleans are sent as 1/0.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
          },
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "metadata": {
          "type": "object",
          "description": "Exact-match filters on metadata keys, e.g. {\"account-rep\": \"Jan\"}.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_.-]{1,64}$"
          },
          "additionalProperties": {
            "type": "string",
            "maxLength": 200
          }
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "open_balance": {
          "type": "boolean",
          "description": "true = only customers with an open balance; false = only those without."
        },
        "updated_after": {
          "type": "string",
          "description": "Only records updated after this date or date-time."
        },
        "payment_source": {
          "type": "boolean",
          "description": "true = only customers with a saved payment method."
        }
      }
    }
    arguments 69 lines
  • invoiced_get_invoice_payment_plan auth-required never probed

    The payment plan (installments with dates, amounts and balances, and approval status) attached to an invoice. Errors with 404 when the invoice has none. GET /invoices/{id}/payment_plan.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "invoice_id"
      ],
      "properties": {
        "invoice_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Invoiced invoice id.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • invoiced_list_estimates auth-required 1h ago

    List estimates (quotes): customer, status (draft, not_sent, sent, approved, invoiced, declined, voided), expiration date, deposit, totals, resulting invoice. GET /estimates.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "sort": {
          "type": "string",
          "pattern": "^[a-z_][a-z0-9_]{0,63}(\\s+(asc|desc))?$",
          "description": "Sort, \"<column> asc|desc\", e.g. \"date desc\"."
        },
        "filter": {
          "type": "object",
          "description": "Exact-match filters on object columns, e.g. {\"paid\": false, \"currency\": \"usd\"}. Booleans are sent as 1/0.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
          },
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "end_date": {
          "type": "string",
          "description": "Estimates dated on or before this date (a bare date includes the whole day)."
        },
        "metadata": {
          "type": "object",
          "description": "Exact-match filters on metadata keys, e.g. {\"account-rep\": \"Jan\"}.",
          "propertyNames": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_.-]{1,64}$"
          },
          "additionalProperties": {
            "type": "string",
            "maxLength": 200
          }
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "start_date": {
          "type": "string",
          "description": "Estimates dated on or after this date or date-time."
        },
        "customer_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Only this customer's estimates.",
          "exclusiveMinimum": 0
        },
        "updated_after": {
          "type": "string",
          "description": "Only records updated after this date or date-time."
        }
      }
    }
    arguments 75 lines
  • invoiced_list_events auth-required 1h ago

    The activity feed, newest first: event type (such as invoice.paid, customer.created), time, the object it concerns and who did it. Optionally only the events of one object. GET /events.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
          "exclusiveMinimum": 0
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "description": "Results per page, 1-100 (default 25).",
          "exclusiveMinimum": 0
        },
        "related_object_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Id of the object (needs related_object_type).",
          "exclusiveMinimum": 0
        },
        "related_object_type": {
          "type": "string",
          "pattern": "^[a-z_]{1,40}$",
          "description": "Object type such as customer or invoice; with related_object_id: only events about this object."
        }
      }
    }
    arguments 29 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 41323c02e9491f43.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/41323c02e9491f43/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/41323c02e9491f43/badge.svg)](https://brick.blue/agent/41323c02e9491f43?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.