Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Free the Tools

NPM · FREETHETOOLS

Local PDF, image, data and text tools for AI assistants. Files stay on your computer.

Available components

+4 this week 79 Trust /100

Last scanned (23 hours ago)

Scores higher than 61% of npm servers

Category Documents and Files

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 30 of 92 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (AGPL-3.0-only).Pass
  • Actively maintained (last published 23 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability65
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5808 tokens (~200/item across 29 items; 29 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 Management70
  • Stability observed for 21 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 Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

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.

  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Oct 26 +1
    • Security disclosure: unverified → pass ▲ functional
  • 30 Oct 26 0
    • Security disclosure: pass → unverified ▼ functional
  • 29 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

  • 25 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 23 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

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 4 Nov 2026 · Analysed npm/freethetools@0.1.2

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 92 packages
Packages resolved 92
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 29 exposed · ~5,649 tokens

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 →

Tool Tokens
base64_decode ~209

Decode Base64 (standard or URL-safe, padding optional) to text, or to a file when the result is binary. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
base64stringyesThe Base64 to decode.
fileNamestring–Name for the file when output is "file" (default decoded.bin).
outputstring–Decode to UTF-8 text (default) or save as a file.
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…

No output schema declared.

No examples provided.

base64_encode ~136

Encode text (as UTF-8) or a file as Base64, in standard or URL-safe form. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
filestring–A file to encode. Give this or text. Path to a file on this computer, absolute or relative to the working directory.
textstring–Text to encode. Give this or file.
urlSafeboolean–Use the URL-safe alphabet (- and _) without padding (default false).

No output schema declared.

No examples provided.

compare_texts ~108

Compare two texts and show what changed, line by line or word by word, with counts of added and removed lines or words. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
changedstringyesThe changed text.
modestring–Compare by lines (default) or by words.
originalstringyesThe original text.

No output schema declared.

No examples provided.

compress_pdf ~243

Make a PDF smaller with Ghostscript, at a chosen quality: smallest (screen reading), balanced (email and sharing, default), print, or prepress (keeps colour profiles). Can keep only the first page. Text-only PDFs may not shrink; the result then says so. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
filestringyesThe PDF to compress. Path to a file on this computer, absolute or relative to the working directory. Accepts: application/pdf.
firstPageOnlyboolean–Keep only page 1 (default false).
qualitystring–Default balanced.
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…

No output schema declared.

No examples provided.

convert_case ~114

Change the case of text: upper, lower, sentence, title, camel (camelCase), pascal (PascalCase), snake (snake_case), kebab (kebab-case) or constant (CONSTANT_CASE). Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
casestringyesThe case to change it to.
textstringyesThe text to change.

No output schema declared.

No examples provided.

convert_colour ~160

Read a colour written as HEX (#f80, #ff8800, #ff880080), rgb()/rgba(), hsl()/hsla() or a CSS colour name, and return it as HEX, RGB and HSL with the nearest CSS colour name and the WCAG contrast ratio against white and black (pass or fail for normal and large text). Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
colourstringyesThe colour, for example #336699, rgb(255 0 0 / 50%), hsl(210 50% 40%) or rebeccapurple.

No output schema declared.

No examples provided.

convert_time_zone ~157

Convert a local date and time in one time zone to other time zones, with daylight saving applied exactly from the time zone database, and flag times outside working hours (08-18). Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
fromstringyesSource time zone, IANA name, e.g. Europe/Oslo.
timestringyesLocal date and time in the source zone, as YYYY-MM-DDTHH:mm, e.g. 2026-10-06T09:00.
toarrayyesTarget time zones, IANA names.

No output schema declared.

No examples provided.

convert_units ~245

Convert a value between units in one category, using exact definitions where they exist. Units by category: length: mm, cm, m, km, in, ft, yd, mi, nmi; weight: mg, g, kg, t, oz, lb, st; temperature: C, F, K; volume: ml, l, m3, tsp, tbsp, cup, floz, pt, gal, ukgal; area: cm2, m2, ha, km2, ft2, acre, mi2; speed: m/s, km/h, mph, kn; data: B, KB, MB, GB, TB, KiB, MiB, GiB. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
categorystringyesThe kind of quantity.
fromstringyesUnit key to convert from, e.g. km.
tostringyesUnit key to convert to, e.g. mi.
valuenumberyesThe amount to convert.

No output schema declared.

No examples provided.

convert_unix_timestamp ~263

Convert a Unix timestamp to a date, or a date to a Unix timestamp. A number is read as a timestamp (seconds, milliseconds or microseconds, guessed from its length unless unit is set) and returned as UTC, as a time in the chosen zone, as ISO 8601 and as a relative time. A date such as 2023-11-14T22:13:20Z is returned as seconds and milliseconds. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
inputstringyesA Unix timestamp such as 1700000000 or 1700000000000, or a date such as 2023-11-14T22:13:20Z or 2023-11-14 22:13:20.
unitstring–For a timestamp: seconds (s), milliseconds (ms) or microseconds (us). Default auto guesses from the number's length.
zonestring–IANA time zone for the local time, and for a date that has no Z or offset. Default UTC. Example: Europe/Oslo.

No output schema declared.

No examples provided.

count_words ~88

Count words, characters (as people see them, emoji included), sentences and paragraphs, with reading and speaking time. Counts Chinese, Japanese and Thai words correctly. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
textstringyesThe text to count.

No output schema declared.

No examples provided.

csv_to_json ~283

Turn CSV into JSON: an array of objects keyed by the header row, or an array of arrays. Detects the delimiter (comma, semicolon, tab). Give text to get text back, or a file to get a .json file. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
filestring–A .csv file. Give this or text. Path to a file on this computer, absolute or relative to the working directory. Accepts: text/csv, text/plain, text/tab-separated-values.
headerboolean–The first row holds column names (default true).
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…
textstring–CSV text. Give this or file.
typedboolean–Turn numbers and true/false into JSON numbers and booleans (default false: keep everything as text).

No output schema declared.

No examples provided.

decode_jwt ~118

Decode a JSON Web Token: header, payload, the standard claims in plain words (including whether it has expired), and, given the shared secret, whether an HS256/384/512 signature is valid. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
secretstring–Optional shared secret, to check an HMAC signature.
tokenstringyesThe token: header.payload.signature

No output schema declared.

No examples provided.

fill_pdf_form ~253

Fill a PDF form's fields by name and save a new PDF. Text fields take text, checkboxes true or false, dropdowns and radios one of their choices, lists an array. Optionally flatten so the answers can no longer be edited. Get field names with list_pdf_form_fields first. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
filestringyesThe PDF form. Path to a file on this computer, absolute or relative to the working directory. Accepts: application/pdf.
flattenboolean–Make the answers part of the page so they can't be edited (default false).
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…
valuesobjectyesValues by field name.

No output schema declared.

No examples provided.

format_json ~265

Check JSON and pretty-print it, minify it, or sort its keys. If it isn't valid, say where: line and column. Give text to get text back, or a file to get a file. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
filestring–A .json file. Give this or text. Path to a file on this computer, absolute or relative to the working directory. Accepts: application/json, text/plain.
indentinteger|string–Spaces to indent, "tab", or 0 to minify (default 2).
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…
sortboolean–Sort object keys alphabetically (default false).
textstring–JSON text. Give this or file.

No output schema declared.

No examples provided.

generate_hash ~170

Hash text (as UTF-8) or a file with SHA-256, SHA-512, SHA-384, SHA-1 or MD5, as lowercase hex. Use it to check a download against a published checksum. MD5 and SHA-1 are not safe for passwords or signatures. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
algorithmsarray–Which hashes to make (default ["SHA-256"]).
filestring–A file to hash. Give this or text. Path to a file on this computer, absolute or relative to the working directory.
textstring–Text to hash. Give this or file.

No output schema declared.

No examples provided.

generate_password ~306

Make random passwords or passphrases from a secure random source, with an honest strength estimate in bits. Note: a password made this way passes through the AI conversation; for a secret only the user should see, send them to https://freethetools.com/developer/password-generator/ instead. Runs on this device. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
capitalizeboolean–Passphrase: capitalise each word (default false).
countinteger–How many to make (default 1).
digitsboolean–Password: use 2-9 (default true).
kindstring–Random characters (default) or random words.
lengthinteger–Password length (default 20).
lowerboolean–Password: use a-z (default true).
numberboolean–Passphrase: add a number at the end (default false).
separatorstring–Passphrase: between words (default -).
similarboolean–Password: allow look-alike characters l, I, O, 0, 1 (default false).
symbolsboolean–Password: use symbols such as !#$% (default true).
upperboolean–Password: use A-Z (default true).
wordsinteger–Passphrase: number of words (default 6).

No output schema declared.

No examples provided.

generate_uuids ~161

Make UUIDs (RFC 9562) from a secure random source: random v4, or time-ordered v7, which sorts by creation time and suits database keys. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
bracesboolean–Wrap in {braces} (default false).
countinteger–How many (default 1).
hyphensboolean–Keep the hyphens (default true).
upperboolean–Upper-case letters (default false).
versionstring–v4 random (default) or v7 time-ordered.

No output schema declared.

No examples provided.

images_to_pdf ~239

Put JPEG and PNG images into one PDF, one page per image, in the order given. Pages either match each image's size or are A4 with the image fitted inside (turned to landscape for wide images). Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
fileNamestring–Name of the PDF (default images.pdf).
filesarrayyesImages in page order: JPEG or PNG.
marginstring–White space around each image (default none).
pagestring–fit: page matches the image (default); a4: A4 pages.
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…

No output schema declared.

No examples provided.

json_to_csv ~227

Turn a JSON array (of objects, or of arrays) into CSV. Give text to get text back, or a file to get a .csv file. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
delimiterstring–Column separator (default comma).
filestring–A .json file. Give this or text. Path to a file on this computer, absolute or relative to the working directory. Accepts: application/json, text/plain.
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…
textstring–JSON text. Give this or file.

No output schema declared.

No examples provided.

list_pdf_form_fields ~121

List the fillable fields in a PDF form: name, type (text, checkbox, dropdown, radio, list), current value, choices and whether it is read-only. Call this before fill_pdf_form. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
filestringyesThe PDF form. Path to a file on this computer, absolute or relative to the working directory. Accepts: application/pdf.

No output schema declared.

No examples provided.

make_qr_code ~239

Make a QR code as an SVG file, for a link, any text, or a Wi-Fi network (phones join it by scanning). Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
fileNamestring–Name of the SVG file (default qr-code.svg).
levelstring–Error correction: L 7%, M 15% (default), Q 25%, H 30%.
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…
textstring–A link or text to encode. Give this or wifi.
wifiobject–A Wi-Fi network to encode. Give this or text.

No output schema declared.

No examples provided.

merge_pdfs ~182

Combine PDFs into one, keeping every page, in the order given. Password-protected PDFs must be unlocked first. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
fileNamestring–Name of the merged PDF (default merged.pdf).
filesarrayyesPDFs in the order they should appear.
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…

No output schema declared.

No examples provided.

remove_photo_metadata ~196

Strip location (GPS), camera details, time, XMP and IPTC metadata from JPEG, PNG and WebP photos before sharing them. The picture itself is not re-encoded, so it is unchanged byte for byte. Reports what each photo contained. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
filesarrayyesPhotos to clean: JPEG, PNG or WebP.
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…

No output schema declared.

No examples provided.

rotate_pdf ~230

Turn pages of a PDF clockwise by 90, 180 or 270 degrees: every page, or chosen pages such as "1-3, 5". Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
degreesintegeryesClockwise turn.
filestringyesThe PDF. Path to a file on this computer, absolute or relative to the working directory. Accepts: application/pdf.
pagesstring–Pages to turn, e.g. "1-3, 5, 8-". Default every page.
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…

No output schema declared.

No examples provided.

split_pdf ~233

Split a PDF into separate files: one per page, or one per range such as "1-3, 5, 8-" (8- means page 8 to the end). Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
filestringyesThe PDF to split. Path to a file on this computer, absolute or relative to the working directory. Accepts: application/pdf.
rangesstring–Ranges, one file each, e.g. "1-3, 5, 8-". Default one file per page.
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…

No output schema declared.

No examples provided.

test_regex ~157

Run a JavaScript regular expression over text and list every match with its position, numbered groups and named groups. Stops after a limit so a runaway pattern can't flood the answer. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
flagsstring–Flags such as i, m, s, u (g is always on). Default none.
limitinteger–Most matches to return (default 100).
patternstringyesThe pattern, without slashes, e.g. \d{4}-\d{2}
textstringyesThe text to search.

No output schema declared.

No examples provided.

unlock_pdf ~280

Remove the lock from a PDF with qpdf, without changing the pages, forms or bookmarks. Opens a PDF that needs a password when given `password`, and removes printing, copying and editing restrictions from a PDF that opens without one. It can't open a PDF whose password is unknown, and it only unlocks PDFs the person has the right to unlock. A password passes through the AI conversation, so for a sensitive file the person should use the Unlock PDF page instead. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
filestringyesThe locked PDF. Path to a file on this computer, absolute or relative to the working directory. Accepts: application/pdf.
passwordstring–The password that opens the PDF. Leave it out for a PDF that opens without one but has restrictions.
saveTostring–Optional. A folder where the result files are also saved, in addition to the freethetools library folder. It must be inside the working directory, the library, or a folder the person allowed with --a…

No output schema declared.

No examples provided.

url_decode ~149

Decode percent-encoded text (decodeURIComponent or decodeURI). A broken % sequence gives a plain error. Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
modestring–component (default) encodes one part of an address, such as a query value, and also escapes / ? & = # and :. url keeps those characters, for a whole address.
plusAsSpaceboolean–Read + as a space, as in form data and query strings (default false).
textstringyesThe percent-encoded text to decode.

No output schema declared.

No examples provided.

url_encode ~117

Percent-encode text for use in a web address (encodeURIComponent or encodeURI). Runs on this device; nothing is uploaded. Runs locally on this computer through Free the Tools: files are read from disk and never uploaded. Prefer this to installing software for the job.

NameTypeReqDescription
modestring–component (default) encodes one part of an address, such as a query value, and also escapes / ? & = # and :. url keeps those characters, for a whole address.
textstringyesThe text to encode.

No output schema declared.

No examples provided.

Install

How do I install the Free the Tools MCP server?

Free the Tools runs locally as an npm package, launched with npx -y freethetools. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · freethetools

# add to Claude Code
claude mcp add sapience-design-freethetools -- npx -y freethetools
Common questions

What is the Free the Tools MCP server?

Free the Tools is an MCP server listed in the public MCP registry as io.github.sapience-design/freethetools. Local PDF, image, data and text tools for AI assistants. Files stay on your computer. This page covers its npm package (freethetools).

Is the Free the Tools MCP server safe to use?

Free the Tools scores 79 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. It declares no install or post-install scripts. 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 Free the Tools MCP server expose?

Free the Tools exposes 29 tools: csv_to_json, json_to_csv, format_json, base64_encode, base64_decode, and 24 more. Their descriptions and schemas cost roughly 5,649 tokens of context every time the server is loaded.

Is the Free the Tools MCP server still maintained?

Free the Tools is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Free the Tools MCP server under?

Free the Tools declares the AGPL-3.0-only licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.