Koskamo

Johto Data MCP

Provides 12 pay-per-call web data and agent utility tools via an MCP server, including email scraping, job feeds, URL-to-markdown conversion, PDF extraction, market data, and various data validation and security utilities like PII redaction and injection scanning.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Johto Data MCP logo, by Johto DataVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-08Operated by Johto Data
MCP endpoint (Streamable HTTP)
https://johtodata.com/mcp
Vendor documentation

What its tools do

12 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

12 of 12 have a description · 12 of 12 declare behavior hints · 4 of 12 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to johtodata.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Scrape emails and contact info from websites
  • Extract jobs from Greenhouse, Lever, and Ashby boards
  • Convert URLs to clean Markdown for LLMs
  • Redact PII from text data

Source and maintenance

Vendor evidenceRegistry 1.1.0

Protocol and capabilities

Server
johtodata 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
12 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Pay-per-call tools. tools/list is free. tools/call without payment returns x402 payment requirements in structuredContent; pay and retry with the payment header.

Tools

12 advertised

url_to_markdown — Johto Data URL to Markdown
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Fetch one public web page and return clean Markdown plus title. For LLM context and RAG. Costs $0.005 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

url_to_markdown input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) page URL"
    }
  }
}
url_to_markdown annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
extract_contacts — Johto Data Extract Contacts
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Fetch one public web page and return emails, phone numbers and social profile links found on it. Costs $0.005 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

extract_contacts input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) page URL"
    }
  }
}
extract_contacts annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
context_pack — Johto Data Context Pack
Advertised by the server during the last successful anonymous check.
Advertised read-only

POST documents or text chunks plus a token budget. Returns deduplicated, query-ranked, whitespace-compressed context that fits the budget, with source offsets and a token estimate. Deterministic, no LLM. Costs $0.01 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

context_pack input schema
{
  "type": "object",
  "required": [
    "documents"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "Question to rank passages against"
    },
    "budget": {
      "type": "integer",
      "description": "Token budget"
    },
    "documents": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "text"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Document id"
          },
          "text": {
            "type": "string",
            "description": "Document text"
          }
        }
      }
    }
  }
}
context_pack annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
dataset_check — Johto Data Dataset Check
Advertised by the server during the last successful anonymous check.
Advertised read-only

POST CSV text or JSON rows. Returns inferred schema plus null, missing, duplicate, type-mismatch and numeric outlier findings per column, and a 0-100 quality score. Never changes values. Costs $0.01 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

dataset_check input schema
{
  "type": "object",
  "properties": {
    "csv": {
      "type": "string",
      "description": "CSV text"
    },
    "key": {
      "type": "string",
      "description": "Optional key column"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}
dataset_check annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
x402_lint — Johto Data x402 Lint
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

POST a URL of an x402 paid endpoint, or a raw PAYMENT-REQUIRED header or 402 JSON body. Returns PASS/WARN/FAIL checks for x402 v1/v2: version, networks, assets, atomic amounts, payTo, timeouts, EIP-712 extra and missing fields. Static check, no settlement. Costs $0.01 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

x402_lint input schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "x402 endpoint URL to probe"
    },
    "body": {
      "type": "object",
      "description": "402 JSON body"
    },
    "header": {
      "type": "string",
      "description": "Base64 PAYMENT-REQUIRED header"
    },
    "expected": {
      "type": "object"
    }
  }
}
x402_lint annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
json_repair — Johto Data JSON Repair
Advertised by the server during the last successful anonymous check.
Advertised read-only

POST broken or LLM-truncated JSON (max 16 KB). Returns valid JSON plus an ordered list of fixes: code fences, comments, single quotes, bare keys, trailing or missing commas, Python literals and unclosed strings, arrays or objects. Valid input is returned unchanged. Costs $0.005 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

json_repair input schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "Broken JSON text, max 16 KB"
    }
  }
}
json_repair annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
schema_diff — Johto Data Schema Diff
Advertised by the server during the last successful anonymous check.
Advertised read-only

POST two JSON Schemas or OpenAPI documents as old and new. Returns breaking and non-breaking changes with JSON pointers and reason codes: removed properties, new required fields, narrowed types, enums and bounds, removed paths, operations, parameters and responses. Costs $0.01 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

schema_diff input schema
{
  "type": "object",
  "required": [
    "old",
    "new"
  ],
  "properties": {
    "new": {
      "type": "object",
      "description": "New JSON Schema or OpenAPI"
    },
    "old": {
      "type": "object",
      "description": "Old JSON Schema or OpenAPI"
    },
    "mode": {
      "enum": [
        "input",
        "output"
      ],
      "type": "string"
    }
  }
}
schema_diff annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
injection_scan — Johto Data Injection Scan
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

POST text, HTML or a public URL. Returns a 0-100 prompt-injection risk score with rule hits and exact character spans: instruction overrides, forged role tags, system-prompt leaks, secret exfiltration, hidden HTML text, zero-width and Unicode tag characters. Deterministic, versioned rules. Costs $0.01 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

injection_scan input schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Public page URL to scan"
    },
    "html": {
      "type": "string",
      "description": "HTML to scan"
    },
    "text": {
      "type": "string",
      "description": "Text to scan"
    }
  }
}
injection_scan annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
pii_redact — Johto Data PII Redact
Advertised by the server during the last successful anonymous check.
Advertised read-only

POST text (max 64 KB). Detects and redacts emails, phone numbers, Luhn-valid card numbers, SSNs, IBANs (mod 97), IPv4/IPv6 addresses, API keys, JWTs, private keys and password assignments. Returns redacted text, per-type counts and findings with offsets. Nothing stored. Costs $0.005 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

pii_redact input schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "Text, max 64 KB"
    },
    "style": {
      "enum": [
        "label",
        "mask"
      ],
      "type": "string"
    },
    "types": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
pii_redact annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
config_lint — Johto Data Config Lint
Advertised by the server during the last successful anonymous check.
Advertised read-only

POST a YAML, JSON, TOML, .env, Dockerfile or GitHub Actions workflow (max 64 KB, kind auto-detected). Returns syntax errors and common mistakes with line numbers and rule IDs: tabs, duplicate keys, unpinned images and actions, root user, curl-pipe-shell, script injection, committed secrets. Optional SARIF. Costs $0.005 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

config_lint input schema
{
  "type": "object",
  "required": [
    "content"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "description": "json, yaml, toml, env, dockerfile or github-actions"
    },
    "format": {
      "enum": [
        "sarif"
      ],
      "type": "string"
    },
    "content": {
      "type": "string",
      "description": "File content, max 64 KB"
    },
    "filename": {
      "type": "string",
      "description": "Optional filename"
    }
  }
}
config_lint annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
validate_id — Johto Data Validate ID
Advertised by the server during the last successful anonymous check.
Advertised read-only

POST up to 50 identifiers. Validates IBAN (mod 97), EU/UK/CH/NO VAT format, EAN/UPC/ISBN check digits, card numbers (Luhn, brand), EVM addresses (EIP-55 checksum), Solana base58 addresses, email syntax and E.164 phone numbers. Type auto-detected when omitted. Returns normalized values. Costs $0.005 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

validate_id input schema
{
  "type": "object",
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "value"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Optional id type"
          },
          "value": {
            "type": "string",
            "description": "Identifier"
          }
        }
      },
      "maxItems": 50
    }
  }
}
validate_id annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
html_to_rag — Johto Data HTML to RAG
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

POST HTML or a public URL. Strips scripts, styles, nav and footers, converts to Markdown and returns heading-aware chunks with heading paths, token estimates, stable hashes and configurable overlap. For embedding and RAG pipelines. Costs $0.005 USDC per call via x402. Without payment, the call returns the x402 payment requirements; retry with an X-PAYMENT or PAYMENT-SIGNATURE header, or params._meta["x402/payment"].

html_to_rag input schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Public page URL"
    },
    "html": {
      "type": "string",
      "description": "HTML"
    },
    "chunkTokens": {
      "type": "integer"
    },
    "overlapTokens": {
      "type": "integer"
    }
  }
}
html_to_rag annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-09: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
316 ms
95th percentile latency
316 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 316 ms · metadata changed · 12 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http johto-data-mcp https://johtodata.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add johto-data-mcp --url https://johtodata.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable johto-data-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "johto-data-mcp": {
      "url": "https://johtodata.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "johto-data-mcp": {
      "type": "streamableHttp",
      "url": "https://johtodata.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start johto-data-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "johto-data-mcp": {
      "type": "http",
      "url": "https://johtodata.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http johto-data-mcp https://johtodata.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://johtodata.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "johto-data-mcp": {
      "serverUrl": "https://johtodata.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Johto Data MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Johto Data MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing