Server definition
- Hash
- sha256:4674f7e6de074948eedbd560d377810efc8570d95aa4d1cedc697becd987bf18
- What it is
- What a remote MCP server returned when asked what it offers: 8 tools
The blob, as servednamed by its sha256
{
"instructions": "Nanotoll MCP — 8 tools: prune, convert, estimate, diff, patch, generate, validate, read. All calls billed per input character in USDC on Base L2 (read: $0.0005 flat). Ensure sufficient credit balance on your account.",
"tools": [
{
"description": "Transform text between JSON, YAML, TOML, and CSV formats. Returns the converted text and input/output character metrics. Note some conversions can be lossy (e.g. JSON to CSV flattens nested structures). Requires a valid API key (Bearer token); billing is per input character — insufficient balance returns HTTP 402. For removing comments use `prune`, for generating llms.txt use `generate`.",
"inputSchema": {
"properties": {
"from_format": {
"description": "Source format of the input payload.",
"enum": [
"json",
"yaml",
"toml",
"csv"
],
"type": "string"
},
"payload": {
"description": "Text to convert (1 char min, 10 MiB max).",
"type": "string"
},
"to_format": {
"description": "Target format to convert into.",
"enum": [
"json",
"yaml",
"toml",
"csv"
],
"type": "string"
}
},
"required": [
"payload",
"from_format",
"to_format"
],
"type": "object"
},
"name": "convert",
"outputSchema": null
},
{
"description": "Generate a unified diff between two text versions (the before and after). Returns the diff text plus metrics (lines added, lines removed, output chars). Requires a valid API key (Bearer token); billing is per combined input characters. To apply a diff, use `patch`.",
"inputSchema": {
"properties": {
"text_a": {
"description": "First text version (the \"before\" text).",
"type": "string"
},
"text_b": {
"description": "Second text version (the \"after\" text).",
"type": "string"
}
},
"required": [
"text_a",
"text_b"
],
"type": "object"
},
"name": "diff",
"outputSchema": null
},
{
"description": "Estimate the USD cost of an LLM API call using the CWEP four-flow model (request generation, request processing, response generation, response reception). Returns a JSON object with the per-flow cost breakdown, the total, and the pricing source date. Unknown model names return HTTP 422 — check GET /api/v1/pricing on costa.nanotoll.dev for the supported list (no auth needed). Requires a valid API key (Bearer token); billing is per input character.",
"inputSchema": {
"properties": {
"input_tokens": {
"description": "Number of input (prompt) tokens.",
"minimum": 0,
"type": "integer"
},
"model": {
"description": "Model name (e.g. gpt-4o).",
"type": "string"
},
"output_tokens": {
"description": "Number of output (completion) tokens.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"model",
"input_tokens",
"output_tokens"
],
"type": "object"
},
"name": "estimate",
"outputSchema": null
},
{
"description": "Generate an llms.txt agent-discovery file from structured service metadata (name, endpoints, overview, links, pricing). Returns the llms.txt content and output metrics. Requires a valid API key (Bearer token); billing is per input character. To check an existing llms.txt for spec compliance, use `validate`.",
"inputSchema": {
"properties": {
"endpoints": {
"description": "API endpoints to list in the llms.txt. Each item has method, path, and description.",
"items": {
"properties": {
"description": {
"description": "What the endpoint does.",
"type": "string"
},
"method": {
"description": "HTTP method (GET, POST, etc.).",
"type": "string"
},
"path": {
"description": "Endpoint path (e.g. /api/v1/squeeze).",
"type": "string"
}
},
"required": [
"method",
"path",
"description"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Optional related links (docs, source, etc.). Each item has title and url.",
"items": {
"properties": {
"title": {
"description": "Display text for the link.",
"type": "string"
},
"url": {
"description": "Target URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"title",
"url"
],
"type": "object"
},
"type": "array"
},
"name": {
"description": "Service name (H1 title of the llms.txt file).",
"type": "string"
},
"overview": {
"description": "Paragraphs of prose describing the service. Each array element becomes a paragraph in the llms.txt Overview section.",
"items": {
"type": "string"
},
"type": "array"
},
"pricing": {
"description": "Pricing summary string (e.g. \"$0.0002 per call\"). Pass null to omit.",
"type": [
"string",
"null"
]
},
"tagline": {
"description": "One-line summary of the service, shown as a subtitle below the H1. Pass null to omit.",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"endpoints"
],
"type": "object"
},
"name": "generate",
"outputSchema": null
},
{
"description": "Apply a unified diff patch to text, producing the transformed output. Returns the patched text. Requires a valid API key (Bearer token); billing is per combined input characters. To generate a diff, use `diff`.",
"inputSchema": {
"properties": {
"patch": {
"description": "Unified diff patch text.",
"type": "string"
},
"text": {
"description": "Original text to apply the patch to.",
"type": "string"
}
},
"required": [
"text",
"patch"
],
"type": "object"
},
"name": "patch",
"outputSchema": null
},
{
"description": "Strip comments and empty lines from text to reduce token count before sending to an LLM. Returns the pruned text and character metrics. Requires a valid API key (Bearer token); billing is per input character — insufficient balance returns HTTP 402. For format conversion use `convert`, for generating llms.txt use `generate`.",
"inputSchema": {
"properties": {
"comment_prefix": {
"description": "Optional. Explicit comment-line prefix to strip outside code fences (e.g. '//' for C-style code). Omit for format-aware pruning: markdown '#' headings are preserved (v101 #12 note), no line stripping on plain text. Max 64 bytes, no control chars.",
"type": "string"
},
"payload": {
"description": "Text to prune (1 char min, 10 MiB max).",
"type": "string"
},
"remove_empty_lines": {
"default": true,
"description": "If true, empty lines outside code fences are removed.",
"type": "boolean"
}
},
"required": [
"payload"
],
"type": "object"
},
"name": "prune",
"outputSchema": null
},
{
"description": "Fetch a web page and return clean GitHub-flavored markdown at a strict token budget. DOM-density scoring strips boilerplate (CSS, JS, navbars, tracking) — raw HTML averages 80-95% noise. Requires a valid API key (Bearer token); billing is $0.0005 flat per read — insufficient balance returns HTTP 402. Fetch failures return HTTP 422 and are refunded.",
"inputSchema": {
"properties": {
"include_links": {
"default": true,
"description": "If true, hyperlinks are kept as markdown links.",
"type": "boolean"
},
"max_tokens": {
"description": "Optional token budget — markdown is truncated to this many estimated tokens. Omit for full page.",
"minimum": 1,
"type": "integer"
},
"preserve_tables": {
"default": true,
"description": "If true, HTML tables are preserved as GFM tables.",
"type": "boolean"
},
"url": {
"description": "URL of the web page to fetch and convert to markdown.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "read",
"outputSchema": null
},
{
"description": "Validate an llms.txt payload for spec compliance (H1 title, endpoints section, pricing section, structure). Returns a validation report with errors, warnings, and structural flags. Requires a valid API key (Bearer token); billing is per input character. To generate new llms.txt, use `generate`.",
"inputSchema": {
"properties": {
"content": {
"description": "llms.txt content to validate.",
"type": "string"
}
},
"required": [
"content"
],
"type": "object"
},
"name": "validate",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:4674f7e6de074948eedbd560d377810efc8570d95aa4d1cedc697becd987bf18 | sha256sum