# Burs-IA Utils

> 465 deterministic utility tools for AI agents (hashing, encoding, JSON, dates, math, units, web formats, validation) plus tools unique to Burs-IA for Colombia/Latin America and agent readiness. Free tier, no account; payments off in v1.

Each tool takes a JSON object and returns JSON. Use POST /t/{name}, or the MCP endpoint at /mcp (tools/list is paginated; find_tool searches the catalog).

Every result carries a `recibo` (receipt): SHA-256 hashes of the RFC 8785 canonical input and output plus the tool version. Receipts are unsigned: they prove consistency, not origin (anyone can compute the same hashes). / Cada resultado trae un `recibo`; es sin firma: prueba consistencia, no origen.

## Docs

- [Megapuerta / install page](https://bursia-utils-production.up.railway.app/puerta): one-click install for Cursor, VS Code and Claude, plus a playground
- [Gateway /mcp/puerta](https://bursia-utils-production.up.railway.app/mcp/puerta/server-card): recommended for tool-capped clients; 2 MCP tools (buscar, usar) reach all 465
- [Essentials /mcp/esencial](https://bursia-utils-production.up.railway.app/mcp/esencial/server-card): curated selection of 25 everyday tools
- [Tool catalog](https://bursia-utils-production.up.railway.app/tools): every tool with schemas and examples (JSON)
- [OpenAPI](https://bursia-utils-production.up.railway.app/openapi.json): generated OpenAPI 3.1 description
- [MCP server card](https://bursia-utils-production.up.railway.app/.well-known/mcp.json): MCP Streamable HTTP endpoint details
- [API catalog](https://bursia-utils-production.up.railway.app/.well-known/api-catalog): RFC 9727 linkset of every API on this host
- [Agent skills](https://bursia-utils-production.up.railway.app/.well-known/agent-skills/index.json): one SKILL.md per themed server

## Families

- [Hashing, HMAC and checksums](https://bursia-utils-production.up.railway.app/tools?family=hash): 36 tools; Hash, HMAC y checksums
- [Encodings (base64, base32, base58, bech32, punycode…)](https://bursia-utils-production.up.railway.app/tools?family=encoding): 38 tools; Codificaciones
- [Identifiers (UUID, ULID, Snowflake…)](https://bursia-utils-production.up.railway.app/tools?family=ids): 13 tools; Identificadores
- [Text processing](https://bursia-utils-production.up.railway.app/tools?family=text): 52 tools; Procesamiento de texto
- [HTML and Markdown](https://bursia-utils-production.up.railway.app/tools?family=markup): 14 tools; HTML y Markdown
- [JSON, CSV, YAML, XML and arrays](https://bursia-utils-production.up.railway.app/tools?family=data): 38 tools; JSON, CSV, YAML, XML y arreglos
- [Math, statistics and financial math](https://bursia-utils-production.up.railway.app/tools?family=math): 37 tools; Matemáticas, estadística y finanzas
- [Unit conversion](https://bursia-utils-production.up.railway.app/tools?family=units): 21 tools; Conversión de unidades
- [Dates, times, time zones and cron](https://bursia-utils-production.up.railway.app/tools?family=datetime): 26 tools; Fechas, horas, zonas horarias y cron
- [URLs, HTTP, JWT, semver and IP math](https://bursia-utils-production.up.railway.app/tools?family=web): 35 tools; URLs, HTTP, JWT, semver e IPs
- [Colors and accessibility](https://bursia-utils-production.up.railway.app/tools?family=color): 12 tools; Colores y accesibilidad
- [Geospatial math](https://bursia-utils-production.up.railway.app/tools?family=geo): 23 tools; Matemática geoespacial
- [Commerce and money math](https://bursia-utils-production.up.railway.app/tools?family=finance): 27 tools; Comercio y dinero
- [Check digits and identifiers](https://bursia-utils-production.up.railway.app/tools?family=validation): 19 tools; Dígitos de control e identificadores
- [Colombia and Latin America (Burs-IA unique)](https://bursia-utils-production.up.railway.app/tools?family=latam): 38 tools; Colombia y Latinoamérica (exclusivo Burs-IA)
- [Agent operations helpers](https://bursia-utils-production.up.railway.app/tools?family=agent): 21 tools; Utilidades para agentes
- [Agent-readiness linters (Burs-IA unique)](https://bursia-utils-production.up.railway.app/tools?family=agent-readiness): 8 tools; Preparación para agentes (exclusivo Burs-IA)
- [x402 payment and MCP protocol checks (caller-supplied data, offline)](https://bursia-utils-production.up.railway.app/tools?family=protocol): 6 tools; Pagos x402 y protocolo MCP (datos dados, sin conexión)
- [H2O opportunity ranking by value of information (Burs-IA unique)](https://bursia-utils-production.up.railway.app/tools?family=opportunity): 1 tools; H2O: priorización de oportunidades por valor de la información (exclusivo Burs-IA)

## Themed MCP servers

Coherent subsets of the full server (every tool is in exactly one), same process and rate limit. Index: https://bursia-utils-production.up.railway.app/.well-known/mcp/server-card.json

- [Burs-IA Utils: ONDA translator and protocol helpers](https://bursia-utils-production.up.railway.app/mcp/onda/server-card): POST https://bursia-utils-production.up.railway.app/mcp/onda, 14 tools; Burs-IA Utils: Traductor ONDA y ayudas de protocolo
- [Burs-IA Utils: Colombia](https://bursia-utils-production.up.railway.app/mcp/colombia/server-card): POST https://bursia-utils-production.up.railway.app/mcp/colombia, 16 tools; Burs-IA Utils: Colombia
- [Burs-IA Utils: Latin American and Spanish IDs](https://bursia-utils-production.up.railway.app/mcp/latam-ids/server-card): POST https://bursia-utils-production.up.railway.app/mcp/latam-ids, 11 tools; Burs-IA Utils: Documentos y cuentas de LatAm y España
- [Burs-IA Utils: Spanish language](https://bursia-utils-production.up.railway.app/mcp/espanol/server-card): POST https://bursia-utils-production.up.railway.app/mcp/espanol, 11 tools; Burs-IA Utils: Español
- [Burs-IA Utils: Agent workflow helpers](https://bursia-utils-production.up.railway.app/mcp/agentes/server-card): POST https://bursia-utils-production.up.railway.app/mcp/agentes, 18 tools; Burs-IA Utils: Utilidades para flujos de agentes
- [Burs-IA Utils: Web formats and agent-readiness files](https://bursia-utils-production.up.railway.app/mcp/web/server-card): POST https://bursia-utils-production.up.railway.app/mcp/web, 53 tools; Burs-IA Utils: Formatos web y archivos para agentes
- [Burs-IA Utils: Structured data and identifiers](https://bursia-utils-production.up.railway.app/mcp/datos/server-card): POST https://bursia-utils-production.up.railway.app/mcp/datos, 51 tools; Burs-IA Utils: Datos estructurados e identificadores
- [Burs-IA Utils: Encodings](https://bursia-utils-production.up.railway.app/mcp/codificacion/server-card): POST https://bursia-utils-production.up.railway.app/mcp/codificacion, 38 tools; Burs-IA Utils: Codificaciones
- [Burs-IA Utils: Hashes, HMAC and checksums](https://bursia-utils-production.up.railway.app/mcp/hash/server-card): POST https://bursia-utils-production.up.railway.app/mcp/hash, 36 tools; Burs-IA Utils: Hashes, HMAC y checksums
- [Burs-IA Utils: Dates, times and time zones](https://bursia-utils-production.up.railway.app/mcp/tiempo/server-card): POST https://bursia-utils-production.up.railway.app/mcp/tiempo, 26 tools; Burs-IA Utils: Fechas, horas y zonas horarias
- [Burs-IA Utils: Commerce and financial math](https://bursia-utils-production.up.railway.app/mcp/finanzas/server-card): POST https://bursia-utils-production.up.railway.app/mcp/finanzas, 27 tools; Burs-IA Utils: Comercio y matemática financiera
- [Burs-IA Utils: Math, statistics and units](https://bursia-utils-production.up.railway.app/mcp/matematicas/server-card): POST https://bursia-utils-production.up.railway.app/mcp/matematicas, 58 tools; Burs-IA Utils: Matemáticas, estadística y unidades
- [Burs-IA Utils: Text processing](https://bursia-utils-production.up.railway.app/mcp/texto/server-card): POST https://bursia-utils-production.up.railway.app/mcp/texto, 52 tools; Burs-IA Utils: Procesamiento de texto
- [Burs-IA Utils: Check digits and global identifiers](https://bursia-utils-production.up.railway.app/mcp/validacion/server-card): POST https://bursia-utils-production.up.railway.app/mcp/validacion, 19 tools; Burs-IA Utils: Dígitos de control e identificadores globales
- [Burs-IA Utils: Geospatial math](https://bursia-utils-production.up.railway.app/mcp/geo/server-card): POST https://bursia-utils-production.up.railway.app/mcp/geo, 23 tools; Burs-IA Utils: Matemática geoespacial
- [Burs-IA Utils: Color and accessibility](https://bursia-utils-production.up.railway.app/mcp/color/server-card): POST https://bursia-utils-production.up.railway.app/mcp/color, 12 tools; Burs-IA Utils: Color y accesibilidad

## Burs-IA unique

- [Spanish syllabification](https://bursia-utils-production.up.railway.app/tools/es-syllabify): Splits Spanish words into syllables with the RAE orthographic rules: diphthongs, triphthongs, hiatus (accented í/ú), inseparable clusters (pl, br, tr…), ch/ll/rr and silent u in que/gui
- [Spanish stress and accent check](https://bursia-utils-production.up.railway.app/tools/es-stress): For a Spanish word: syllables, stressed syllable (from the written accent or the default rule), class (aguda, llana, esdrújula, sobresdrújula) and whether the written accent follows the RAE rules
- [Parse Spanish number words](https://bursia-utils-production.up.railway.app/tools/es-number-parse): Converts Spanish number words or digits to a number: "tres mil cuatrocientos veintiuno" → 3421, "dos coma cinco millones", "menos", long scale (mil millones = 10⁹)
- [Parse Spanish dates](https://bursia-utils-production.up.railway.app/tools/es-date-parse): Finds and parses a date written in Spanish: "tres de marzo de 2026", "1.º de enero del dos mil veintiséis", "15/03/2026" (day first), and hoy/mañana/ayer relative to a given reference date
- [Spanish sentence splitter](https://bursia-utils-production.up.railway.app/tools/es-sentence-split): Splits Spanish text into sentences, aware of ¿…? and ¡…!, ellipses, decimals and thousands (3.5, 1.000), initials (J
- [H2O: rank opportunities by value of information](https://bursia-utils-production.up.railway.app/tools/h2o-rank): Ranks up to 8 candidate opportunities (H2O · Hallazgo, Homologación y Oportunidad) from caller-supplied evidence counts, feasibility and effort: BUILD_CANDIDATE_MODELLED, INVESTIGATE, DISCARD, ABSTAIN or DENY each, with value of information and posteriors
- [Mexican CLABE validation](https://bursia-utils-production.up.railway.app/tools/mx-clabe-validate): Validates an 18-digit Mexican CLABE interbank account number: structure (bank 3, branch/plaza 3, account 11, check digit 1) and the weighted 3-7-1 mod-10 check digit
- [Argentine CBU validation](https://bursia-utils-production.up.railway.app/tools/ar-cbu-validate): Validates a 22-digit Argentine CBU/CVU: block 1 (bank 3 + branch 4 + check digit, weights 7139713) and block 2 (account 13 + check digit, weights 3971…)
- [Spanish DNI/NIE validation](https://bursia-utils-production.up.railway.app/tools/es-dni-nie-validate): Validates a Spanish DNI (8 digits + letter) or NIE (X/Y/Z + 7 digits + letter) with the official mod-23 control letter (Ministerio del Interior)
- [Ecuador cédula / RUC (natural person) validation](https://bursia-utils-production.up.railway.app/tools/ec-id-validate): Validates an Ecuadorian cédula (10 digits: province 01-24, third digit 0-5, coefficients 2-1-2-1… mod 10) or a natural-person RUC (cédula + establishment 001-999)
- [Colombian CUFE check (DIAN e-invoice)](https://bursia-utils-production.up.railway.app/tools/co-cufe-verify): Recomputes the CUFE of a Colombian electronic sales invoice (SHA-384 of the 15 fields defined by DIAN: number, date, time, amounts, tax codes 01/04/03, total, NITs, technical key, environment) and compares it with a given CUFE; or checks a CUFE/CUDE format only
- [Colombian public holidays](https://bursia-utils-production.up.railway.app/tools/co-holidays): Lists the 18 Colombian national holidays for a year, applying Ley 51 de 1983 (Ley Emiliani) Monday moves and Easter-based dates (Holy Week, Ascension, Corpus Christi, Sacred Heart)
- [Is this a Colombian holiday?](https://bursia-utils-production.up.railway.app/tools/co-is-holiday): Says whether a date is a Colombian national holiday (with its name), a Sunday or Saturday, and whether it is a business day (Monday-Friday, or Monday-Saturday if saturday_is_business)
- [Colombian business days between dates](https://bursia-utils-production.up.railway.app/tools/co-business-days-between): Counts business days (días hábiles) between two dates in Colombia, excluding Sundays, Saturdays (unless saturday_is_business) and national holidays; lists holidays skipped
- [Add Colombian business days](https://bursia-utils-production.up.railway.app/tools/co-business-days-add): Adds or subtracts N business days (días hábiles) to a date using Colombian national holidays, e.g
- [Colombian NIT check digit (DIAN)](https://bursia-utils-production.up.railway.app/tools/co-nit): Computes the DIAN verification digit (DV) of a Colombian NIT business tax ID with DIAN's published mod-11 method, validates a given DV and formats it (900.373.913-4)
- [Colombian cédula syntax and format](https://bursia-utils-production.up.railway.app/tools/co-cedula-format): Checks the SYNTAX of a Colombian cédula de ciudadanía number (digits only, 3-10 digits, no leading zero) and formats it with dot separators
- [Colombian phone number syntax](https://bursia-utils-production.up.railway.app/tools/co-phone-validate): Checks the SYNTAX of a Colombian phone number (mobile 3XX XXX XXXX; fixed lines in the 2021 10-digit plan 60X XXX XXXX with region; 01 8000 toll-free) and returns E.164
- [Colombian vehicle plate syntax](https://bursia-utils-production.up.railway.app/tools/co-plate-validate): Classifies a Colombian license plate by SYNTAX: car/public service (ABC123), motorcycle (ABC12D, or older ABC12), trailer/semitrailer (R12345 / S12345), diplomatic (CD/CC/OI + 4 digits)
- [DANE department codes (DIVIPOLA)](https://bursia-utils-production.up.railway.app/tools/co-dane-department): Looks up Colombia's 33 DIVIPOLA department-level codes (32 departments + Bogotá D.C.) by code, name (accent-insensitive) or a 5-digit municipality code prefix, returning the capital and its municipality code
- [Number to Spanish words](https://bursia-utils-production.up.railway.app/tools/es-number-to-words): Spells an integer up to 10^18 in Spanish words (long scale: millón, mil millones, billón), with masculine/feminine agreement and optional apocope (veintiún, un) for use before a noun
- [Colombian amount in words (cheques)](https://bursia-utils-production.up.railway.app/tools/co-amount-in-words): Writes a peso amount in words in the format used on Colombian cheques, invoices and contracts, e.g
- [Mexican amount in words (CFDI style)](https://bursia-utils-production.up.railway.app/tools/mx-amount-in-words): Writes a peso amount in words in the style used on Mexican invoices (CFDI) and checks: "MIL DOSCIENTOS PESOS 50/100 M.N."
- [Spanish ordinal numbers](https://bursia-utils-production.up.railway.app/tools/es-ordinal): Writes 1-999 as a Spanish ordinal in words (primero, vigésimo tercero, centésimo) with gender and apocope (primer, tercer) options, plus the abbreviation (1.º, 1.ª)
- [Format Colombian pesos (COP)](https://bursia-utils-production.up.railway.app/tools/co-cop-format): Formats an amount as Colombian pesos the way it is written in Colombia ($ 1.234.567 — dot thousands, comma decimals), with 0 or 2 decimals and an optional COP code
- [Parse Colombian money text](https://bursia-utils-production.up.railway.app/tools/co-cop-parse): Parses money text written in Colombian style ("$ 1.234.567,50", "COP 2.500", "1.5 millones", "$3 mil") into a number, handling dot thousands, comma decimals and millones/mil words
- [Colombian IVA (VAT) calculator](https://bursia-utils-production.up.railway.app/tools/co-iva): Adds or extracts Colombian IVA at the general 19%, reduced 5% or 0% (exento) rate: from a base before tax or from a total that includes IVA, rounding to whole pesos by default
- [GMF 4x1000 calculator](https://bursia-utils-production.up.railway.app/tools/co-gmf): Computes Colombia's financial transactions tax (GMF, "cuatro por mil") of 0.4% on a withdrawal or transfer, optionally applying the monthly 350 UVT exemption for one designated account
- [UVT ↔ pesos (Colombia)](https://bursia-utils-production.up.railway.app/tools/co-uvt-convert): Converts between UVT (Unidad de Valor Tributario) and Colombian pesos for 2024 ($47.065), 2025 ($49.799) or 2026 ($52.374, DIAN Resolución 000238 de 2025)
- [Spanish-safe slug (ñ aware)](https://bursia-utils-production.up.railway.app/tools/es-slug): Builds a URL slug from Spanish text without collapsing ñ into n (so "año" does not become "ano"): ñ becomes "ni", "ny", "nn" or is kept; accents are removed and stopwords can be dropped
- [Spanish accent-insensitive compare](https://bursia-utils-production.up.railway.app/tools/es-compare): Compares two Spanish strings ignoring case and accents (and optionally punctuation and extra spaces) using Spanish collation, where ñ stays distinct from n; also gives sort order
- [Spanish name capitalization](https://bursia-utils-production.up.railway.app/tools/es-name-case): Capitalizes personal or place names in Spanish style, keeping particles lowercase (de, del, de la, y, e, los, las, da, van, von) except at the start, and handling hyphens and apostrophes
- [Mexico RFC validate](https://bursia-utils-production.up.railway.app/tools/mx-rfc-validate): Validates a Mexican RFC (SAT taxpayer ID): 13 characters for individuals or 12 for companies, embedded date, and the SAT mod-11 check digit (homoclave last character)
- [Mexico CURP validate](https://bursia-utils-production.up.railway.app/tools/mx-curp-validate): Validates a Mexican CURP (18 characters): structure, birth date, sex (H/M/X), state code, and the RENAPO check digit; returns valid/invalid and the decoded fields
- [Chile RUT/RUN validate](https://bursia-utils-production.up.railway.app/tools/cl-rut): Validates a Chilean RUT/RUN including its mod-11 check digit (0-9 or K) and returns it formatted as 12.345.678-5
- [Argentina CUIT/CUIL validate](https://bursia-utils-production.up.railway.app/tools/ar-cuit-validate): Validates an Argentine CUIT/CUIL (11 digits: type prefix, DNI, mod-11 check digit with weights 5432765432) and identifies the prefix type (person or company)
- [Peru RUC validate](https://bursia-utils-production.up.railway.app/tools/pe-ruc-validate): Validates a Peruvian RUC (11 digits) with the SUNAT mod-11 check digit (weights 5432765432) and identifies the taxpayer type from its prefix (10 person, 15/17 non-domiciled, 20 company)
- [Brazil CPF validate](https://bursia-utils-production.up.railway.app/tools/br-cpf-validate): Validates a Brazilian CPF (11 digits, two mod-11 check digits), rejecting repeated-digit numbers, and formats it as 529.982.247-25
- [Brazil CNPJ validate (incl. alphanumeric)](https://bursia-utils-production.up.railway.app/tools/br-cnpj-validate): Validates a Brazilian CNPJ, including the alphanumeric format introduced from July 2026 (letters valued as ASCII − 48), with both mod-11 check digits; formats as 11.222.333/0001-81
- [Check robots.txt rules](https://bursia-utils-production.up.railway.app/tools/robots-txt-check): Decides whether a user agent may fetch a path under a supplied robots.txt (RFC 9309: most specific group, longest match, Allow wins ties, * and $ wildcards) and reports the deciding rule
- [AI crawler access from robots.txt](https://bursia-utils-production.up.railway.app/tools/robots-ai-crawlers): Given a robots.txt, reports for 21 known AI crawlers and agent fetchers (GPTBot, ClaudeBot, Claude-User, Google-Extended, PerplexityBot, CCBot…) whether a path is allowed and whether the decision comes from a bot-specific group
- [Lint llms.txt](https://bursia-utils-production.up.railway.app/tools/llms-txt-lint): Checks an llms.txt file against the llmstxt.org format: one H1 title first, optional > summary, H2 sections containing "- [name](url): notes" link lists, an optional "Optional" section; reports errors, warnings and the parsed structure
- [Lint MCP tool definitions](https://bursia-utils-production.up.railway.app/tools/mcp-tools-lint): Lints MCP tool definitions (a tools/list result or array): name syntax and uniqueness, description presence/length, inputSchema root type, required keys defined in properties, undocumented properties, and annotation hints; returns a 0-100 score
- [Validate A2A Agent Card](https://bursia-utils-production.up.railway.app/tools/agent-card-validate): Checks an A2A (Agent2Agent) Agent Card JSON for the core fields: name, description, https url, version, capabilities, default input/output modes and skills (id, name, description, tags), plus provider and security hints
- [Validate security.txt (RFC 9116)](https://bursia-utils-production.up.railway.app/tools/security-txt-validate): Validates a security.txt file per RFC 9116: required Contact and a single Expires (in the future relative to as_of and ideally < 1 year away), known fields, https URIs, and whether it is PGP-signed
- [Summarize and lint OpenAPI](https://bursia-utils-production.up.railway.app/tools/openapi-summary): Summarizes a supplied OpenAPI 3.x document: title, version, servers, operations (method, path, operationId, summary), security, and lint issues (missing operationId/summary, no responses, 402 payment responses)
- [Agent-readiness checklist (basic)](https://bursia-utils-production.up.railway.app/tools/agent-readiness-checklist): Scores how ready a site is for AI agents from pasted content (robots.txt, llms.txt, homepage HTML): AI crawler access, llms.txt validity, title/description/canonical/lang, JSON-LD and sitemap

## Optional

- [Health](https://bursia-utils-production.up.railway.app/health): service status
