13 micro-tools for agents: read pages, verify email, convert, validate, diff, extract. AI-operated.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional: 'Bearer ck_...' credits key for full input limits (buy at coinslot.dev). Without it, tools run in free demo mode with 2KB input caps.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Convert an array of JSON objects to CSV (nested keys become dot-path columns) or CSV back to JSON. POST { direction: 'json-to-csv'|'csv-to-json', data }. Price: $0.002/call with credits key; free demo without (2KB input cap).
Array of objects (json-to-csv) or CSV string (csv-to-json)
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Convert an array of JSON objects to CSV (nested keys become dot-path columns) or CSV back to JSON. POST { direction: 'json-to-csv'|'csv-to-json', data }. Price: $0.002/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| data* | any | Array of objects (json-to-csv) or CSV string (csv-to-json) |
| direction* | string |
{
"type": "object",
"required": [
"direction",
"data"
],
"properties": {
"data": {
"description": "Array of objects (json-to-csv) or CSV string (csv-to-json)"
},
"direction": {
"enum": [
"json-to-csv",
"csv-to-json"
],
"type": "string"
}
}
}Parse a 5-field cron expression: get a plain-English explanation and the next N run times (UTC). POST { expression, count?, from? }. Price: $0.002/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| from | string | ISO date to project from |
| count | integer | |
| expression* | string | 5-field cron or @alias |
{
"type": "object",
"required": [
"expression"
],
"properties": {
"from": {
"type": "string",
"description": "ISO date to project from"
},
"count": {
"type": "integer",
"default": 5,
"maximum": 20,
"minimum": 1
},
"expression": {
"type": "string",
"description": "5-field cron or @alias"
}
}
}Line-based diff of two texts. Returns unified diff plus structured changes (added/removed/unchanged counts and hunks). POST { a, b, context? } (max 200KB each). Price: $0.002/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| a* | string | |
| b* | string | |
| context | integer |
{
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string"
},
"b": {
"type": "string"
},
"context": {
"type": "integer",
"default": 3,
"maximum": 10,
"minimum": 0
}
}
}Check an email address: RFC syntax, live MX records via DNS-over-HTTPS, and disposable-domain screening. POST { email } or { emails: [...] } (max 20). Price: $0.003/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| string | Single address | |
| emails | array |
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Single address"
},
"emails": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20
}
}
}Pull structured data out of raw text: emails, URLs, IPv4/IPv6, phone numbers, dates. Deduplicated with counts. POST { text } (max 500KB). Price: $0.003/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| text* | string | Raw text, max 500KB |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Raw text, max 500KB"
}
}
}Parse an RSS 2.0 or Atom feed into clean JSON: title, items with link/date/summary, HTML stripped. POST { xml } (max 1MB) or { url } to fetch. Price: $0.004/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| url | string | Feed URL to fetch instead |
| xml | string | Feed XML, max 1MB |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Feed URL to fetch instead"
},
"xml": {
"type": "string",
"description": "Feed XML, max 1MB"
}
}
}Convert HTML to clean Markdown: headings, links, images, lists, tables, code blocks, emphasis. Strips scripts, styles, and comments. POST { html } (max 500KB). Price: $0.005/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| html* | string | HTML document or fragment, max 500KB |
{
"type": "object",
"required": [
"html"
],
"properties": {
"html": {
"type": "string",
"description": "HTML document or fragment, max 500KB"
}
}
}Validate a JSON document against a JSON Schema (draft-07 core subset: types, required, enums, ranges, patterns, nesting, anyOf/allOf/oneOf). Returns all violations with paths. POST { schema, data }. Price: $0.003/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| data* | any | Document to validate |
| schema* | object | JSON Schema (draft-07 core subset) |
{
"type": "object",
"required": [
"schema",
"data"
],
"properties": {
"data": {
"description": "Document to validate"
},
"schema": {
"type": "object",
"description": "JSON Schema (draft-07 core subset)"
}
}
}Render Markdown (GitHub-flavored: tables, fenced code, task lists) to clean HTML with raw inline HTML stripped. POST { markdown } (max 500KB). Price: $0.003/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| markdown* | string | GitHub-flavored Markdown, max 500KB |
{
"type": "object",
"required": [
"markdown"
],
"properties": {
"markdown": {
"type": "string",
"description": "GitHub-flavored Markdown, max 500KB"
}
}
}Generate a QR code as standalone SVG. POST { text, ecLevel?: 'L'|'M'|'Q'|'H', margin?: 0-8, dark?, light? } (text max 2KB). Price: $0.005/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| dark | string | hex color |
| text* | string | |
| light | string | hex color |
| margin | integer | |
| ecLevel | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"dark": {
"type": "string",
"description": "hex color"
},
"text": {
"type": "string",
"maxLength": 2048
},
"light": {
"type": "string",
"description": "hex color"
},
"margin": {
"type": "integer",
"default": 4,
"maximum": 8,
"minimum": 0
},
"ecLevel": {
"enum": [
"L",
"M",
"Q",
"H"
],
"type": "string",
"default": "M"
}
}
}Fetch a public URL and return its content as clean Markdown plus title and metadata. One call instead of fetch + parse + convert. POST { url, maxBytes? } (default 1MB cap). Price: $0.005/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL |
| maxBytes | integer |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public http(s) URL"
},
"maxBytes": {
"type": "integer",
"default": 1000000,
"maximum": 3000000,
"minimum": 1024
}
}
}Convert a timestamp between IANA timezones with DST handled correctly. Returns local times, UTC offsets, weekday, and hour-of-day per zone. POST { time?, from?, to } — to is a zone or array (max 20). Price: $0.002/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| to* | any | IANA zone or array of zones (max 20) |
| from | string | IANA zone the input wall-clock is in |
| time | any | ISO string, epoch, or 'now' |
{
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"description": "IANA zone or array of zones (max 20)"
},
"from": {
"type": "string",
"description": "IANA zone the input wall-clock is in"
},
"time": {
"description": "ISO string, epoch, or 'now'"
}
}
}Validate identifiers with real checksum math: credit card (Luhn + brand), IBAN (mod-97), EAN-13/UPC-A, ISBN-10/13, UUID (with version). POST { type, value } or { items: [{type, value}] } (max 50). Price: $0.003/call with credits key; free demo without (2KB input cap).
| Argument | Type | Description |
|---|---|---|
| type | string | |
| items | array | |
| value | string |
{
"type": "object",
"properties": {
"type": {
"enum": [
"card",
"iban",
"ean",
"isbn",
"uuid"
],
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"maxItems": 50
},
"value": {
"type": "string"
}
}
}