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.
- 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/mcpclaude mcp add --transport http textokit https://tienda.textokit.store/mcpRun 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.
{
"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.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.github.martinPisacreta/textokit-mcp)Source: MCP Registry · repository. Synced Oct 22, 2026, 16:17 UTC.