com.fluentedi/tools

MCPcommunitylive
v1.1.0com.fluentediUnknownUpdated 1mo ago

49 free agent tools: WHOIS, PDF to text, email checks, FX rates, X12 EDI, JSON repair. No API key.

Endpoint healthlive
checked 9 days ago · 108ms
100% of the last 5 checks reached this endpoint
Works in
ClaudeCursorCopilotChatGPTGemini

Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
1mo agoLast update
Package
Authorcom.fluentedi
LicenseUnknown
Version1.1.0
Sourcemcp-registry
Trust Status
B
60/100Good
Hosted endpoint only: this assessment covers who publishes it and whether it answers, not the code behind it. No CVE, dependency or source analysis applies, so nothing here is a clean bill for that code.
✓Listed in Forge index+10/10
—Publisher identity verified+0/30
→ Publisher: this listing has no repository on file, so `forge publish` cannot verify ownership automatically. Use "Claim this listing" above — Forge reviews these by hand.
—Domain verification+0/10
→ Not currently available for this listing type — the domain-verification check only runs for npm-backed packages today, so this row cannot be earned here yet regardless of what's hosted at the domain.
✓Prompt-injection scan · clean+30/30
✓Obfuscation / exfil scan · clean+20/20
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
DependenciesNot audited
Tool surface19 tools · 1 privileged
Security scan✓ Cleanvlive · 9d agoHow well does this scan work?
EvalsNone
IndexedAug 25, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

19 tools · 1 privileged
Observed live from the vendor's endpoint9d ago

Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.

  • https://fluentedi.com/mcp19 tools · 108ms
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.

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.

ParameterTypeDescription
timezonestringIANA timezone identifier, e.g. "UTC", "America/New_York", "Asia/Kolkata", "Europe/London".
alsoarrayAdditional timezones to report alongside the primary one.
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.

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.

ParameterTypeDescription
timestringThe instant to convert: ISO 8601, a naive wall-clock time, a unix timestamp, or "now".
fromstringTimezone the input is expressed in (used only when it carries no offset).
to*arrayTarget timezones.
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`.

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`.

ParameterTypeDescription
fromstringStart instant: ISO 8601, unix timestamp, or "now".
tostringEnd instant: ISO 8601, unix timestamp, or "now".
timezonestringIANA timezone identifier, e.g. "UTC", "America/New_York", "Asia/Kolkata", "Europe/London".
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…

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…

ParameterTypeDescription
start*stringWindow opens at this instant: ISO 8601, unix timestamp, or "now".
endstringWindow closes at this instant. Omit if using `duration_hours`.
duration_hoursnumberWindow length in hours, used when `end` is omitted.
instantstringThe instant to test against the window.
timezonestringIANA timezone used to read naive inputs and render output.
compare_startstringStart of a second window, to test for overlap with the first.
compare_endstringEnd of the second window.
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…

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…

ParameterTypeDescription
expression*stringCron expression, e.g. "*/15 * * * *", "0 9 * * 1-5", "@daily".
timezonestringIANA timezone the schedule runs in.
countintegerHow many upcoming run times to return.
fromstringCompute run times after this instant instead of now.
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 w…

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 w…

ParameterTypeDescription
json*—The JSON document, as an object or a JSON string.
path*stringJSONPath expression, e.g. "$.items[*].id" or "$..author".
first_onlybooleanReturn only the first match.
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…

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…

ParameterTypeDescription
input*stringThe malformed JSON text.
close_truncatedbooleanClose brackets left open by a cut-off response.
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…

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…

ParameterTypeDescription
urlstringPublic URL of the document to fetch and convert.
base64stringThe file content as base64 (or a data: URI) instead of a URL, for documents not publicly reachable. Up to 10 MB decoded.
filenamestringOriginal file name, e.g. "report.docx". Only needed when the format cannot be detected from the URL or the bytes.
formatstringOutput style: markdown keeps headings, tables and lists; text strips them.
max_charsintegerTruncate the extracted content beyond this many characters.
timeout_msintegerFetch timeout in milliseconds when url is used.
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.

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.

ParameterTypeDescription
input*stringText to hash.
algorithmsarrayAny of: md5, sha1, sha256, sha384, sha512, crc32.
hmac_keystringWhen set, computes HMAC-<algorithm> with this key instead of a plain digest. Not supported for md5/crc32.
input_encodingstringHow to read `input` into bytes.
math_evalprivilegedEvaluates 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.

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.

ParameterTypeDescription
expression*stringExpression to evaluate, e.g. "(1+0.07)^30 * 1000".
variablesobjectNamed values usable in the expression, e.g. {"rate": 0.07}.
precisionintegerDecimal places to round the formatted result to.
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…

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…

ParameterTypeDescription
url*stringURL to check.
max_redirectsintegerHow many redirects to follow.
timeout_msintegerPer-request timeout in milliseconds.
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…

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…

ParameterTypeDescription
url*stringURL to call.
methodstringHTTP method.
bodystringRequest body for POST, PUT and PATCH.
headersobjectRequest headers to send.
expect_status—Required status: a number, an array of acceptable numbers, or a class such as "2xx".
expect_headersobjectResponse headers that must exist and contain a substring, e.g. {"content-type":"json"}.
expect_jsonobjectJSONPath expressions mapped to required values, e.g. {"$.status":"ok","$.items[0].id":1}.
expect_body_containsarraySubstrings that must appear in the body.
max_response_msintegerFail if the response takes longer than this. 0 disables the check.
timeout_msintegerRequest timeout.
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 a…

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 a…

ParameterTypeDescription
query*stringDomain name or IP address to look up.
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 fo…

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 fo…

ParameterTypeDescription
input*stringRaw X12 EDI text, beginning with ISA where available.
include_segmentsbooleanInclude the flat segment list alongside the summary.
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 chargeb…

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 chargeb…

ParameterTypeDescription
input*stringRaw X12 EDI text.
require_levelsarrayHL level codes that must be present in an 856, e.g. ["S","O","P","I"] for a pack-level ASN.
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…

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…

ParameterTypeDescription
documentstringTransaction set to build.
data*objectDocument content. For 856: {shipment_id, ship_date, orders:[{po_number, packs:[{sscc, items:[{upc, quantity, unit}]}]}], parties:[{role,name,id}]}. For 850: {p…
sender_idstringISA06 sender identifier.
receiver_idstringISA08 receiver identifier.
sender_qualifierstringISA05 qualifier, e.g. ZZ, 01 (DUNS), 12 (phone).
receiver_qualifierstringISA07 qualifier.
control_numberintegerInterchange control number (ISA13). Also seeds GS06 and ST02.
test_indicatorbooleanMark the interchange as test (ISA15 = T) rather than production (P).
timestampstringISO instant for the envelope date/time. Defaults to now.
include_envelopebooleanWrap the transaction set in ISA/GS ... GE/IEA.
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 w…

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 w…

ParameterTypeDescription
q*stringWhat you are trying to do, in plain language.
limitintegerMaximum matches to return.
detailbooleanInclude full parameter schemas and worked examples for each match.
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 c…

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 c…

ParameterTypeDescription
name*stringTool name, e.g. "time.window". Underscores and slashes are accepted too.
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 t…

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 t…

ParameterTypeDescription
tool*stringName of the tool to invoke.
argsobjectArguments for that tool.

19 of 19 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

49 free agent tools: WHOIS, PDF to text, email checks, FX rates, X12 EDI, JSON repair. No API key.

Keywords
mcp
Alternatives
Comparing tool surfaces…

No dependency coverage

This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.