com.fluentedi/tools
REMOTE · FLUENTEDI.COM · SCANNED SEP 20
49 free agent tools: WHOIS, PDF to text, email checks, FX rates, X12 EDI, JSON repair. No API key.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security66
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3620 tokens (~190/item across 19 items; 19 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
- Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "math_eval" implies "eval" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
- An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the com.fluentedi/tools MCP server?
com.fluentedi/tools is a hosted endpoint at https://fluentedi.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · fluentedi.com
claude mcp add --transport http com-fluentedi-tools 'https://fluentedi.com/mcp'
{
"mcpServers": {
"com-fluentedi-tools": {
"url": "https://fluentedi.com/mcp"
}
}
} {
"servers": {
"com-fluentedi-tools": {
"type": "http",
"url": "https://fluentedi.com/mcp"
}
}
} [mcp_servers.com-fluentedi-tools] url = "https://fluentedi.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-fluentedi-tools": {
"type": "remote",
"url": "https://fluentedi.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-fluentedi-tools --url 'https://fluentedi.com/mcp' --transport streamable-http
mcp_servers:
com-fluentedi-tools:
url: "https://fluentedi.com/mcp" {
"McpServers": {
"com-fluentedi-tools": {
"Transport": "http",
"Url": "https://fluentedi.com/mcp"
}
}
} assistant mcp add com-fluentedi-tools -t streamable-http -u 'https://fluentedi.com/mcp'
{
"mcpServers": {
"com-fluentedi-tools": {
"type": "http",
"url": "https://fluentedi.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 8 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
- 6 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 4 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://fluentedi.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=fluentedi.com | CN=WE1,O=Google Trust Services,C=US | 16 Sept 2026 | 15 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 2c66c9cd6684b08f1385a4014587cb2d |
| SANs: fluentedi.com, *.fluentedi.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of fluentedi.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| fluentedi.com. | present | 2371 | 13 | Verified |
| fluentedi.com. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://fluentedi.com/mcp | Verified | 200 | |
| http (plaintext) | http://fluentedi.com/mcp | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
cron_next Validate a cron expression, explain it in English, and list its next run times. ~167
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-week OR-semantics and step syntax are a common source of silently wrong schedules.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | How many upcoming run times to return. |
| expression | string | yes | Cron expression, e.g. "*/15 * * * *", "0 9 * * 1-5", "@daily". |
| from | string | – | Compute run times after this instant instead of now. |
| timezone | string | – | IANA timezone the schedule runs in. |
No output schema declared.
No examples provided.
doc_extract Extract the text of a PDF, Word, Excel or other document as markdown or plain text. ~391
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 .numbers rarely have one — when a document is only a URL away, or when a long PDF's text matters and its layout does not. Handles PDF (.pdf), Word (.docx), Excel (.xlsx, .xlsm, .xlsb, .xls), OpenDocument (.odt, .ods), Apple Numbers, CSV, HTML, XML, and plain-text formats such as .txt and .md. The format is detected from magic bytes, not trusted from the file name, so a PDF served from a .php URL still converts. Two honest limits: a scanned PDF with no text layer has nothing to extract (this is conversion, not OCR), and legacy binary .doc and .ppt files are not readable — resave them as .docx or .pptx. Images are refused rather than described. Documents up to 10 MB.
| Name | Type | Req | Description |
|---|---|---|---|
| base64 | string | – | The file content as base64 (or a data: URI) instead of a URL, for documents not publicly reachable. Up to 10 MB decoded. |
| filename | string | – | Original file name, e.g. "report.docx". Only needed when the format cannot be detected from the URL or the bytes. |
| format | string | – | Output style: markdown keeps headings, tables and lists; text strips them. |
| max_chars | integer | – | Truncate the extracted content beyond this many characters. |
| timeout_ms | integer | – | Fetch timeout in milliseconds when url is used. |
| url | string | – | Public URL of the document to fetch and convert. |
No output schema declared.
No examples provided.
domain_lookup WHOIS for a domain or IP: registration and expiry dates, registrar, nameservers, status — or the network that owns an address. ~161
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 IP address instead and it returns the owning network: name, CIDR range, and the responsible registry. A domain that does not resolve in RDAP is reported as likely available to register — an answer, not an error. These are live registry facts that no training corpus can supply: registrations, expiries and transfers happen daily, and an agent that guesses at them guesses wrong.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Domain name or IP address to look up. |
No output schema declared.
No examples provided.
edi_build Generate a valid X12 856 ASN or 850 purchase order from JSON, with correct HL pointers and envelope counts. ~385
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 wrong silently. The ISA header is fixed-width — 106 characters exactly, every element space-padded to size — and one character out crashes the receiver's translator. Segment counts in SE01, CTT01, GE01 and IEA01 must agree with what was actually emitted. All of that is computed here rather than written by hand.
| Name | Type | Req | Description |
|---|---|---|---|
| control_number | integer | – | Interchange control number (ISA13). Also seeds GS06 and ST02. |
| data | object | yes | Document content. For 856: {shipment_id, ship_date, orders:[{po_number, packs:[{sscc, items:[{upc, quantity, unit}]}]}], parties:[{role,name,id}]}. For 850: {po_number, order_date, lines:[{quantity,… |
| document | string | – | Transaction set to build. |
| include_envelope | boolean | – | Wrap the transaction set in ISA/GS ... GE/IEA. |
| receiver_id | string | – | ISA08 receiver identifier. |
| receiver_qualifier | string | – | ISA07 qualifier. |
| sender_id | string | – | ISA06 sender identifier. |
| sender_qualifier | string | – | ISA05 qualifier, e.g. ZZ, 01 (DUNS), 12 (phone). |
| test_indicator | boolean | – | Mark the interchange as test (ISA15 = T) rather than production (P). |
| timestamp | string | – | ISO instant for the envelope date/time. Defaults to now. |
No output schema declared.
No examples provided.
edi_parse Parse an X12 EDI document (850, 856, 810, 855, 997 and others) into structured JSON. ~149
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 an 810. EDI is positional and delimiter-sensitive, and unreadable without a spec table; reading it by inspection produces confident nonsense, which is why this is a tool rather than a prompt.
| Name | Type | Req | Description |
|---|---|---|---|
| include_segments | boolean | – | Include the flat segment list alongside the summary. |
| input | string | yes | Raw X12 EDI text, beginning with ISA where available. |
No output schema declared.
No examples provided.
edi_validate Check an X12 document's envelope integrity and 856 HL hierarchy for the errors that cause rejections. ~161
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 chargebacks: a parent ID naming no existing node, a duplicate HL01, an unknown level code, a missing carton level. Every finding names the segment and states what the value should have been.
| Name | Type | Req | Description |
|---|---|---|---|
| input | string | yes | Raw X12 EDI text. |
| require_levels | array | – | HL level codes that must be present in an 856, e.g. ["S","O","P","I"] for a pack-level ASN. |
No output schema declared.
No examples provided.
hash Hash or HMAC-sign text with MD5, SHA-1, SHA-256/384/512 or CRC32. ~149
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.
| Name | Type | Req | Description |
|---|---|---|---|
| algorithms | array | – | Any of: md5, sha1, sha256, sha384, sha512, crc32. |
| hmac_key | string | – | When set, computes HMAC-<algorithm> with this key instead of a plain digest. Not supported for md5/crc32. |
| input | string | yes | Text to hash. |
| input_encoding | string | – | How to read `input` into bytes. |
No output schema declared.
No examples provided.
http_assert Verify a URL actually returns what you expected — status, headers, JSON values — and return a pass/fail proof. ~296
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 breakdown showing expected against actual. An agent that has just deployed, migrated or reconfigured something can prove the outcome rather than reporting the absence of an error, which is the usual way agents claim a success they have not actually achieved.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | – | Request body for POST, PUT and PATCH. |
| expect_body_contains | array | – | Substrings that must appear in the body. |
| expect_headers | object | – | Response headers that must exist and contain a substring, e.g. {"content-type":"json"}. |
| expect_json | object | – | JSONPath expressions mapped to required values, e.g. {"$.status":"ok","$.items[0].id":1}. |
| expect_status | – | – | Required status: a number, an array of acceptable numbers, or a class such as "2xx". |
| headers | object | – | Request headers to send. |
| max_response_ms | integer | – | Fail if the response takes longer than this. 0 disables the check. |
| method | string | – | HTTP method. |
| timeout_ms | integer | – | Request timeout. |
| url | string | yes | URL to call. |
No output schema declared.
No examples provided.
http_check Check whether a URL is still live: status, redirect chain, and whether a citation still says what it said. ~188
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 v2 redirect is a version change, not a break; a 403 is a blocked crawler, not a dead page; and a DOI can return 200 while the page behind it is now a retraction notice, which is the worst case because a simple status check passes and the reader gets something else. Response bodies are never returned — only status, headers, title and flags.
| Name | Type | Req | Description |
|---|---|---|---|
| max_redirects | integer | – | How many redirects to follow. |
| timeout_ms | integer | – | Per-request timeout in milliseconds. |
| url | string | yes | URL to check. |
No output schema declared.
No examples provided.
json_query Extract values from a JSON document with a JSONPath expression. ~128
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 whole document through context.
| Name | Type | Req | Description |
|---|---|---|---|
| first_only | boolean | – | Return only the first match. |
| json | – | yes | The JSON document, as an object or a JSON string. |
| path | string | yes | JSONPath expression, e.g. "$.items[*].id" or "$..author". |
No output schema declared.
No examples provided.
json_repair Repair malformed JSON and pinpoint the exact line and column when it cannot be repaired. ~148
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 its generator got wrong rather than silently depending on a fixer. When the input cannot be salvaged it returns the precise line, column and a caret pointing at the offending character — which is what makes the next attempt succeed instead of guessing.
| Name | Type | Req | Description |
|---|---|---|---|
| close_truncated | boolean | – | Close brackets left open by a cut-off response. |
| input | string | yes | The malformed JSON text. |
No output schema declared.
No examples provided.
math_eval Evaluate a mathematical expression exactly. ~125
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.
| Name | Type | Req | Description |
|---|---|---|---|
| expression | string | yes | Expression to evaluate, e.g. "(1+0.07)^30 * 1000". |
| precision | integer | – | Decimal places to round the formatted result to. |
| variables | object | – | Named values usable in the expression, e.g. {"rate": 0.07}. |
No output schema declared.
No examples provided.
time_convert Convert a timestamp between timezones. ~112
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.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | Timezone the input is expressed in (used only when it carries no offset). |
| time | string | – | The instant to convert: ISO 8601, a naive wall-clock time, a unix timestamp, or "now". |
| to | array | yes | Target timezones. |
No output schema declared.
No examples provided.
time_diff Duration between two dates, in every unit. ~140
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`.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | Start instant: ISO 8601, unix timestamp, or "now". |
| timezone | string | – | IANA timezone identifier, e.g. "UTC", "America/New_York", "Asia/Kolkata", "Europe/London". |
| to | string | – | End instant: ISO 8601, unix timestamp, or "now". |
No output schema declared.
No examples provided.
time_now Current date and time in any IANA timezone. ~113
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.
| Name | Type | Req | Description |
|---|---|---|---|
| also | array | – | Additional timezones to report alongside the primary one. |
| timezone | string | – | IANA timezone identifier, e.g. "UTC", "America/New_York", "Asia/Kolkata", "Europe/London". |
No output schema declared.
No examples provided.
time_window Test whether an instant falls inside a time window, and by how much it misses. ~232
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 raise an error anywhere — the ship window is missed, or the ASN is late, and the only symptom is a chargeback later. This computes the boundary instead of assuming it.
| Name | Type | Req | Description |
|---|---|---|---|
| compare_end | string | – | End of the second window. |
| compare_start | string | – | Start of a second window, to test for overlap with the first. |
| duration_hours | number | – | Window length in hours, used when `end` is omitted. |
| end | string | – | Window closes at this instant. Omit if using `duration_hours`. |
| instant | string | – | The instant to test against the window. |
| start | string | yes | Window opens at this instant: ISO 8601, unix timestamp, or "now". |
| timezone | string | – | IANA timezone used to read naive inputs and render output. |
No output schema declared.
No examples provided.
tool_call Invoke any tool by name, including ones not in the default listing. ~100
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 tool.describe, then call it through this.
| Name | Type | Req | Description |
|---|---|---|---|
| args | object | – | Arguments for that tool. |
| tool | string | yes | Name of the tool to invoke. |
No output schema declared.
No examples provided.
tool_describe Get the full parameter schema and worked examples for one tool. ~99
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 context up front.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Tool name, e.g. "time.window". Underscores and slashes are accepted too. |
No output schema declared.
No examples provided.
tool_search Find the right tool for a task by describing it in plain language. ~131
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 what comes back. Each result says why it matched, so a wrong match is obvious rather than plausible.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | boolean | – | Include full parameter schemas and worked examples for each match. |
| limit | integer | – | Maximum matches to return. |
| q | string | yes | What you are trying to do, in plain language. |
No output schema declared.
No examples provided.
What is the com.fluentedi/tools MCP server?
com.fluentedi/tools is an MCP server listed in the public MCP registry as com.fluentedi/tools. 49 free agent tools: WHOIS, PDF to text, email checks, FX rates, X12 EDI, JSON repair. No API key. This page covers its hosted endpoint (https://fluentedi.com/mcp).
Is the com.fluentedi/tools MCP server safe to use?
com.fluentedi/tools scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.fluentedi/tools MCP server expose?
com.fluentedi/tools exposes 19 tools: time_now, time_convert, time_diff, time_window, cron_next, and 14 more. Their descriptions and schemas cost roughly 3,375 tokens of context every time the server is loaded.
Does the com.fluentedi/tools MCP server require authentication?
No. We connected to com.fluentedi/tools without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the com.fluentedi/tools MCP server still maintained?
com.fluentedi/tools is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.