Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,534Letters: 13Defects: 1,322counted 3 min ago
teppi

Server definition

Hash
sha256:e552192da688d592db41b193d6af86b4a9fe46c29877712850c07819122c4a19
What it is
What a remote MCP server returned when asked what it offers: 11 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Open a job card for a job your crew is taking on and return its JC-YYYY-NNNN number: the client, the site, what the job is, the currency and when it is scheduled. Free tier: 10 active cards; archiving a finished job frees its slot.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "client": { "description": "Who the job is for, e.g. Kowalski bathroom refit, or Acme Ltd", "maxLength": 200, "type": "string" }, "currency": { "description": "ISO code the rates and prices are in", "pattern": "^[A-Za-z]{3}$", "type": "string" }, "description": { "description": "What the job is, e.g. Replace the consumer unit and certify", "maxLength": 2000, "type": "string" }, "note": { "maxLength": 2000, "type": "string" }, "scheduled_date": { "description": "The date the crew is due on site, YYYY-MM-DD. May be in the future; it is a plan, not a log", "maxLength": 10, "type": "string" }, "site": { "description": "Where the job is, e.g. 14 Nowa Street, flat 3", "maxLength": 400, "type": "string" } }, "required": [ "client", "site", "description", "currency" ], "type": "object" }, "name": "job_card_create", "outputSchema": null }, { "description": "Delete a job card entered by mistake. One with labor or materials logged is refused, naming what it holds, because deleting it would lose the record of work done: archive it instead. The JC number is never reissued.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "card": { "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it", "maxLength": 200, "type": "string" } }, "required": [ "card" ], "type": "object" }, "name": "job_card_delete", "outputSchema": null }, { "description": "Read one job card in full by JC number or client: every labor entry and every material used, the hours per worker, and the running totals -- labor, materials and grand total -- as integer cents with formatted amounts. Reads only.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "card": { "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it", "maxLength": 200, "type": "string" } }, "required": [ "card" ], "type": "object" }, "name": "job_card_get", "outputSchema": null }, { "description": "List job cards newest first: client, site, status, hours logged, and the labor, materials and grand totals in cents. Filter by status and by client. Totals are kept per currency, never mixed.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "client": { "description": "Only cards whose client contains this text, case-insensitive", "maxLength": 200, "type": "string" }, "status": { "description": "Only cards at this status: open, in_progress, done, invoiced, archived", "maxLength": 20, "type": "string" } }, "type": "object" }, "name": "job_card_list", "outputSchema": null }, { "description": "Log hours worked on a job card: who did the work, the day, the hours and the hourly rate in whole cents, with a note on what was done. The line value is hours times rate, rounded half-up to the cent, fixed the moment it is logged.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "card": { "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it", "maxLength": 200, "type": "string" }, "date": { "description": "The day the work was done, YYYY-MM-DD. A future date is refused", "maxLength": 10, "type": "string" }, "hours": { "description": "Hours worked, to the hundredth, e.g. 7.5 or 3.25. One entry is one worker's day at most", "exclusiveMinimum": 0, "maximum": 24, "type": "number" }, "note": { "description": "What was done, e.g. First fix, kitchen ring main", "maxLength": 2000, "type": "string" }, "rate_cents": { "description": "The hourly rate in whole cents. 4500 is 45.00 an hour", "maximum": 100000000000000, "minimum": 0, "type": "integer" }, "worker": { "description": "Who did the work, e.g. Anna", "maxLength": 200, "type": "string" } }, "required": [ "card", "worker", "date", "hours", "rate_cents" ], "type": "object" }, "name": "job_card_log_labor", "outputSchema": null }, { "description": "Log materials used on a job card: the item, the day it went in, the quantity and the unit cost in whole cents. The line value is quantity times unit cost, rounded half-up to the cent, fixed the moment it is logged.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "card": { "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it", "maxLength": 200, "type": "string" }, "date": { "description": "The day it went in, YYYY-MM-DD. A future date is refused", "maxLength": 10, "type": "string" }, "item": { "description": "What went into the job, e.g. Copper pipe 15mm, or Consumer unit 10-way", "maxLength": 200, "type": "string" }, "note": { "maxLength": 2000, "type": "string" }, "qty": { "description": "How many, to the thousandth, e.g. 2 or 0.5", "exclusiveMinimum": 0, "maximum": 1000000, "type": "number" }, "unit_cost_cents": { "description": "What one costs in whole cents. 1299 is 12.99", "maximum": 100000000000000, "minimum": 0, "type": "integer" } }, "required": [ "card", "item", "date", "qty", "unit_cost_cents" ], "type": "object" }, "name": "job_card_log_material", "outputSchema": null }, { "description": "Render a job card ready to print and hand to the client: the labor, the materials, the totals and a signature line for client sign-off. Markdown, or self-contained HTML that needs nothing from the network. Writes nothing.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "card": { "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it", "maxLength": 200, "type": "string" }, "format": { "description": "markdown (default) or html. The HTML carries its own styling and references nothing external", "enum": [ "markdown", "html" ], "type": "string" } }, "required": [ "card" ], "type": "object" }, "name": "job_card_print", "outputSchema": null }, { "description": "Hours and value for a day or a week: the job cards touched, the hours per worker, and the labor, materials and total value, kept per currency. A week runs Monday to Sunday. Touched means a labor or material entry dated inside the window.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "date": { "description": "A date inside the window, YYYY-MM-DD. Default today", "maxLength": 10, "type": "string" }, "span": { "description": "day (default) is the date itself; week is the Monday to Sunday containing it", "enum": [ "day", "week" ], "type": "string" } }, "type": "object" }, "name": "job_card_summary", "outputSchema": null }, { "description": "Move one job card exactly one step: open, in_progress, done, invoiced, archived, stamping the date and an optional note into its history. A skipped or backwards step is refused and nothing is written. Archiving a finished job frees a free-tier slot.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "card": { "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it", "maxLength": 200, "type": "string" }, "date": { "description": "The date to stamp the step with, YYYY-MM-DD. Default today", "maxLength": 10, "type": "string" }, "note": { "maxLength": 2000, "type": "string" }, "status": { "description": "The next step for this card: open, in_progress, done, invoiced, archived. in-progress is accepted too", "maxLength": 20, "type": "string" } }, "required": [ "card", "status" ], "type": "object" }, "name": "job_card_update_status", "outputSchema": null }, { "description": "Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "key": { "description": "License key from checkout, MCPL1.<payload>.<signature>", "type": "string" } }, "required": [ "key" ], "type": "object" }, "name": "license_activate", "outputSchema": null }, { "description": "Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "license_status", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:e552192da688d592db41b193d6af86b4a9fe46c29877712850c07819122c4a19 | sha256sum