tools
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
| Name | Description | Input keys |
|---|---|---|
| time_now | Returns 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_convert | Converts 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_diff | Computes 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_window | Answers 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 r | compare_end, compare_start, duration_hours, end, instant, start, timezone |
| cron_next | Parses 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_query | Runs 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 wh | first_only, json, path |
| json_repair | Takes 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_extract | Converts 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 |
| hash | Computes 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_eval | Evaluates 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_check | Resolves 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 v | max_redirects, timeout_ms, url |
| http_assert | The 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 b | body, expect_body_contains, expect_headers, expect_json, expect_status, headers, max_response_ms, method, timeout_ms, url |
| domain_lookup | Answers 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 an | query |
| edi_parse | Reads 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 for | include_segments, input |
| edi_validate | Runs 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 chargeba | input, require_levels |
| edi_build | Compiles 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_search | Searches 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 wh | detail, limit, q |
| tool_describe | Returns 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 co | name |
| tool_call | Dispatches 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 to | args, 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"
}
}
}
[](https://data.finzdata.com/directory/com-fluentedi-tools)