tools

not graded

X12 EDI, GS1 check digits, time, cron, JSON repair, crypto for AI agents. Free, no key.

About this server

The com.fluentedi/tools server provides X12 EDI, GS1 check digits, time, cron, JSON repair and crypto utilities for AI agents, free with no key. It uses streamable-http transport. Tools include time_now, time_convert, time_diff, time_window, cron_next, json_query, json_repair and doc_extract.

Categories: crypto

Remote URL: https://fluentedi.com/mcp

Repository:

Transport: streamable-http

First seen: 2026-10-17T23:06:01 Last seen: 2026-10-18T08:40:05

30-day uptime: 1.0%

Verified data

Not yet checked — owners can claim this listing to enable price-accuracy checks

Tools

NameDescriptionInput keys
time_nowReturns the authoritative current time in one or more timezones, with UTC offset, ISO week number, day of year, weekend flag, and daylight-saving state. Use this instead of guessing the date: a language model has no clock, and its training cutoff is not today.also, timezone
time_convertConverts one instant into any number of timezones, handling daylight saving transitions correctly. Naive inputs (no Z or offset) are read as wall-clock time in `from`; inputs carrying an offset are absolute.from, time, to
time_diffComputes the elapsed time between two instants: exact totals in each unit, a calendar breakdown (years/months/days rather than 'thirteen and a half months'), the count of weekdays in between, and a human phrase. Negative when `to` precedes `from`.from, timezone, to
time_windowAnswers the questions a deadline actually poses: is this instant inside the window, how long until it opens or closes, and if it is outside, by how much. Optionally compares two windows for overlap. A window comparison that silently succeeds against the wrong bounds is a failure mode that does not rcompare_end, compare_start, duration_hours, end, instant, start, timezone
cron_nextParses a standard 5-field cron expression (or 6-field with leading seconds, or a macro like @daily), validates it, describes it in plain English, and computes the next run times in a given timezone with daylight-saving handled. Use it before writing a schedule to config — cron's day-of-month/day-of-count, expression, from, timezone
json_queryRuns a JSONPath query and returns the matching values with their concrete paths. Supports property access, array indexing (including negative indices), slices, wildcards, recursive descent (`..`) and filters (`[?(@.price > 10)]`). Pull three fields out of a large API response without carrying the whfirst_only, json, path
json_repairTakes JSON that almost parses and makes it parse: markdown code fences, prose wrapped around the object, trailing commas, single or smart quotes, unquoted keys, Python True/False/None, comments, NaN, and brackets left open by a truncated response. Every change is reported, so the caller learns what close_truncated, input
doc_extractConverts a document to markdown or plain text: pass a public URL or the file itself as base64, and get back the content with headings, tables and lists preserved, at a fraction of the tokens that rendered pages cost. Use it when a harness has no native reader for the format — .docx, .xlsx, .odt and base64, filename, format, max_chars, timeout_ms, url
hashComputes cryptographic digests and HMAC signatures. Returns hex and base64 at once, so a webhook signature can be compared in whichever encoding the provider uses. MD5 and CRC32 are included for checksums and legacy fixtures; they are not secure for authentication.algorithms, hmac_key, input, input_encoding
math_evalEvaluates arithmetic with correct operator precedence, parentheses, exponentiation, factorials, named variables and 30+ functions. Language models perform arithmetic by pattern-matching and quietly get long multiplications and compounding wrong; this computes the number instead of predicting it.expression, precision, variables
http_checkResolves a URL and reports what actually happens to it — final status, the full redirect chain, content type and page title. Link rot is faster than it feels: one agent measured seven dead URLs out of 286 across fourteen days. This handles the three cases a naive checker gets wrong: an arXiv v1 to vmax_redirects, timeout_ms, url
http_assertThe difference between an agent believing it succeeded and knowing it did. http.check tells you a URL is alive; this tells you it is correct. Assert the status, response headers, values at JSONPath expressions, substrings in the body and a latency ceiling, and get back one boolean plus a per-check bbody, expect_body_contains, expect_headers, expect_json, expect_status, headers, max_response_ms, method, timeout_ms, url
domain_lookupAnswers the questions WHOIS used to answer, over RDAP — the structured protocol the registries themselves now serve — with no key and no scraping: who registered a domain, when it expires, which registrar and nameservers it uses, whether transfers are locked, and whether DNSSEC is signed. Give it anquery
edi_parseReads a raw ASC X12 interchange and returns it as JSON: delimiters taken from the ISA header, the ISA/GS/ST envelope decoded, every segment split into named elements, and a document-specific summary - purchase order lines for an 850, the HL shipment hierarchy and SSCCs for an 856, invoice totals forinclude_segments, input
edi_validateRuns the structural checks a trading partner runs before rejecting a file: control numbers matching between the ISA/IEA, GS/GE and ST/SE header and trailer pairs, declared counts matching actual counts, and - for an 856 - the HL hierarchy. HL faults are the usual cause of ASN rejections and chargebainput, require_levels
edi_buildCompiles structured JSON into standards-valid X12. The parts that get documents rejected are exactly the parts a language model cannot hold in its head: the 856 hierarchy needs sequential HL IDs where every level names its parent's ID, and on a multi-carton, multi-SKU shipment that bookkeeping goes control_number, data, document, include_envelope, receiver_id, receiver_qualifier, sender_id, sender_qualifier, test_indicator, timestamp
tool_searchSearches every tool by name, summary, description and keywords, and returns the closest matches with their endpoints and parameters. Use this instead of loading the whole catalogue: describe the job ("check whether a shipment is late", "fix broken JSON", "validate a barcode check digit") and call whdetail, limit, q
tool_describeReturns everything needed to call a tool correctly: its complete JSON Schema, every parameter with type and default, and examples known to work. Pair it with tool.search — search to find the name, describe to learn the shape, then call. This exists so the catalogue does not have to be loaded into coname
tool_callDispatches to any tool in the catalogue. Most clients cap how many tools they will hold at once — Cursor drops everything past roughly forty across all servers combined — so only a core set is listed by default. Everything else is reachable here. Find a name with tool.search, check its shape with toargs, tool

Issues

No issues found

Install

claude mcp add --transport http tools https://fluentedi.com/mcp
{
  "mcpServers": {
    "tools": {
      "type": "http",
      "url": "https://fluentedi.com/mcp"
    }
  }
}

[![FinzData Hub](https://data.finzdata.com/directory/badge/com-fluentedi-tools.svg)](https://data.finzdata.com/directory/com-fluentedi-tools)