Skip to content

io.github.martinPisacreta/textokit-mcp

io.github.martinPisacreta/textokit-mcpmartinPisacretastreamable-httpv0.1.2Scanned

17 pay-per-call x402 tools on Base: web reader, FX/crypto rates, Argentine data, Spanish text. Remot

20 tools: 2 do something that can't be undone, 12 change things and 6 only read.

Tools: 0 delete, 2 irreversible, 12 write, 6 read.
  • Reads private data · 0
  • Reads text others write · 2
  • Can send data out · 3
  • No findings

Anlyon alternative

14 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

20 tools

Can't be undone 2Claude Code: ask
  • textokit_dev_utilsHash, HMAC, JWT decode, UUID, base64 and time zone utilities.Can send data outNo findings

    Why it is in this group

    • The input addresses people (input.to): what it sends cannot be taken back.

    What it can reach

    • outboundThe input takes a destination (input.to): what the tool writes goes there.
    Description, as the server wrote it
    Hash, HMAC, JWT decode, UUID, base64 and time zone utilities. Hash sha256, sha512, sha1 or md5, HMAC, JWT decode (header, payload, expiry, optional HS256 check), UUID v4, base64 encode and decode, URL parse, time zone convert and unix to ISO: one deterministic op per call. Use this when an agent needs a verifiable transform without shipping its own library. Pure Node, no upstream, no model inference, nothing stored, JSON out. Free sample at /api/dev-utils/sa Price: 0.001 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_how_to_payHow to pay a tool with x402 (HTTP 402) from your own wallet, and the local npm alternative that signs for you.No findings

    Why it is in this group

    • The name "textokit_how_to_pay" says "pay": a word that usually means money moves, which cannot be taken back.
    Description, as the server wrote it
    How to pay a tool with x402 (HTTP 402) from your own wallet, and the local npm alternative that signs for you. Free.
Changes things 12Claude Code: ask
  • textokit_bcra_indicadoresIndicadores monetarios del BCRA.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Indicadores monetarios del BCRA. Consulta una página de variables u observaciones por fecha de la API pública de estadísticas v4.0 del BCRA. El filtro de texto se aplica solo a la página recibida. La serie admite un identificador de variable y fechas opcionales. Incluye URL de fuente, hora de lectura y paginación informada por BCRA. Hace una lectura sin reintentos y rechaza respuestas incompletas. No ofrece búsqueda global ni his Price: 0.002 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_cartas_arFormal letter in Argentine Spanish.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Formal letter in Argentine Spanish. Drafts a firm, courteous formal letter in Argentine Spanish using the supplied information. Supports reclamo, intimacion or solicitud and an optional requested response period. Does not verify facts or determine legal effects. If drafting fails, returns the existing template and explains its scope. Examples preserve the supplied Spanish text. Price: 0.005 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_crypto_pricesPrecios de criptomonedas en USD.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Precios de criptomonedas en USD. Consulta precio spot USD, capitalización y variación porcentual de 24 horas para 1 a 20 IDs de CoinGecko. Incluye fuente y hora de lectura; actualización del proveedor cuando existe. Las métricas opcionales ausentes son null; un precio ausente produce error. Una lectura por ejecución, sin reintentos automáticos. La fuente puede usar caché; sus fallos y HTTP 429 generan errores claros. Price: 0.001 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_direcciones_arArgentine address candidates from Georef.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Argentine address candidates from Georef. Returns possible Argentine address matches from Georef, preserving source records, URL and reading time. An optional province identifier restricts the request; records outside that province cause rejection. Results do not guarantee a unique or correct match or an exhaustive search. Price: 0.002 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_dolar_arArgentina dollar exchange rates.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Argentina dollar exchange rates. Return official, blue, MEP (bolsa) and CCL rates published by DolarAPI, with buy and sell prices, source URL, reading time, source update timestamps and evidence references. Does not guarantee real-time prices or independent confirmation. Price: 0.002 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_fx_ratesFX rates: daily exchange rates for USD, EUR, ARS, BRL and 160 currencies.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    FX rates: daily exchange rates for USD, EUR, ARS, BRL and 160 currencies. FX rates and currency conversion reference: daily exchange rates for up to 20 currencies against one base (USD, EUR, GBP, JPY, BRL, MXN, ARS and about 160 more) with rate, reference date and source URL from Frankfurter (central-bank data, MIT licence). Use this when an agent needs an official-style exchange rate to price, invoice or convert amounts and must cite where it came from. Daily rates, no Price: 0.001 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_normativa_arArgentina Boletin Oficial search: official gazette notices with excerpts.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Argentina Boletin Oficial search: official gazette notices with excerpts. Argentina official gazette (Boletin Oficial) keyword search returning literal excerpts of matching notices with dates and source URLs; an optional date limits the search to that day's notices. Use this when an agent needs primary-source evidence of an Argentine regulation, decree, resolution or notice. No completeness guarantee and no legal interpretation; if the official search cannot be verified Price: 0.005 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_polymarket_marketsMercados y datos públicos de Polymarket.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Mercados y datos públicos de Polymarket. Consulta una página de mercados públicos de Gamma o posiciones y actividad de una billetera en Data API. Los filtros y el orden de mercados se aplican solo a la página recibida. Devuelve campos originales compactos, fuente y hora de lectura. No acredita coincidencias globales, rankings ni cobertura completa de la billetera. Si la fuente falla, devuelve un error sin inventar resultados. Price: 0.002 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_sampleFree sample of one route (same schema as the paid output) plus an inputExample.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Free sample of one route (same schema as the paid output) plus an inputExample. Use it before paying.
  • textokit_translate_esTranslate to Spanish (Argentina): rioplatense voseo, any source language.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Translate to Spanish (Argentina): rioplatense voseo, any source language. Translate text to Spanish as spoken in Argentina and Uruguay (rioplatense, voseo): up to 6,000 characters from any language, keeping names, numbers, links and formatting. Use this when an agent needs Spanish copy for Argentine or Uruguayan users, such as support replies, product listings, notifications or marketing, instead of neutral or European Spanish. Optional tone: formal, neutral or casual. Price: 0.003 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_url_textTexto legible de una página pública.Can send data outNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Texto legible de una página pública. Extrae contenido legible y título de una página HTML pública HTTPS, como texto o Markdown simple. Una lectura sin reintentos. Elimina scripts, estilos y navegación reconocida mediante reglas heurísticas. No ejecuta JavaScript ni accede a páginas con login. El lector limita el contenido a 20.000 caracteres y se informa el recorte. La extracción del contenido principal es aproximada. Price: 0.001 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_x402_adoptionx402 Bazaar stats: what agents actually buy, with sources.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    x402 Bazaar stats: what agents actually buy, with sources. x402 adoption and Bazaar stats with sources: seller and host concentration, how many listings have real unique payers in 30 days, USDC price percentiles, keyword categories, the paid demand radar, from a full crawl of the Coinbase x402 Bazaar. Use this when an agent or builder needs current x402 market numbers with source URLs before deciding what to sell or buy. Sections: overview, sellers, payer Price: 0.005 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
Only reads 6Show 6 read-only tools
  • textokit_catalogList all store routes with price in USDC, network, summary and HTTP URL.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "list" and "http": it reads web pages, which anyone can write.
    Description, as the server wrote it
    List all store routes with price in USDC, network, summary and HTTP URL. Free.
  • textokit_comparar_textosCompare texts literally.No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compare texts literally. Compare two strings literally without normalization or inference. Returns equality, lengths and the first difference with Unicode code point and UTF-16 positions. Each input supports up to 20000 UTF-16 units. Does not verify file bytes, facts or delivery acceptance. Price: 0.001 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_cuit_arValidate Argentine CUIT or CUIL tax id (check digit, KYC onboarding).No findings

    Why it is in this group

    • The description's first verb is "validate": a word for reading.
    Description, as the server wrote it
    Validate Argentine CUIT or CUIL tax id (check digit, KYC onboarding). Validate an Argentine CUIT or CUIL tax id: format and check-digit verification, normalized and formatted forms, declared type (CUIT or CUIL). Use this when an agent collects Argentine customer or supplier ids and must reject typos before invoicing, KYC or onboarding. Mathematical validation only: it does not confirm registration or ownership. JSON, no model inference. Free sample at /api/cuit-ar/s Price: 0.001 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_source_bounded_summarySummarize text with verified quotes (evidence-bound summary).No findings

    Why it is in this group

    • The description's first verb is "summarize": a word for reading.
    Description, as the server wrote it
    Summarize text with verified quotes (evidence-bound summary). Summarize text with evidence: send 1 to 4,000 characters in English or Spanish and get a short summary plus 1 to 3 supporting quotes verified as exact substrings of your text, with a limitations note. Use this when an agent must condense an article, email or document and needs citations it can check before putting them in a report. Works only on the supplied text, no web retrieval, JSON out. Free Price: 0.002 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_web_readWeb page to Markdown: read any public URL as clean text.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "textokit_web_read" says "read": a word for reading.

    What it can reach

    • untrusted-inputThe name "textokit_web_read" says "read" and "web": it reads web pages, which anyone can write.
    • untrusted-inputThe description's first sentence says "web": it reads web pages, which anyone can write.
    • untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Claude Code: ask, because it is tagged outbound.

    Description, as the server wrote it
    Web page to Markdown: read any public URL as clean text. Web page to Markdown or plain text: fetch one public URL and get its title and main content with scripts, styles, navigation and ads stripped, plus character count and truncation flags. Use this when an agent needs to read a URL for research, RAG, monitoring or summarization without an API key or a browser. One HTTPS fetch of static HTML (no JavaScript rendering, no login pages), up to 20,000 char Price: 0.001 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.
  • textokit_x402_pingx402 ping: cheapest end-to-end test of an x402 payment on Base.No findings

    Why it is in this group

    • The name "textokit_x402_ping" says "ping": a word for reading.
    Description, as the server wrote it
    x402 ping: cheapest end-to-end test of an x402 payment on Base. x402 payment test and ping: one call with no required parameters returns server time (ISO 8601 and Unix ms), a request id, the seller payTo, chain id and an echo of your optional text, only after a real settlement. Use this when an agent needs to prove its payment flow works, measure round-trip latency or run a cheap scheduled canary against a live seller. No upstream, no model inference; paid rou Price: 0.001 USDC per call (x402 on Base). Without payment_signature it returns the payment requirements. Free sample: textokit_sample.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write2
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out3
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 0.1.2. Values in angle brackets are yours to fill in.

claude mcp add --transport http textokit https://tienda.textokit.store/mcp
claude mcp add --transport http textokit https://tienda.textokit.store/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__textokit__textokit_catalog",
      "mcp__textokit__textokit_comparar_textos",
      "mcp__textokit__textokit_cuit_ar",
      "mcp__textokit__textokit_source_bounded_summary",
      "mcp__textokit__textokit_x402_ping"
    ],
    "ask": [
      "mcp__textokit__textokit_sample",
      "mcp__textokit__textokit_how_to_pay",
      "mcp__textokit__textokit_translate_es",
      "mcp__textokit__textokit_bcra_indicadores",
      "mcp__textokit__textokit_cartas_ar",
      "mcp__textokit__textokit_crypto_prices",
      "mcp__textokit__textokit_dev_utils",
      "mcp__textokit__textokit_direcciones_ar",
      "mcp__textokit__textokit_dolar_ar",
      "mcp__textokit__textokit_fx_rates",
      "mcp__textokit__textokit_normativa_ar",
      "mcp__textokit__textokit_polymarket_markets",
      "mcp__textokit__textokit_url_text",
      "mcp__textokit__textokit_web_read",
      "mcp__textokit__textokit_x402_adoption"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as textokit. Review it before you use it.

Capability tags behind 4 rules
  • mcp__textokit__textokit_catalog untrusted-input
  • mcp__textokit__textokit_dev_utils outbound
  • mcp__textokit__textokit_url_text outbound
  • mcp__textokit__textokit_web_read untrusted-input, outbound

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/io.github.martinPisacreta/textokit-mcp/verify?hash=20fe56fa46285e882ded10c33db1b4166504f7bb8402ac887710e83e3ba87140" | jq -e '.changed == false'

Pinned hash 20fe56fa4628, from Oct 22, 2026, 16:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/io.github.martinPisacreta/textokit-mcp/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for io.github.martinPisacreta/textokit-mcp
[![anlyon.dev](https://anlyon.dev/badge/io.github.martinPisacreta/textokit-mcp.svg)](https://anlyon.dev/servers/io.github.martinPisacreta/textokit-mcp)

Source: MCP Registry · repository. Synced Oct 22, 2026, 16:17 UTC.