MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Automation & workflows

ToolAPI

Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

Checks passed
10 / 22

4 failed · 8 not measured

Median response
2315 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
193

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
410
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
130
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 2315 ms.

  • Pass
    Valid handshake

    protocolVersion 2024-11-05, serverInfo.name toolapi-hub.

  • Pass
    Lists tools

    tools/list returned 193 tools.

  • Fail
    Current protocol

    Negotiated 2024-11-05. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 2315 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 2315 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Fail
    Tools described

    2 tools have a description shorter than 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    32 of 315 parameters have a description (10%). The bar is 80%.

  • Fail
    Safety hints

    193 tools set neither readOnlyHint nor destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-07-10T00:06:55.704774Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using ToolAPI

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http toolapi https://toolapi.org/mcp

Capabilities

Tools 193

Showing 100 of 193 tools.

base64_decode

Base64-decode to UTF-8.

Discovered
base64_encode

Base64-encode UTF-8.

Discovered
base64url_decode

Base64url-decode to UTF-8.

Discovered
base64url_encode

Base64url-encode UTF-8 (no padding, URL-safe).

Discovered
bcrypt_hash

Bcrypt-hash a password for storage.

Discovered
bcrypt_verify

Verify password against bcrypt hash.

Discovered
changelog_parse

Parse Keep-a-Changelog style markdown into version sections.

Discovered
cidr_calc

Calculate IPv4/IPv6 network info from CIDR (hosts, broadcast, private).

Discovered
cidr_contains

Check if IP address falls within a CIDR range.

Discovered
code_fence_extract

Extract fenced code blocks from markdown (language + code).

Discovered
color_contrast

WCAG contrast ratio between two hex colors (AA/AAA). When: WCAG contrast ratio for UI color pairs.

Discovered
color_convert

Convert color between hex, rgb(), and hsl().

Discovered
compose_validate

Validate docker-compose YAML and flag privileged/host-network/secret env issues.

Discovered
content_type_parse

Parse Content-Type header into mime/charset/params.

Discovered
conventional_commit_lint

Lint Conventional Commits message (feat/fix/chore…).

Discovered
cookie_header_parse

Parse Cookie request header into name/value map. When: Parse Cookie request headers.

Discovered
cors_check

Check CORS Allow-Origin vs credentials for unsafe combinations.

Discovered
cron_describe

Human-readable natural language description of cron expression (EN + ZH).

Discovered
cron_matches

Check if a cron expression matches a specific datetime (ISO-8601).

Discovered
cron_next_runs

Preview next N execution times for a 5-field cron expression.

Discovered
cron_parse

Parse 5-field cron into named fields (minute hour dom month dow).

Discovered
cron_semantic_validate

Validate cron field syntax and value ranges (minute 0-59, hour 0-23, etc.).

Discovered
cron_validate

Check cron string has exactly five fields.

Discovered
cron_validate_batch

Batch semantic validate of 5-field cron expressions.

Discovered
csp_parse

Parse Content-Security-Policy header and flag unsafe directives.

Discovered
csv_to_json

Convert CSV text to JSON array of row objects. When: Convert CSV rows → JSON array of objects.

Discovered
csv_validate

Validate CSV structure — consistent column counts / header. When: Check CSV column consistency before import.

Discovered
currency_convert

Convert amount between currencies using latest ECB rates.

Discovered
currency_list

List supported fiat currencies (Frankfurter/ECB, no API key).

Discovered
currency_rates

Latest exchange rates (Frankfurter ECB data, no API key).

Discovered
datetime_parse

Parse unix timestamp or ISO-8601 into UTC ISO + unix.

Discovered
dependency_versions_extract

Extract name@version from requirements/lockfile/go.mod/Cargo snippets. When: Extract name@version from lock/requirements snippets (best-effort).

Discovered
dns_lookup

DNS lookup for domain (A, AAAA, MX, TXT, NS, CNAME, SOA).

Discovered
dockerfile_lint

Lint Dockerfile for common security/style issues (root user, curl|sh, secrets).

Discovered
domain_parse

Parse domain into labels, TLD, registrable domain, subdomain. When: Split domain into subdomain/registrable/TLD (best-effort eTLD).

Discovered
duration_parse

Parse duration (ISO-8601 PnDTnHnMnS or human 1h30m / 90s) to seconds. When: Parse ISO-8601 / human durations to seconds.

Discovered
editorconfig_validate

Validate .editorconfig syntax and common keys.

Discovered
email_validate

Validate email address format. When: Syntax-check a single email address.

Discovered
env_diff

Diff two .env files — only_in_a / only_in_b / changed values. When: Diff two .env files for missing/changed keys.

Discovered
env_parse

Parse .env / dotenv text into key-value variables.

Discovered
env_required_check

Check .env text contains required keys (and non-empty values).

Discovered
extract_emails

Extract email addresses from text. When: Pull email addresses from free text / logs.

Discovered
extract_urls

Extract HTTP/HTTPS URLs from arbitrary text.

Discovered
frontmatter_parse

Parse YAML frontmatter from markdown (--- ... ---). When: Split YAML frontmatter from markdown body.

Discovered
git_url_parse

Parse git remote URL (ssh/https) into host/owner/repo. When: Parse git@ / https remotes into owner/repo.

Discovered
github_actions_lint

Lint GitHub Actions workflow YAML (triggers, unpinned actions, curl|bash).

Discovered
gitignore_check

Review .gitignore for common missing ignores (.env, node_modules, keys).

Discovered
gitignore_match

Match paths against .gitignore rules (ignore / negate). When: Test paths against .gitignore rules (best-effort).

Discovered
glob_match_batch

Match paths against glob patterns (gitignore-style fnmatch).

Discovered
graphql_operations_list

List GraphQL query/mutation/subscription names and type defs. When: List GraphQL ops/types from a document (best-effort).

Discovered
graphql_schema_diff

Diff two GraphQL schemas for removed types/fields (breaking changes).

Discovered
graphql_validate

Validate GraphQL query or schema SDL syntax (parse only).

Discovered
hash_compare

Compare two hash digests (case-insensitive).

Discovered
hash_md5

MD5 hex digest of UTF-8 text. When: MD5 digest (non-crypto integrity / legacy checksums).

Discovered
hash_sha256

SHA256 hex digest.

Discovered
hash_sha512

SHA512 hex digest.

Discovered
hex_decode

Hex string to UTF-8 text.

Discovered
hex_encode

UTF-8 text to hex string.

Discovered
hmac_sign

HMAC sign message (sha1/sha256/sha512); hex or base64 output.

Discovered
hmac_verify

Verify HMAC signature (hex or base64).

Discovered
hosts_file_parse

Parse /etc/hosts style file into IP → hostnames entries. When: Parse /etc/hosts style IP→hostname maps.

Discovered
html_decode

Unescape HTML entities.

Discovered
html_encode

Escape HTML entities.

Discovered
html_security_scan

Scan HTML for XSS-prone patterns (javascript: URLs, inline handlers, eval). Note: best-effort / heuristic — not a full language parser.

Discovered
html_to_markdown

Convert HTML to Markdown text. When: Convert HTML → markdown for docs the agent edits.

Discovered
http_headers_fetch

Fetch HTTP response headers (HEAD/GET) for URL.

Discovered
http_headers_parse

Parse raw HTTP request/response header block into map. When: Parse raw HTTP header blocks.

Discovered
http_status_classify

Classify HTTP status codes into 2xx/3xx/4xx/5xx buckets.

Discovered
http_status_lookup

Explain HTTP status code (e.g. 404, 429, 503).

Discovered
human_bytes

Format bytes to human size, or parse '1.5 GB' to bytes. When: Format or parse human byte sizes (1.5 GB).

Discovered
identifier_validate

Validate identifier for python/javascript/typescript (keywords + syntax).

Discovered
import_list_analyze

List imports from python/js source and flag duplicates. Note: best-effort / heuristic — not a full language parser.

Discovered
ini_parse

Parse INI / simple key=value config into sections. When: Parse INI/section configs into structured maps.

Discovered
ip_geolocation

Geolocate public IP: country, city, lat/lon, timezone, ISP.

Discovered
ip_version_detect

Detect IPv4/IPv6 and classify private/loopback/global. When: Classify IPv4/IPv6 and private/global.

Discovered
ipv4_private_check

Classify IP as private/loopback/link-local/global (SSRF helper).

Discovered
json_assert_paths

Assert JSONPath expressions against JSON (exists/equals/type) — agent self-check.

Discovered
json_equal

Deep-compare two JSON documents and list differing paths.

Discovered
json_flatten

Flatten nested JSON to dot-key map. When: Flatten nested JSON keys before comparing or exporting.

Discovered
json_format

Pretty-print JSON with indent. When: Pretty-print JSON when the agent needs readable output.

Discovered
json_merge

Deep-merge two JSON objects (second overlays first).

Discovered
json_merge_patch

Apply RFC 7396 JSON Merge Patch (null deletes keys). When: RFC 7396 merge patch — use when patching JSON configs.

Discovered
json_minify

Minify JSON (remove whitespace). When: Minify JSON for compact payloads or size checks.

Discovered
json_patch_apply

Apply RFC 6902 JSON Patch ops (add/remove/replace/test/move/copy). When: Apply RFC 6902 ops (add/remove/replace/test/move/copy).

Discovered
json_pointer_get

Get value by RFC 6901 JSON Pointer (e.g. /user/id). When: Read one field by RFC 6901 pointer without full walk in the agent.

Discovered
json_pretty_diff

Unified diff of two JSON documents (pretty-printed).

Discovered
json_schema_infer

Infer a Draft-7 JSON Schema from a sample JSON document (agent favorite).

Discovered
json_schema_validate

Validate JSON data against JSON Schema (Draft 7).

Discovered
json_schema_validate_batch

Batch JSON Schema (Draft 7) validation — up to 25 documents (agent favorite).

Discovered
json_sort_keys

Recursively sort JSON object keys. When: Canonicalize JSON key order for stable diffs/hashes.

Discovered
json_to_csv

Convert JSON array of objects to CSV text.

Discovered
json_to_toml

Convert JSON object text to TOML string.

Discovered
json_to_yaml

Convert JSON text to YAML string. When: Convert JSON → YAML for config files agents write.

Discovered
json_type_summary

Summarize JSON value types (counts per type in tree).

Discovered
json_validate

Validate JSON text; return parsed object or error.

Discovered
jsonl_validate

Validate JSON Lines (NDJSON); optional per-line JSON Schema. When: Validate NDJSON / JSON Lines logs or datasets.

Discovered
jsonpath_query

Query JSON with JSONPath expression; returns matching values.

Discovered
jwt_claims_audit

Decode JWT header/claims (no verify) and flag alg=none, missing exp, privileged roles.

Discovered
jwt_decode

Decode JWT payload and header (no signature verification).

Discovered
jwt_sign

Sign JWT payload (HS* with secret, RS* with private_key PEM).

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected2315 ms193