Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,558Letters: 14Defects: 1,331counted 2 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:1f29ecea2d5e2326897d8835336ec3766ac5d4d38fd17671c89839bd65c7a7fa | sha256sum