Server definition
- Hash
- sha256:1f29ecea2d5e2326897d8835336ec3766ac5d4d38fd17671c89839bd65c7a7fa
- What it is
- What a remote MCP server returned when asked what it offers: 14 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "WRITE: assign/attach a pricing product plan to a customer — this changes what the customer is billed. API: POST /payments/pricing/amberflo/customer-pricing.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_id": {
"description": "The Amberflo customerId to assign the plan to.",
"type": "string"
},
"end_time_in_seconds": {
"description": "When the plan ends, unix epoch seconds.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"product_id": {
"description": "Product id the plan belongs to.",
"type": "string"
},
"product_plan_id": {
"description": "The productPlanId of the plan to assign.",
"type": "string"
},
"start_time_in_seconds": {
"description": "When the plan takes effect, unix epoch seconds.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"customer_id",
"product_plan_id"
],
"type": "object"
},
"name": "amberflo_assign_customer_plan",
"outputSchema": null
},
{
"description": "WRITE: create/register a new customer in Amberflo (id + name required; optional email, enabled flag, and traits). Optionally auto-create the customer in Stripe. API: POST /customers/.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"create_in_stripe": {
"description": "When true, also auto-create this customer in Stripe (adds ?autoCreateCustomerInStripe=true).",
"type": "boolean"
},
"customer_email": {
"description": "Customer email address.",
"type": "string"
},
"customer_id": {
"description": "Unique customerId to assign (your identifier for the customer).",
"type": "string"
},
"customer_name": {
"description": "Human-readable customer name.",
"type": "string"
},
"enabled": {
"description": "Whether the customer is enabled.",
"type": "boolean"
},
"traits": {
"additionalProperties": {
"type": "string"
},
"description": "Arbitrary string traits (key/value metadata).",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"customer_id",
"customer_name"
],
"type": "object"
},
"name": "amberflo_create_customer",
"outputSchema": null
},
{
"description": "Explain/drill into the raw meter events behind a meter's usage over a time range — useful to debug why a number looks off. API: POST /usage/explain.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"aggregation": {
"description": "Aggregation function: SUM | COUNT | MIN | MAX.",
"enum": [
"SUM",
"COUNT",
"MIN",
"MAX"
],
"type": "string"
},
"end_time_in_seconds": {
"description": "Range end, unix epoch seconds. Defaults to now if omitted.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"filter": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Dimension filter: map of dimension name -> allowed values.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"group_by": {
"description": "Dimension names to group by, e.g. [\"customerId\"].",
"items": {
"type": "string"
},
"type": "array"
},
"meter_api_name": {
"description": "The meterApiName to explain (from amberflo_list_meters).",
"type": "string"
},
"start_time_in_seconds": {
"description": "Range start, unix epoch seconds (inclusive).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"take_limit": {
"description": "Return only the top N records.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"meter_api_name",
"start_time_in_seconds"
],
"type": "object"
},
"name": "amberflo_explain_usage",
"outputSchema": null
},
{
"description": "Get total usage across all meters over a time range, optionally grouped by customer or filtered to one customer. API: GET /usage/all.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"end_time_in_seconds": {
"description": "Range end, unix epoch seconds. Defaults to now if omitted.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"filter_by_customer_id": {
"description": "Restrict results to a single customerId.",
"type": "string"
},
"group_by_customer_id": {
"description": "When true, group results by customer (sends groupBy=customerId).",
"type": "boolean"
},
"start_time_in_seconds": {
"description": "Range start, unix epoch seconds (inclusive).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"time_grouping_interval": {
"description": "Bucket size: HOUR | DAY | WEEK | MONTH.",
"enum": [
"HOUR",
"DAY",
"WEEK",
"MONTH"
],
"type": "string"
}
},
"required": [
"start_time_in_seconds",
"time_grouping_interval"
],
"type": "object"
},
"name": "amberflo_get_all_usage",
"outputSchema": null
},
{
"description": "Fetch a single customer by its Amberflo customerId. API: GET /customers/?customerId=<id>.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_id": {
"description": "The Amberflo customerId to fetch.",
"type": "string"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"name": "amberflo_get_customer",
"outputSchema": null
},
{
"description": "Get a single customer invoice: the CURRENT open invoice (latest=true, default) or a SPECIFIC past invoice by product_plan_id + year + month + day. API: GET /payments/billing/customer-product-invoice.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_id": {
"description": "The Amberflo customerId.",
"type": "string"
},
"day": {
"description": "Day of month of a specific past invoice.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"from_cache": {
"description": "Use cached invoice (faster). Default true.",
"type": "boolean"
},
"latest": {
"description": "Fetch the current open invoice. Default true. Ignored when a specific invoice is addressed.",
"type": "boolean"
},
"month": {
"description": "Month (1-12) of a specific past invoice.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"product_id": {
"description": "Product id. Default \"1\".",
"type": "string"
},
"product_plan_id": {
"description": "Product plan id of a specific past invoice (with year/month/day).",
"type": "string"
},
"with_payment_status": {
"description": "Include payment status. Default true.",
"type": "boolean"
},
"year": {
"description": "Year of a specific past invoice.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"name": "amberflo_get_customer_invoice",
"outputSchema": null
},
{
"description": "Get a customer's LATEST assigned product plan (pricing). API: GET /payments/pricing/amberflo/customer-pricing?CustomerId=<id>.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_id": {
"description": "The Amberflo customerId.",
"type": "string"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"name": "amberflo_get_customer_plan",
"outputSchema": null
},
{
"description": "Query aggregated usage for a single meter over a time range, optionally grouped/filtered. API: POST /usage/.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"aggregation": {
"description": "Aggregation function: SUM | COUNT | MIN | MAX.",
"enum": [
"SUM",
"COUNT",
"MIN",
"MAX"
],
"type": "string"
},
"end_time_in_seconds": {
"description": "Range end, unix epoch seconds. Defaults to now if omitted.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"filter": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Dimension filter: map of dimension name -> allowed values.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"group_by": {
"description": "Dimension names to group results by, e.g. [\"customerId\"].",
"items": {
"type": "string"
},
"type": "array"
},
"meter_api_name": {
"description": "The meterApiName to query (from amberflo_list_meters).",
"type": "string"
},
"start_time_in_seconds": {
"description": "Range start, unix epoch seconds (inclusive).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"take_is_ascending": {
"description": "Sort order for `take` (default false = descending).",
"type": "boolean"
},
"take_limit": {
"description": "Return only the top N groups.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"time_grouping_interval": {
"description": "Bucket size: HOUR | DAY | WEEK | MONTH.",
"enum": [
"HOUR",
"DAY",
"WEEK",
"MONTH"
],
"type": "string"
}
},
"required": [
"meter_api_name",
"aggregation",
"time_grouping_interval",
"start_time_in_seconds"
],
"type": "object"
},
"name": "amberflo_get_usage",
"outputSchema": null
},
{
"description": "WRITE: record/ingest a single usage meter event (writes billable usage data) to the Amberflo ingestion host. API: POST /ingest/ on the ingest base URL.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_id": {
"description": "The customerId this usage belongs to.",
"type": "string"
},
"dimensions": {
"additionalProperties": {
"type": "string"
},
"description": "Optional dimensions (key/value string metadata) for the event.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"meter_api_name": {
"description": "The meterApiName this event is for.",
"type": "string"
},
"meter_time_in_millis": {
"description": "Event timestamp, unix epoch milliseconds.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"meter_value": {
"description": "The numeric value of the usage event.",
"type": "number"
},
"unique_id": {
"description": "Optional idempotency/unique id for the event.",
"type": "string"
}
},
"required": [
"meter_api_name",
"meter_value",
"meter_time_in_millis",
"customer_id"
],
"type": "object"
},
"name": "amberflo_ingest_usage",
"outputSchema": null
},
{
"description": "List all invoices for a customer (optionally for a specific product), with payment status. API: GET /payments/billing/customer-product-invoice/all.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_id": {
"description": "The Amberflo customerId.",
"type": "string"
},
"from_cache": {
"description": "Use cached invoices (faster). Default true.",
"type": "boolean"
},
"product_id": {
"description": "Product id. Default \"1\".",
"type": "string"
},
"with_payment_status": {
"description": "Include payment status. Default true.",
"type": "boolean"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"name": "amberflo_list_customer_invoices",
"outputSchema": null
},
{
"description": "List the full history of product plans assigned to a customer over time. API: GET /payments/pricing/amberflo/customer-pricing/list?CustomerId=<id>.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_id": {
"description": "The Amberflo customerId.",
"type": "string"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"name": "amberflo_list_customer_plan_history",
"outputSchema": null
},
{
"description": "List all customers registered in your Amberflo account (id, name, email, traits, enabled). Good first call to discover customer ids. API: GET /customers/.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "amberflo_list_customers",
"outputSchema": null
},
{
"description": "List all meter definitions in your account (id, meterApiName, label, meterType, aggregation, etc.). Use meterApiName values here as inputs to usage tools. API: GET /meters.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "amberflo_list_meters",
"outputSchema": null
},
{
"description": "List a customer's active prepaid credit orders for a product. API: GET /payments/pricing/amberflo/customer-prepaid/list?CustomerId=<id>&ProductId=<pid>.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"customer_id": {
"description": "The Amberflo customerId.",
"type": "string"
},
"product_id": {
"description": "Product id. Default \"1\".",
"type": "string"
}
},
"required": [
"customer_id"
],
"type": "object"
},
"name": "amberflo_list_prepaid_orders",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:1f29ecea2d5e2326897d8835336ec3766ac5d4d38fd17671c89839bd65c7a7fa | sha256sum