{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_4cb2gqj3djmv","handle":"com-fluentedi-tools","url":"https://wellknown.network/agents/com-fluentedi-tools","links":{"self":"https://wellknown.network/agents/com-fluentedi-tools/record.json","html":"https://wellknown.network/agents/com-fluentedi-tools","markdown":"https://wellknown.network/agents/com-fluentedi-tools/record.md","api":"https://wellknown.network/api/v1/agents/com-fluentedi-tools","status":"https://wellknown.network/api/v1/agents/com-fluentedi-tools/status","claim":"https://wellknown.network/agents/com-fluentedi-tools/claim","claimApi":"https://wellknown.network/api/v1/claims","badge":"https://wellknown.network/agents/com-fluentedi-tools/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:fluentedi.com:server:com-fluentedi-tools","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"tools","summary":"49 free agent tools: WHOIS, PDF to text, email checks, FX rates, X12 EDI, JSON repair. No API key.","description":"49 free agent tools: WHOIS, PDF to text, email checks, FX rates, X12 EDI, JSON repair. No API key.","publisher":{"name":"com.fluentedi","url":null},"homepage":"https://fluentedi.com","repository":null,"version":"1.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://fluentedi.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-29T10:04:09.71198Z","publishedAt":"2026-08-29T10:04:09.71198Z","registryName":"com.fluentedi/tools"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.seo","name":"SEO","confidence":0.525,"provenance":"derived"},{"slug":"data.web-scraping","name":"Web Scraping","confidence":0.525,"provenance":"derived"},{"slug":"productivity.calendar","name":"Calendar & Scheduling","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.51,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":0.51,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":0.51,"provenance":"derived"}],"categories":["communication","content","data","documents","finance","productivity"]},"observed":{"status":"live","statusReason":"Responded 45m ago.","lastOkAt":"2026-09-05T21:29:30.368Z","lastProbedAt":"2026-09-05T21:29:30.368Z","statusComputedAt":"2026-09-05T21:30:39.814Z","reliability30d":{"probes":1,"successRate":1,"p50Ms":12},"latestObservations":[{"at":"2026-09-05T21:29:30.368Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"time_now","description":"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 thi"},{"name":"time_convert","description":"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 "},{"name":"time_diff","description":"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'), th"},{"name":"time_window","description":"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. Option"},{"name":"cron_next","description":"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 t"},{"name":"json_query","description":"Runs a JSONPath query and returns the matching values with their concrete paths. Supports property access, array indexing (including negative indices), slices, "},{"name":"json_repair","description":"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,"},{"name":"doc_extract","description":"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 preserve"},{"name":"hash","description":"Computes cryptographic digests and HMAC signatures. Returns hex and base64 at once, so a webhook signature can be compared in whichever encoding the provider us"},{"name":"math_eval","description":"Evaluates arithmetic with correct operator precedence, parentheses, exponentiation, factorials, named variables and 30+ functions. Language models perform arith"},{"name":"http_check","description":"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: o"},{"name":"http_assert","description":"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,"},{"name":"domain_lookup","description":"Answers the questions WHOIS used to answer, over RDAP — the structured protocol the registries themselves now serve — with no key and no scraping: who registere"},{"name":"edi_parse","description":"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 ele"},{"name":"edi_validate","description":"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 pair"},{"name":"edi_build","description":"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"},{"name":"tool_search","description":"Searches every tool by name, summary, description and keywords, and returns the closest matches with their endpoints and parameters. Use this instead of loading"},{"name":"tool_describe","description":"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 to"},{"name":"tool_call","description":"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 "}],"toolCount":19,"serverName":"FluentEDI","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"time_now","description":"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 thi"},{"name":"time_convert","description":"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 "},{"name":"time_diff","description":"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'), th"},{"name":"time_window","description":"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. Option"},{"name":"cron_next","description":"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 t"},{"name":"json_query","description":"Runs a JSONPath query and returns the matching values with their concrete paths. Supports property access, array indexing (including negative indices), slices, "},{"name":"json_repair","description":"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,"},{"name":"doc_extract","description":"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 preserve"},{"name":"hash","description":"Computes cryptographic digests and HMAC signatures. Returns hex and base64 at once, so a webhook signature can be compared in whichever encoding the provider us"},{"name":"math_eval","description":"Evaluates arithmetic with correct operator precedence, parentheses, exponentiation, factorials, named variables and 30+ functions. Language models perform arith"},{"name":"http_check","description":"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: o"},{"name":"http_assert","description":"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,"},{"name":"domain_lookup","description":"Answers the questions WHOIS used to answer, over RDAP — the structured protocol the registries themselves now serve — with no key and no scraping: who registere"},{"name":"edi_parse","description":"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 ele"},{"name":"edi_validate","description":"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 pair"},{"name":"edi_build","description":"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"},{"name":"tool_search","description":"Searches every tool by name, summary, description and keywords, and returns the closest matches with their endpoints and parameters. Use this instead of loading"},{"name":"tool_describe","description":"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 to"},{"name":"tool_call","description":"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 "}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.fluentedi/tools","url":"https://registry.modelcontextprotocol.io/v0/servers/com.fluentedi%2Ftools","firstSeenAt":"2026-09-05T18:20:05.616Z","fetchedAt":"2026-09-05T18:20:05.616Z","normalizedAt":"2026-09-05T18:20:05.616Z"}]},"firstSeenAt":"2026-09-05T18:20:05.616Z","updatedAt":"2026-09-05T21:30:46.631Z"}