ToolAPI MCP server
online · 100% uptimeorg.toolapi/hub·v2.8.2·2 starsFree public MCP for AI agents — 193 tools, 44 workflows. No API key.
2 stars
Reviews
Write oneNobody has reviewed ToolAPI yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
ToolAPI tools (193, 5 write)
write = sends, deletes, buys or postsbase64_decodeFreeBase64-decode to UTF-8.
base64_encodeFreeBase64-encode UTF-8.
base64url_decodeFreeBase64url-decode to UTF-8.
base64url_encodeFreeBase64url-encode UTF-8 (no padding, URL-safe).
bcrypt_hashFreeBcrypt-hash a password for storage.
bcrypt_verifyFreeVerify password against bcrypt hash.
changelog_parseFreeParse Keep-a-Changelog style markdown into version sections.
cidr_calcFreeCalculate IPv4/IPv6 network info from CIDR (hosts, broadcast, private).
cidr_containsFreeCheck if IP address falls within a CIDR range.
code_fence_extractFreeExtract fenced code blocks from markdown (language + code).
color_contrastFreeWCAG contrast ratio between two hex colors (AA/AAA). When: WCAG contrast ratio for UI color pairs.
color_convertFreeConvert color between hex, rgb(), and hsl().
compose_validateFreeValidate docker-compose YAML and flag privileged/host-network/secret env issues.
content_type_parseFreeParse Content-Type header into mime/charset/params.
conventional_commit_lintFreeLint Conventional Commits message (feat/fix/chore…).
cookie_header_parseFreeParse Cookie request header into name/value map. When: Parse Cookie request headers.
cors_checkFreeCheck CORS Allow-Origin vs credentials for unsafe combinations.
cron_describeFreeHuman-readable natural language description of cron expression (EN + ZH).
cron_matchesFreeCheck if a cron expression matches a specific datetime (ISO-8601).
cron_next_runsFreePreview next N execution times for a 5-field cron expression.
cron_parseFreeParse 5-field cron into named fields (minute hour dom month dow).
cron_semantic_validateFreeValidate cron field syntax and value ranges (minute 0-59, hour 0-23, etc.).
cron_validateFreeCheck cron string has exactly five fields.
cron_validate_batchFreeBatch semantic validate of 5-field cron expressions.
csp_parseFreeParse Content-Security-Policy header and flag unsafe directives.
csv_to_jsonFreeConvert CSV text to JSON array of row objects. When: Convert CSV rows → JSON array of objects.
csv_validateFreeValidate CSV structure — consistent column counts / header. When: Check CSV column consistency before import.
currency_convertFreeConvert amount between currencies using latest ECB rates.
currency_listFreeList supported fiat currencies (Frankfurter/ECB, no API key).
currency_ratesFreeLatest exchange rates (Frankfurter ECB data, no API key).
datetime_parseFreeParse unix timestamp or ISO-8601 into UTC ISO + unix.
dependency_versions_extractFreeExtract name@version from requirements/lockfile/go.mod/Cargo snippets. When: Extract name@version from lock/requirements snippets (best-effort).
dns_lookupFreeDNS lookup for domain (A, AAAA, MX, TXT, NS, CNAME, SOA).
dockerfile_lintFreeLint Dockerfile for common security/style issues (root user, curl|sh, secrets).
domain_parseFreeParse domain into labels, TLD, registrable domain, subdomain. When: Split domain into subdomain/registrable/TLD (best-effort eTLD).
duration_parseFreeParse duration (ISO-8601 PnDTnHnMnS or human 1h30m / 90s) to seconds. When: Parse ISO-8601 / human durations to seconds.
editorconfig_validateFreeValidate .editorconfig syntax and common keys.
email_validatewrite actionFreeValidate email address format. When: Syntax-check a single email address.
env_diffFreeDiff two .env files — only_in_a / only_in_b / changed values. When: Diff two .env files for missing/changed keys.
env_parseFreeParse .env / dotenv text into key-value variables.
env_required_checkFreeCheck .env text contains required keys (and non-empty values).
extract_emailsFreeExtract email addresses from text. When: Pull email addresses from free text / logs.
extract_urlsFreeExtract HTTP/HTTPS URLs from arbitrary text.
frontmatter_parseFreeParse YAML frontmatter from markdown (--- ... ---). When: Split YAML frontmatter from markdown body.
git_url_parseFreeParse git remote URL (ssh/https) into host/owner/repo. When: Parse git@ / https remotes into owner/repo.
github_actions_lintFreeLint GitHub Actions workflow YAML (triggers, unpinned actions, curl|bash).
gitignore_checkFreeReview .gitignore for common missing ignores (.env, node_modules, keys).
gitignore_matchFreeMatch paths against .gitignore rules (ignore / negate). When: Test paths against .gitignore rules (best-effort).
glob_match_batchFreeMatch paths against glob patterns (gitignore-style fnmatch).
graphql_operations_listFreeList GraphQL query/mutation/subscription names and type defs. When: List GraphQL ops/types from a document (best-effort).
graphql_schema_diffFreeDiff two GraphQL schemas for removed types/fields (breaking changes).
graphql_validateFreeValidate GraphQL query or schema SDL syntax (parse only).
hash_compareFreeCompare two hash digests (case-insensitive).
hash_md5FreeMD5 hex digest of UTF-8 text. When: MD5 digest (non-crypto integrity / legacy checksums).
hash_sha256FreeSHA256 hex digest.
hash_sha512FreeSHA512 hex digest.
hex_decodeFreeHex string to UTF-8 text.
hex_encodeFreeUTF-8 text to hex string.
hmac_signFreeHMAC sign message (sha1/sha256/sha512); hex or base64 output.
hmac_verifyFreeVerify HMAC signature (hex or base64).
hosts_file_parseFreeParse /etc/hosts style file into IP → hostnames entries. When: Parse /etc/hosts style IP→hostname maps.
html_decodeFreeUnescape HTML entities.
html_encodeFreeEscape HTML entities.
html_security_scanFreeScan HTML for XSS-prone patterns (javascript: URLs, inline handlers, eval). Note: best-effort / heuristic — not a full language parser.
html_to_markdownFreeConvert HTML to Markdown text. When: Convert HTML → markdown for docs the agent edits.
http_headers_fetchFreeFetch HTTP response headers (HEAD/GET) for URL.
http_headers_parseFreeParse raw HTTP request/response header block into map. When: Parse raw HTTP header blocks.
http_status_classifyFreeClassify HTTP status codes into 2xx/3xx/4xx/5xx buckets.
http_status_lookupFreeExplain HTTP status code (e.g. 404, 429, 503).
human_bytesFreeFormat bytes to human size, or parse '1.5 GB' to bytes. When: Format or parse human byte sizes (1.5 GB).
identifier_validateFreeValidate identifier for python/javascript/typescript (keywords + syntax).
import_list_analyzeFreeList imports from python/js source and flag duplicates. Note: best-effort / heuristic — not a full language parser.
ini_parseFreeParse INI / simple key=value config into sections. When: Parse INI/section configs into structured maps.
ip_geolocationFreeGeolocate public IP: country, city, lat/lon, timezone, ISP.
ip_version_detectFreeDetect IPv4/IPv6 and classify private/loopback/global. When: Classify IPv4/IPv6 and private/global.
ipv4_private_checkFreeClassify IP as private/loopback/link-local/global (SSRF helper).
json_assert_pathsFreeAssert JSONPath expressions against JSON (exists/equals/type) — agent self-check.
json_equalFreeDeep-compare two JSON documents and list differing paths.
json_flattenFreeFlatten nested JSON to dot-key map. When: Flatten nested JSON keys before comparing or exporting.
json_formatFreePretty-print JSON with indent. When: Pretty-print JSON when the agent needs readable output.
json_mergeFreeDeep-merge two JSON objects (second overlays first).
json_merge_patchwrite actionFreeApply RFC 7396 JSON Merge Patch (null deletes keys). When: RFC 7396 merge patch — use when patching JSON configs.
json_minifyFreeMinify JSON (remove whitespace). When: Minify JSON for compact payloads or size checks.
json_patch_applywrite actionFreeApply RFC 6902 JSON Patch ops (add/remove/replace/test/move/copy). When: Apply RFC 6902 ops (add/remove/replace/test/move/copy).
json_pointer_getFreeGet value by RFC 6901 JSON Pointer (e.g. /user/id). When: Read one field by RFC 6901 pointer without full walk in the agent.
json_pretty_diffFreeUnified diff of two JSON documents (pretty-printed).
json_schema_inferFreeInfer a Draft-7 JSON Schema from a sample JSON document (agent favorite).
json_schema_validateFreeValidate JSON data against JSON Schema (Draft 7).
json_schema_validate_batchFreeBatch JSON Schema (Draft 7) validation — up to 25 documents (agent favorite).
json_sort_keysFreeRecursively sort JSON object keys. When: Canonicalize JSON key order for stable diffs/hashes.
json_to_csvFreeConvert JSON array of objects to CSV text.
json_to_tomlFreeConvert JSON object text to TOML string.
json_to_yamlFreeConvert JSON text to YAML string. When: Convert JSON → YAML for config files agents write.
json_type_summaryFreeSummarize JSON value types (counts per type in tree).
json_validateFreeValidate JSON text; return parsed object or error.
jsonl_validateFreeValidate JSON Lines (NDJSON); optional per-line JSON Schema. When: Validate NDJSON / JSON Lines logs or datasets.
jsonpath_queryFreeQuery JSON with JSONPath expression; returns matching values.
jwt_claims_auditFreeDecode JWT header/claims (no verify) and flag alg=none, missing exp, privileged roles.
jwt_decodeFreeDecode JWT payload and header (no signature verification).
jwt_signFreeSign JWT payload (HS* with secret, RS* with private_key PEM).
jwt_verifyFreeVerify JWT signature (HS* with secret, RS* with public_key PEM).
line_ending_normalizeFreeDetect and normalize line endings to lf/crlf/cr. When: Detect/normalize CRLF vs LF.
list_uniqueFreeDeduplicate list items preserving order.
mail_inbox_createwrite actionFreeCreate disposable receive-only inbox @mail.toolapi.org (24h TTL). Returns address + secret token.
mail_inbox_listFreeList messages in a temp inbox (requires token from mail_inbox_create).
mail_inbox_readFreeRead full message body from temp inbox.
markdown_link_extractFreeExtract markdown/bare links and flag javascript: URLs.
markdown_to_htmlFreeConvert Markdown text to HTML. When: Render markdown → HTML for previews or emails.
markdown_tocFreeBuild a table of contents from markdown headings. When: Build heading TOC from markdown docs.
mime_lookupFreeLookup MIME type by file extension/path, or extensions by MIME. When: Map file extension ↔ MIME type.
nanoid_generateFreeGenerate URL-friendly nanoid (like npm nanoid).
nginx_config_lintFreeLint nginx config snippets (braces, SSLv3, server_tokens, HSTS hints).
openapi_diffFreeCompare two OpenAPI specs and flag breaking vs non-breaking API changes.
openapi_operations_listFreeList OpenAPI path operations (method, path, operationId, tags). When: List OpenAPI operations before validate/diff.
openapi_validateFreeValidate OpenAPI 3.x document (JSON or YAML snippet).
package_manifest_auditFreeAudit package.json or pyproject.toml — license, risky scripts, loose ranges; emit semver_checks for batch. Note: best-effort / heuristic — not a full language parser.
package_scripts_listFreeList scripts from package.json or pyproject.toml (poetry/PEP 621). When: List npm/poetry/PEP 621 scripts from manifests.
password_generateFreeCryptographically secure random password.
password_strengthFreeOffline password strength heuristic (length/classes/common). When: Offline password strength heuristic (not a cracker).
path_normalizeFreeNormalize filesystem path (resolve . and ..) for posix or windows. When: Resolve . and .. in filesystem paths.
path_safety_checkFreeCheck filesystem path for traversal / absolute / sensitive system paths.
pem_decodeFreeList PEM blocks in text (label, DER size, SHA256 fingerprint).
pick_choiceFreePick one item from a list (optional seed for reproducibility).
port_checkFreeTCP port open/closed check with latency ms.
properties_parseFreeParse Java .properties key=value file. When: Parse Java .properties key=value configs (best-effort).
qr_generateFreeGenerate QR code as SVG (base64 data URI included).
query_string_buildFreeBuild URL query string from params object. When: Build query strings from param objects.
query_string_parseFreeParse URL query string into key/value map (supports multi-values). When: Parse URL query strings into maps.
radix_convertFreeConvert number between bases 2-36 (binary, octal, decimal, hex).
random_intFreeRandom integer in inclusive range (optional seed).
random_stringFreeRandom string (alphanumeric, hex, base64 charset or custom).
regex_replaceFreeReplace regex matches in text (supports backreferences in replacement).
regex_testFreeTest regex pattern; returns match, groups, span.
remote_matrixFreeRemote desktop tools comparison JSON for AI citation.
requirements_auditFreeAudit Python requirements.txt for unpinned/VCS/deprecated packages.
reverse_dnsFreeReverse DNS (PTR) lookup for IP address.
robots_txt_validateFreeValidate robots.txt syntax and User-agent rules.
secrets_scanFreeScan text for hardcoded secrets (API keys, tokens, private keys). Returns redacted findings.
semver_compareFreeCompare two semver strings (less / equal / greater).
semver_incFreeBump a semver version by major/minor/patch. When: Bump major/minor/patch when cutting a release.
semver_max_satisfyingFreePick the highest version that satisfies a semver range (npm-style).
semver_parseFreeParse semver string into major, minor, patch, prerelease.
semver_range_intersectsFreeHeuristic check whether two semver ranges share any sample versions (conflict hint).
semver_satisfiesFreeCheck if version satisfies npm-style range (^ ~ >= <= > <).
semver_satisfies_batchFreeBatch semver range checks for dependency audits (max 50).
semver_sortFreeSort a list of semver versions ascending or descending. When: Sort semver lists before picking latest/oldest.
shebang_parseFreeParse #! shebang line — interpreter and args. When: Parse #! interpreter lines in scripts.
shell_escapeFreeShell-escape a string for posix/powershell/cmd (safe quoting). When: Safely quote strings for posix/powershell/cmd.
spdx_license_checkFreeValidate SPDX license expression against common license IDs.
sql_danger_scanFreeScan SQL text for dangerous patterns (DROP/TRUNCATE/DELETE without WHERE). Note: best-effort / heuristic — not a full language parser.
sql_formatFreeFormat SQL text (never executed; reindent + keyword case).
sql_tables_extractFreeExtract table names from SQL (FROM/JOIN/INTO/UPDATE/TABLE). When: Heuristic extract of SQL table names (best-effort).
ssl_cert_fetchFreeFetch live TLS certificate from host:port (expiry, issuer, SAN).
string_truncatewrite actionFreeTruncate text with ellipsis. When: Truncate long strings with ellipsis for UI/logs.
template_fillFreeFill {{variable}} placeholders in a template string.
text_case_convertFreeConvert case: lower, upper, title, snake, kebab, camel, pascal.
text_diffFreeUnified line diff between two texts (like git diff).
text_loremFreeGenerate lorem ipsum placeholder paragraphs.
text_similarityFreeSequenceMatcher similarity ratio between two texts.
text_slugifyFreeURL-safe slug from title or heading. When: Make URL-safe slugs from titles/filenames.
text_statsFreeCount chars, words, lines, sentences; estimate reading time.
text_wrapFreeWrap text to a maximum line width. When: Hard-wrap text to a column width.
time_convertFreeConvert unix seconds or ISO-8601 to both formats.
time_nowFreeCurrent UTC unix timestamp and ISO-8601.
timezone_convertFreeConvert datetime between IANA timezones (e.g. UTC to Asia/Shanghai).
timezone_listFreeList common IANA timezone names for conversion.
todo_comment_extractFreeExtract TODO/FIXME/HACK/XXX comments with line numbers.
toml_schema_validateFreeValidate TOML config against JSON Schema (Draft 7) in one step.
toml_to_jsonFreeParse TOML and return JSON-compatible object.
toml_validateFreeValidate TOML text; return parsed object or error.
trailing_whitespace_scanFreeScan text for trailing whitespace and tab characters. Note: best-effort / heuristic — not a full language parser.
tsconfig_lintFreeLint tsconfig.json structure (compilerOptions, strict hints).
unicode_normalizeFreeUnicode normalization (NFC/NFD/NFKC/NFKD).
unified_diff_parseFreeParse unified diff — files changed, lines added/removed.
unit_convertFreeConvert units: length, weight, temperature, data, speed, time.
unit_listFreeList supported units per category for unit_convert.
url_decodeFreeDecode percent-encoded string.
url_encodeFreePercent-encode URL component.
url_joinFreeJoin base URL with relative path (urllib urljoin). When: Join base URL + relative path correctly.
url_normalizeFreeNormalize URL (lowercase host, sort query, drop fragment).
url_parseFreeParse URL into scheme, host, path, query components.
url_ssrf_checkFreeCheck URL for SSRF risk (localhost, private IP, metadata hosts).
user_agent_parseFreeParse User-Agent string into browser, OS, and device hints.
uuid_generateFreeGenerate UUID v1/v3/v4/v5 (batch supported). v3/v5 need name + namespace.
uuid_parseFreeParse UUID string: version, variant, hex bytes.
whois_lookupFreeDomain registration lookup via RDAP (registrar, dates, nameservers).
x509_parseFreeParse X.509 certificate PEM: subject, issuer, validity, SAN, fingerprint.
xml_formatFreePretty-print XML with indentation. When: Pretty-print XML after the agent edits markup.
xml_to_jsonFreeConvert XML document to JSON (attributes as @attr). When: Convert XML → JSON for agents that prefer JSON tools.
xml_validateFreeValidate XML markup (well-formed check).
yaml_schema_validateFreeParse YAML then validate against JSON Schema (Draft 7).
yaml_to_jsonFreeParse YAML and return JSON-compatible object.
yaml_validateFreeValidate YAML text; return parsed object or error.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 1253ms20/20
- Tool poisoning193 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 5 write-action tools with no auth3/15
- Maintenancelast push 87 days ago12/15
- Maintainer identitynamespace and repository owner differ; GitHub account older than a year; website matches verified namespace7/10
Findings (1)
- highWrite-action tools reachable without authentication
auth.open-write
How ToolAPI compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 76/100
- higher than 48% of 48,255 servers
- Tools
- 193
- the typical server has 7
- Tools that change things
- 3%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 240 ms
- faster than 57% of 30,031 servers
- GitHub stars
- 2
- more than 75% of 28,688 servers
What its tools let an agent do: 179 read · 4 create · 8 change · 1 send or post · 1 run or deploy
Install ToolAPI in Claude Code, Cursor or VS Code
claude mcp add --transport http hub https://toolapi.org/mcp
What the publisher says
From the ToolAPI repository's README, as published. We do not edit it. Read it on GitHub
ToolAPI
Permanently free public MCP infrastructure for AI agents — 95 tools, 22 workflows, no API key.
- Site: https://toolapi.org
- Status: https://toolapi.org/status.html
- Connect: https://toolapi.org/connect.html
- 中文入门: https://toolapi.org/guides/zh-toolapi-mcp-getting-started.html
- AI discover: https://toolapi.org/for-ai.json
- MCP SSE: https://toolapi.org/sse
{"mcpServers": {"toolapi": {"url": "https://toolapi.org/sse"}}}What’s in this repo
- app/ — FastAPI hub + MCP (REST + SSE + Streamable HTTP)
- promote/ — Smithery / MCP Registry metadata
- ops/ — health checks, CF purge, monitoring (no secrets in repo)
Local deploy (operators only)
Secrets stay on your machine:
- Copy deploy.local.env.example → deploy.local.env
- Copy cloudflare.env.example → ~/.cloudflare.env on your jump host
- Run deploy scripts (they load deploy.local.env when present)
Do not commit deploy.local.env, .env, or Cloudflare tokens.
Docs
- TOOLAPI.md — architecture and endpoints
- ../开发收尾手册.md — ops handbook (Chinese, this release)
- promote/PROMOTE.md — directory listings
- ops/rotate-cf-token.md — CF token rotation runbook
License
Public MCP service; infrastructure sponsored. See https://toolapi.org/sponsors.json
Nothing above is checked by us. What we check is on the safety report.
ToolAPI: common questions
- Is ToolAPI MCP server safe?
- Mostly: it is graded B (76/100). Read the ToolAPI safety report
- How do I install ToolAPI?
- It runs remotely at toolapi.org. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does ToolAPI need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is ToolAPI maintained?
- The last commit was 127 days ago (2026-06-30). The latest release is v2.8.2.
- Is ToolAPI up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does ToolAPI compare with other MCP servers?
- safety score 76/100 (higher than 48% of 48,255 servers); tools 193 (the typical server has 7); tools that change things 3% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.