It Tools MCP Server

it-tools-mcp npm v5.10.8 Source verified

Published by wrenchpilot — publish provenance cryptographically ties this package to that repository. That is proof of origin, not an official vendor package.

MCP-compliant server access to over 100 IT tools and utilities commonly used by developers, system administrators, and IT professionals.

Trust grade
A
94/100
Last scanned get badge →
Trust
A · 94/100
Adoption risk for you: the threat score, then adjusted down for blast radius, publisher verification and how much the scan could see. Deterministic; every point is auditable.
Capability
High
Blast radius if it went rogue — what the server’s tools could reach. Independent of trust.
Coverage
Source
How much the scan could actually inspect. Shallow coverage is stated, never hidden.
Share this Trust Score
𝕏 Share LinkedIn Reddit
A Why this grade threat 100 − adoption risk = 94/100

The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.

1. Threat score — 100 − 0 = 100. What the published surface and source actually contain:

The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.

2. Client adoption risk — 100 − 6 = 94. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:

PointsAdoption-risk factor
−6 capability blast radius (high) — client exposure if the model is manipulated

Capability observations and info notes are shown under Findings but never scored. Open any row's finding below for the file, line and evidence behind a deduction.

Findings 8

high Sensitive-source and external-sink co-existMTC-FLOW-004

Tools that read sensitive data ([generate_otp, format_sql]) and tools that can send data out ([curl, ssh]) are exposed together. An agent can move private data to the sink.

Evidence: sources [generate_otp, format_sql] → sinks [curl, ssh]

Fix: Keep secret-reading and egress capabilities on separate, separately-approved servers.

Location: flow generate_otp → curl

high Reads a sensitive credential path or dumps the environment (build/tools/network/scp/index.js)MTC-SRC-006

In the server's implementation (`build/tools/network/scp/index.js:10`): Reading private keys / cloud credentials, or serializing the whole environment, is a sensitive-data source that becomes exfiltration when combined with any egress. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: ath.join(home, '.ssh', 'id_rsa'), path.join(home, '.ssh', 'id_ed25519'), ]; for (const keyPa

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/tools/network/scp/index.js

high Reads a sensitive credential path or dumps the environment (build/tools/network/ssh/index.js)MTC-SRC-006

In the server's implementation (`build/tools/network/ssh/index.js:11`): Reading private keys / cloud credentials, or serializing the whole environment, is a sensitive-data source that becomes exfiltration when combined with any egress. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: ath.join(home, '.ssh', 'id_rsa'), path.join(home, '.ssh', 'id_ed25519'), ]; for (const keyPa

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/tools/network/ssh/index.js

high Tool "ssh" exposes command/code executionMTC-CAP-001

Tool "ssh" appears to run shell commands or evaluate code (parameter "command"). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.

Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.

Location: tool ssh

medium Hardcoded egress to an external endpoint (build/tools/crypto/generate_basic_auth/index.js)MTC-SRC-003

In the server's implementation (`build/tools/crypto/generate_basic_auth/index.js:33`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: le.com Usage in fetch: fetch('https://api.example.com', { headers: { 'Authorization': '${authHeader}' } })`,

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/tools/crypto/generate_basic_auth/index.js

medium Unconstrained URL/host parameter "url" on "curl"MTC-CAP-007

Tool "curl" takes a URL/host parameter "url" with no allowlist/pattern. An outbound-request tool with an unbounded destination enables SSRF and cloud-metadata access (e.g. 169.254.169.254).

Fix: Allowlist destinations or constrain the parameter; block private/link-local addresses server-side.

Location: tool curl · inputSchema.properties.url

medium Unconstrained command parameter "command" on "ssh"MTC-CAP-006

Tool "ssh" takes a command-shaped parameter "command" with no enum/pattern constraint. Free-form, model- or attacker-controlled arguments reaching a shell is the command-injection precondition.

Fix: Constrain the parameter (enum/pattern), or build the command from a fixed template with escaped args.

Location: tool ssh · inputSchema.properties.command

low Mutating tool "ssh" declares no destructiveHintMTC-CAP-005

Tool "ssh" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.

Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.

Location: tool ssh

Tools 119

Each tool and what it can reach — statically extracted from the published source.

  • curlnetwork egress
  • format_sqlreads sensitive data
  • generate_otpreads sensitive data
  • sshruns code / shell
  • analyze_distinct_wordsno sensitive capability
  • analyze_text_statsno sensitive capability
  • calculate_ip_subnetno sensitive capability
  • calculate_ipv4_subnetno sensitive capability
  • calculate_ipv6_subnetno sensitive capability
  • calculate_percentageno sensitive capability
Show 109 more tools ↓
  • capitalize_textno sensitive capability
  • catno sensitive capability
  • compare_jsonno sensitive capability
  • compare_textno sensitive capability
  • convert_angleno sensitive capability
  • convert_cidr_to_ip_rangeno sensitive capability
  • convert_docker_compose_to_runno sensitive capability
  • convert_docker_run_to_composeno sensitive capability
  • convert_energyno sensitive capability
  • convert_hex_to_rgbno sensitive capability
  • convert_html_to_markdownno sensitive capability
  • convert_ip_range_to_cidrno sensitive capability
  • convert_json_to_csvno sensitive capability
  • convert_json_to_tomlno sensitive capability
  • convert_listno sensitive capability
  • convert_markdown_to_htmlno sensitive capability
  • convert_number_baseno sensitive capability
  • convert_powerno sensitive capability
  • convert_rem_pxno sensitive capability
  • convert_rgb_to_hexno sensitive capability
  • convert_roman_numeralsno sensitive capability
  • convert_temperatureno sensitive capability
  • convert_text_to_binaryno sensitive capability
  • convert_text_to_camelcaseno sensitive capability
  • convert_text_to_kebabcaseno sensitive capability
  • convert_text_to_lowercaseno sensitive capability
  • convert_text_to_natono sensitive capability
  • convert_text_to_pascalcaseno sensitive capability
  • convert_text_to_unicodeno sensitive capability
  • convert_text_to_uppercaseno sensitive capability
  • convert_toml_to_jsonno sensitive capability
  • convert_unix_timestampno sensitive capability
  • decode_base64no sensitive capability
  • decode_htmlno sensitive capability
  • decode_jwtno sensitive capability
  • decode_safelinkno sensitive capability
  • decode_urlno sensitive capability
  • decrypt_ansible_vaultno sensitive capability
  • digno sensitive capability
  • encode_base64no sensitive capability
  • encode_htmlno sensitive capability
  • encode_html_entitiesno sensitive capability
  • encode_urlno sensitive capability
  • encrypt_ansible_vaultno sensitive capability
  • evaluate_mathno sensitive capability
  • fang_urlno sensitive capability
  • format_cssno sensitive capability
  • format_htmlno sensitive capability
  • format_javascriptno sensitive capability
  • format_jsonno sensitive capability
  • format_phoneno sensitive capability
  • format_xmlno sensitive capability
  • format_yamlno sensitive capability
  • generate_ansible_inventoryno sensitive capability
  • generate_ascii_artno sensitive capability
  • generate_basic_authno sensitive capability
  • generate_bip39no sensitive capability
  • generate_crontabno sensitive capability
  • generate_hmacno sensitive capability
  • generate_ipv6_ulano sensitive capability
  • generate_lorem_ipsumno sensitive capability
  • generate_mac_addressno sensitive capability
  • generate_markdown_tocno sensitive capability
  • generate_numeronymno sensitive capability
  • generate_passwordno sensitive capability
  • generate_qr_codeno sensitive capability
  • generate_random_portno sensitive capability
  • generate_svg_placeholderno sensitive capability
  • generate_tokenno sensitive capability
  • generate_traefik_composeno sensitive capability
  • generate_ulidno sensitive capability
  • generate_uuidno sensitive capability
  • grepno sensitive capability
  • hash_bcryptno sensitive capability
  • hash_md5no sensitive capability
  • hash_sha1no sensitive capability
  • hash_sha256no sensitive capability
  • hash_sha512no sensitive capability
  • headno sensitive capability
  • identify_file_typeno sensitive capability
  • logging_setLevelno sensitive capability
  • logging_statusno sensitive capability
  • lookup_http_statusno sensitive capability
  • lookup_mime_typesno sensitive capability
  • lookup_port_numbersno sensitive capability
  • minify_jsonno sensitive capability
  • normalize_emailno sensitive capability
  • nslookupno sensitive capability
  • obfuscate_stringno sensitive capability
  • parse_ansible_inventoryno sensitive capability
  • parse_urlno sensitive capability
  • pingno sensitive capability
  • psno sensitive capability
  • scpno sensitive capability
  • search_emojino sensitive capability
  • show_ansible_referenceno sensitive capability
  • show_device_infono sensitive capability
  • show_docker_referenceno sensitive capability
  • show_unicode_namesno sensitive capability
  • slugify_textno sensitive capability
  • system_infono sensitive capability
  • tailno sensitive capability
  • telnetno sensitive capability
  • test_regexno sensitive capability
  • text_snakecaseno sensitive capability
  • topno sensitive capability
  • validate_ansible_playbookno sensitive capability
  • validate_docker_composeno sensitive capability
  • validate_ibanno sensitive capability

Toxic flows 1

Cross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).

What this scan could not see

Versions 1

Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.

VersionScoreFindingsEngineScanned
v5.10.8 latest A 94/100 8 1.13.0 2026-09-07

Embed this score

Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.

MCP Trust Score: A · 94/100
Markdown (GitHub README)
[![MCP Trust Score](https://mcptrustchecker.com/registry/it-tools-mcp/badge.svg)](https://mcptrustchecker.com/registry/it-tools-mcp)
HTML
<a href="https://mcptrustchecker.com/registry/it-tools-mcp"><img src="https://mcptrustchecker.com/registry/it-tools-mcp/badge.svg" alt="MCP Trust Score" height="20"></a>
Prefer shields.io styling? Point it at https://mcptrustchecker.com/registry/it-tools-mcp/badge.json via https://img.shields.io/endpoint?url=…

Verify this score yourself

The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.

npx mcptrustchecker scan it-tools-mcp --online

Use the free API → How scoring works

More in Productivity & Workflow