Server definition
- Hash
- sha256:8c090f94eaa61fa3a73a6f32e60dffd68dfab4a706f906f0197b58d6e2a71de3
- What it is
- What a remote MCP server returned when asked what it offers: 10 tools
The blob, as servednamed by its sha256
{
"instructions": "Print a document and mail it to a US address. Get a Bearer API key with POST https://agents.haveitprinted.com/v1/onboard {\"email\": \"...\"}. Then call hip_create_job, hip_get_upload_target (PUT the file to upload_url), hip_update_job (files and recipient) and hip_quote. To pay, either call hip_create_checkout and send a person to checkout_url, or call hip_prepare_payment and then hip_complete_payment with a Stripe shared payment token (spt_...) whose maximum covers the prepared total. Poll hip_get_checkout_status until paid, then call hip_get_order for status and tracking.",
"tools": [
{
"description": "Pay for the job with a delegated payment authorization, with no browser and no human step. payment_authorization must be a Stripe shared payment token (spt_...) granted to Have It Printed whose maximum is at least the total from hip_prepare_payment; HIP charges exactly that total and never more. NEVER send a card number, expiry, CVV or any reusable credential to this tool. If the cardholder's bank requires authentication, this returns payment_status=requires_user_action rather than bypassing it.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"job_handle": {
"type": "string"
},
"payment_authorization": {
"description": "opaque delegated payment token (spt_...)",
"type": "string"
}
},
"required": [
"job_handle",
"payment_authorization"
],
"type": "object"
},
"name": "hip_complete_payment",
"outputSchema": null
},
{
"description": "Create a Stripe Checkout session for the job and return its URL. This does NOT take payment: the customer completes payment at that URL. Show them the quote first.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"customer_email": {
"description": "for the receipt and tracking email",
"type": "string"
},
"job_handle": {
"type": "string"
}
},
"required": [
"job_handle"
],
"type": "object"
},
"name": "hip_create_checkout",
"outputSchema": null
},
{
"description": "Start a print-and-mail job. Returns an opaque job_handle used by every later call. Creates nothing chargeable.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "hip_create_job",
"outputSchema": null
},
{
"description": "Whether the customer has paid yet. Payment truth comes from the order record Stripe's webhook creates, never from a browser redirect.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"job_handle": {
"type": "string"
}
},
"required": [
"job_handle"
],
"type": "object"
},
"name": "hip_get_checkout_status",
"outputSchema": null
},
{
"description": "Status and USPS tracking for the paid order belonging to this job.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"job_handle": {
"type": "string"
}
},
"required": [
"job_handle"
],
"type": "object"
},
"name": "hip_get_order",
"outputSchema": null
},
{
"description": "What Have It Printed does, what it costs, what file types and sizes are accepted, and how mailing works. Needs a Bearer API key, like every tools/call (POST /v1/onboard to get one).",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "hip_get_service_info",
"outputSchema": null
},
{
"description": "Get a short-lived upload URL for the customer's document. PUT the bytes to it. File type and size limits are the same as the website.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"content_type": {
"type": "string"
},
"filename": {
"type": "string"
},
"job_handle": {
"type": "string"
}
},
"required": [
"job_handle",
"filename"
],
"type": "object"
},
"name": "hip_get_upload_target",
"outputSchema": null
},
{
"description": "Resolve the EXACT amount HIP will charge, before any payment authorization is obtained or spent. This does NOT charge anything. Returns subtotal_cents, tax_cents, total_cents, currency, a pricing fingerprint and the authorization types HIP accepts. Tax is calculated by Stripe from the destination, so hip_quote alone is not the payable amount. The returned total is bound to this job's documents, options and recipient: change any of them and payment is refused with QUOTE_STALE until you prepare again. Use this when paying autonomously with a delegated payment authorization; a human paying in a browser does not need it. Commits the job to the autonomous payment rail.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"buyer_email": {
"description": "optional: the buyer's email address. Have It Printed sends its order confirmation there once the payment succeeds.",
"type": "string"
},
"job_handle": {
"type": "string"
}
},
"required": [
"job_handle"
],
"type": "object"
},
"name": "hip_prepare_payment",
"outputSchema": null
},
{
"description": "Exact price for the job, computed by the same pricing the website checkout uses. Tax, if any, is added by Stripe at payment.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"job_handle": {
"type": "string"
}
},
"required": [
"job_handle"
],
"type": "object"
},
"name": "hip_quote",
"outputSchema": null
},
{
"description": "Set the documents, print options and US mailing recipient on a job. Price fields are rejected: the server computes all amounts.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"files": {
"items": {
"additionalProperties": false,
"properties": {
"color": {
"enum": [
"bw",
"color"
],
"type": "string"
},
"filename": {
"type": "string"
},
"pages": {
"minimum": 1,
"type": "integer"
},
"quantity": {
"minimum": 1,
"type": "integer"
},
"size": {
"enum": [
"8.5x11",
"8x10",
"11x17"
],
"type": "string"
}
},
"required": [
"filename",
"pages"
],
"type": "object"
},
"type": "array"
},
"job_handle": {
"type": "string"
},
"options": {
"additionalProperties": true,
"type": "object"
},
"recipient": {
"description": "US mailing address",
"properties": {
"city": {
"type": "string"
},
"country": {
"default": "US",
"type": "string"
},
"line1": {
"type": "string"
},
"line2": {
"type": "string"
},
"name": {
"type": "string"
},
"state": {
"description": "2-letter US state code",
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"name",
"line1",
"city",
"state",
"zip"
],
"type": "object"
}
},
"required": [
"job_handle"
],
"type": "object"
},
"name": "hip_update_job",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:8c090f94eaa61fa3a73a6f32e60dffd68dfab4a706f906f0197b58d6e2a71de3 | sha256sum