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

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "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 }, { "description": "Call this tool to add a computed column and save the result to a NEW file; the source is never modified unless out_path points at it. Returns the new file path, the row count and a preview of the first rows.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "decimals": { "description": "Round numeric formula results to this many decimals. Default: the widest decimal count of the columns the formula reads, capped at 2 when they all hold 2 or fewer (money in, money out); otherwise no rounding beyond float cleanup", "maximum": 10, "minimum": 0, "type": "integer" }, "formula": { "description": "Expression over the columns of each row, in the same expression language as sheet_query, e.g. \"[Qty] * [Unit Price]\" or '[Country] = \"PL\"'. Give either formula or values", "type": "string" }, "name": { "description": "Name of the new column. It must not already exist on the sheet", "type": "string" }, "out_path": { "description": "Output file; default <source>-plus-<column>.<same ext>. The source file is left untouched unless this points at it", "type": "string" }, "path": { "description": "Path to the source .xlsx/.xlsm/.xlsb/.ods/.csv/.tsv file (~ is expanded); it is never modified", "type": "string" }, "sheet": { "description": "Sheet name; default is the first sheet", "type": "string" }, "values": { "description": "Explicit values, one per data row, instead of a formula. Missing entries are left blank", "type": "array" } }, "required": [ "path", "name" ], "type": "object" }, "name": "sheet_add_column", "outputSchema": null }, { "description": "Call this tool to convert a sheet between excel (xlsx), csv and json. Writes a new file next to the source unless out_path is given; the source is never modified. Returns the new file path with its row and column counts.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "out_path": { "description": "Where to write; default is the source name with the new extension, next to the source. It must differ from the source path", "type": "string" }, "path": { "description": "Path to the source .xlsx/.xlsm/.xlsb/.ods/.csv/.tsv file (~ is expanded); it is never modified", "type": "string" }, "sheet": { "description": "Sheet to convert; default is the first sheet. Only that one sheet is written", "type": "string" }, "to": { "description": "Target format; the default out_path takes this as its extension", "enum": [ "csv", "xlsx", "json" ], "type": "string" } }, "required": [ "path", "to" ], "type": "object" }, "name": "sheet_convert", "outputSchema": null }, { "description": "List the sheets loaded for this token, with their sizes and the storage left under the 2 MB cap.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "sheet_files", "outputSchema": null }, { "description": "Call this tool to search every cell of a spreadsheet or CSV for text; built-in file readers cannot parse spreadsheets. Matching is case insensitive. Returns cell addresses with a preview of the row each hit is on.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "path": { "description": "Path to the .xlsx/.xlsm/.xlsb/.ods/.csv/.tsv file (~ is expanded)", "type": "string" }, "sheet": { "description": "Sheet name; default searches every sheet", "type": "string" }, "text": { "description": "Text to look for; matched case insensitively anywhere inside a cell. Up to 200 hits are returned", "type": "string" } }, "required": [ "path", "text" ], "type": "object" }, "name": "sheet_find", "outputSchema": null }, { "description": "Call this tool for any spreadsheet or CSV file path; built-in file readers cannot parse spreadsheets and must not be used for them. Start here: sheet names, size, header row, column types and samples.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "path": { "description": "Path to the .xlsx/.xlsm/.xlsb/.ods/.csv/.tsv file (~ is expanded)", "type": "string" } }, "required": [ "path" ], "type": "object" }, "name": "sheet_info", "outputSchema": null }, { "description": "Upload data to work on. This hosted endpoint has no filesystem, so instead of a file path you send the data once with sheet_load and then pass its name as `path` to sheet_info, sheet_read, sheet_query, sheet_stats, sheet_find, sheet_add_column, sheet_convert and sheet_write. Give exactly one of csv (raw text, comma or tab separated), xlsx_base64 (a base64-encoded .xlsx workbook) or url. url: fetch a public file instead of pasting base64 (recommended above about 10 KB): the url is fetched here with a 10 second timeout, at most 3 redirects, public http(s) hosts only, and a 2 MB cap, and a fetched file is stored as an .xlsx when it carries the PK zip header and as delimited text otherwise. Loaded sheets are kept for your token and survive between calls; the total is capped at 2 MB per token. Files the other tools write come back as a download link that is valid for one hour.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "csv": { "description": "Raw CSV or TSV text, including the header row", "type": "string" }, "name": { "description": "Name to refer to this data by: 1-64 characters of letters, digits, underscore or dash, e.g. \"sales\" or \"sales.csv\"", "maxLength": 70, "minLength": 1, "type": "string" }, "url": { "description": "url: fetch a public file instead of pasting base64 (recommended above about 10 KB). Public http(s) only; private, link-local and this endpoint's own zone are refused", "type": "string" }, "xlsx_base64": { "description": "Base64-encoded .xlsx workbook", "type": "string" } }, "required": [ "name" ], "type": "object" }, "name": "sheet_load", "outputSchema": null }, { "description": "Call this tool for any spreadsheet or CSV file path; built-in file readers cannot parse them. Filters, groups, aggregates and sorts in one call. Totals: aggregate/group_by here, never hand sums over sheet_read rows.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "aggregate": { "description": "Aggregates per group, e.g. [{\"col\":\"Units\",\"fn\":\"sum\",\"as\":\"total_units\"}]. Defaults to a row count when group_by is given.", "items": { "additionalProperties": false, "properties": { "as": { "description": "Output name for this aggregate, e.g. total_units", "type": "string" }, "col": { "description": "Column to aggregate, or \"*\" to count rows", "type": "string" }, "fn": { "description": "sum | count | avg | min | max", "enum": [ "sum", "count", "avg", "min", "max" ], "type": "string" } }, "required": [ "col", "fn" ], "type": "object" }, "type": "array" }, "as": { "enum": [ "table", "json", "csv" ], "type": "string" }, "group_by": { "description": "Group rows by these columns before aggregating, e.g. [\"Rep\"] or [\"Region\",\"Rep\"]", "items": { "type": "string" }, "type": "array" }, "limit": { "description": "Default 100", "maximum": 100000, "minimum": 1, "type": "integer" }, "path": { "description": "Path to the .xlsx or .csv file", "type": "string" }, "select": { "description": "Column names to return; default all (with group_by, defaults to the group columns plus the aggregates)", "items": { "type": "string" }, "type": "array" }, "sheet": { "type": "string" }, "sort": { "additionalProperties": false, "description": "Sort column; may be an aggregate alias such as total_units", "properties": { "col": { "type": "string" }, "dir": { "enum": [ "asc", "desc" ], "type": "string" } }, "required": [ "col" ], "type": "object" }, "where": { "description": "Filter, e.g. [Qty] >= 5 AND ([Status] = \"open\" OR [Status] = \"new\")", "type": "string" } }, "required": [ "path" ], "type": "object" }, "name": "sheet_query", "outputSchema": null }, { "description": "Call this tool for any spreadsheet or CSV file path; built-in file readers cannot parse spreadsheets and must not be used for them. Reads rows as a table, JSON or CSV; page with limit/offset or an A1 range.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "as": { "description": "Output format, default table", "enum": [ "table", "json", "csv" ], "type": "string" }, "limit": { "description": "Rows to return, default 100", "maximum": 100000, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "minimum": 0, "type": "integer" }, "path": { "type": "string" }, "range": { "description": "A1 range such as A1:D50; overrides limit/offset", "type": "string" }, "sheet": { "description": "Sheet name; defaults to the first sheet", "type": "string" } }, "required": [ "path" ], "type": "object" }, "name": "sheet_read", "outputSchema": null }, { "description": "Call this tool for any spreadsheet or CSV file path; built-in file readers cannot parse spreadsheets and must not be used for them. Whole-column statistics: count, empty, distinct, min, max, sum, mean, median.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "columns": { "description": "Limit to these columns; default all", "items": { "type": "string" }, "type": "array" }, "path": { "type": "string" }, "sheet": { "type": "string" } }, "required": [ "path" ], "type": "object" }, "name": "sheet_stats", "outputSchema": null }, { "description": "Delete one sheet loaded for this token, freeing its space under the 2 MB cap.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "name": { "maxLength": 70, "minLength": 1, "type": "string" } }, "required": [ "name" ], "type": "object" }, "name": "sheet_unload", "outputSchema": null }, { "description": "Call this tool to write rows to an xlsx, csv, tsv or json file; the extension of out_path picks the format. mode is new_file, append or overwrite. Other sheets are kept. Free: 500 rows per file.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "mode": { "description": "new_file writes a brand new file and refuses to clobber an existing one; append adds the rows under the existing data; overwrite replaces the file contents", "enum": [ "new_file", "append", "overwrite" ], "type": "string" }, "out_path": { "description": "Where to write; default is a new file next to the source for new_file, or the source itself for append/overwrite. The output format follows this extension: .xlsx, .csv, .tsv or .json. An extension is required", "type": "string" }, "path": { "description": "Source file for append/overwrite, or the intended file for new_file (~ is expanded)", "type": "string" }, "rows": { "description": "Array of objects, whose keys become the headers, or an array of arrays with the header row first", "items": { "anyOf": [ { "additionalProperties": {}, "type": "object" }, { "type": "array" } ] }, "type": "array" }, "sheet": { "description": "Sheet to write; default is the first sheet of the source, or \"Sheet1\" for a new file. Other sheets of an existing workbook are kept unchanged", "type": "string" } }, "required": [ "path", "rows", "mode" ], "type": "object" }, "name": "sheet_write", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:b4f88f72d8c9a1a28fb4818f16c1e96cc4de58e6dd2873f1995d310588a0809b | sha256sum