Announcing Beacon: Self-improving memory for coding agents
← All MCP servers
MCP server

io.tooltrace/mcp-server

mcp:tooltrace-io/mcp-server

Web tools for AI agents: scrape pages to Markdown, audit SEO, detect tech stacks, check sitemaps

Verdict
No issues found

No suspicious or malicious behavior was found.

Analyzed Oct 26, 2026, 12:04 UTC at 0692e7e

Dispute security verdict

If you believe this verdict is incorrect, submit a dispute and we'll review it.

0
findings
—
highest severity
0
threat classes
14
files scanned
222/222
checks satisfied
0
package advisories

Why this verdict

  • benign: 222 checks satisfied, no findings for mcp-server:.

Security findings 0

No security findings

No suspicious or malicious behavior was found; 1 candidate finding was refuted on review.

Execution chain 161

What it calls, runs, installs, reads and writes, with the line that does it.

Environment variables 3

PORT
TOOLTRACE_API_BASE
TOOLTRACE_API_KEY

GitHub repositories 2

tooltrace-io/mcp-server
tooltrace-io/mcp-server

Network calls 10

<dynamic>
<dynamic>
src/server.ts:211 · via:callApi
<dynamic>
src/server.ts:241 · via:callApi
<dynamic>
src/server.ts:276 · via:callApi
<dynamic>
src/server.ts:311 · via:callApi
<dynamic>
src/server.ts:341 · via:callApi
<dynamic>
src/server.ts:371 · via:callApi
<dynamic>
src/server.ts:396 · via:callApi
api.tooltrace.io
src/server.ts:21 · url_literal
tooltrace.io
src/server.ts:40 · url_literal

Packages 1

npm:@tooltrace/mcp-server@0.1.2
server.json:14 · launch:server.json

URLs 145

https://api.tooltrace.io/v1
https://github.com/sponsors/colinhacks
https://github.com/sponsors/epoberezkin
https://github.com/sponsors/express-rate-limit
https://github.com/sponsors/fastify
https://github.com/sponsors/ljharb
https://github.com/sponsors/ljharb
https://github.com/sponsors/ljharb
https://github.com/sponsors/ljharb
https://github.com/sponsors/ljharb
https://github.com/sponsors/ljharb
https://github.com/sponsors/ljharb
https://github.com/sponsors/ljharb
https://github.com/sponsors/ljharb
https://github.com/sponsors/ljharb
https://github.com/sponsors/ljharb
https://github.com/sponsors/panva
https://github.com/sponsors/sindresorhus
https://github.com/ToolTrace-io/mcp-server
https://github.com/ToolTrace-io/mcp-server
https://mcp.tooltrace.io/mcp
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/express
https://opencollective.com/fastify
https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.1.tgz
https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.30.0.tgz
https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz
https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz
https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz
https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz
https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz
https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz
https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz
https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz
https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz
https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz
https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz
https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz
https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz
https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz
https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz
https://registry.npmjs.org/cors/-/cors-2.8.6.tgz
https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz
https://registry.npmjs.org/debug/-/debug-4.4.3.tgz
https://registry.npmjs.org/depd/-/depd-2.0.0.tgz
https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz
https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz
https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz
https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz
https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz
https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz
https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz
https://registry.npmjs.org/etag/-/etag-1.8.1.tgz
https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.1.tgz
https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz
https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.7.0.tgz
https://registry.npmjs.org/express/-/express-5.2.1.tgz
https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz
https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.6.tgz
https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz
https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz
https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz
https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz
https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz
https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz
https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz
https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz
https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz
https://registry.npmjs.org/hono/-/hono-4.13.5.tgz
https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz
https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz
https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz
https://registry.npmjs.org/ip-address/-/ip-address-10.7.0.tgz
https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz
https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz
https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz
https://registry.npmjs.org/jose/-/jose-6.2.10.tgz
https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz
https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz
https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz
https://registry.npmjs.org/media-typer/-/media-typer-1.1.1.tgz
https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz
https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz
https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz
https://registry.npmjs.org/ms/-/ms-2.1.3.tgz
https://registry.npmjs.org/negotiator/-/negotiator-1.1.0.tgz
https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz
https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz
https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz
https://registry.npmjs.org/once/-/once-1.4.0.tgz
https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz
https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz
https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz
https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz
https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz
https://registry.npmjs.org/qs/-/qs-6.15.3.tgz
https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz
https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz
https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz
https://registry.npmjs.org/router/-/router-2.2.0.tgz
https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz
https://registry.npmjs.org/send/-/send-1.2.1.tgz
https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz
https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz
https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz
https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz
https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz
https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz
https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz
https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz
https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz
https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz
https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz
https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz
https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz
https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz
https://registry.npmjs.org/vary/-/vary-1.1.2.tgz
https://registry.npmjs.org/which/-/which-2.0.2.tgz
https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz
https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz
https://registry.npmjs.org/zod/-/zod-4.5.2.tgz
https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json
https://tooltrace.io/mcp
https://tooltrace.io/mcp
https://tooltrace.io/signup
https://tooltrace.io/signup
https://tooltrace.io/signup
https://tooltrace.io/signup
https://tooltrace.io/signup
Refuted findings 1

Candidates the review stage examined and rejected, kept for transparency.

Data exfiltration

highRefutedlow confidence

The API base URL that receives the X-ToolTrace-Key header and all requested URLs can be redirected via the TOOLTRACE_API_BASE environment variable, so a manipulated environment would send the API key to another host; the default is the vendor's own API and the override is documented as being for tests or self-hosting.

const API_BASE = process.env.TOOLTRACE_API_BASE ?? "https://api.tooltrace.io/v1";
Why it was refuted

The API base override is an ordinary, commented configuration knob for tests/self-hosting; the default is the vendor's own API, which is the declared core capability and the sole destination for the env API key. Exploiting it requires the attacker to already control the process environment, which gives no new capability, and there is no instruction or hidden chain directing data elsewhere.