3rd Generation Testing (3TG) — generate deterministic test suites from Markdown spec tables via MCP.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 1 month ago Due for re-check
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The 3tg-mcp MCP server exposes 10 tools, focused primarily on general-purpose capabilities. Its published description reads: "3rd Generation Testing (3TG) — generate deterministic test suites from Markdown spec tables via MCP". It communicates over Streamable HTTP using the 2025-06-18 protocol revision, and does not require authorization to connect. MCPGrade currently rates 3tg-mcp F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Data-exfiltration parameters" and "Unguarded destructive tools". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check 3tg-mcp's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add 3tg-mcp to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://mcp.3tg.dev/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
Generate Jest/Vitest tests for the exported functions and React components in a TypeScript source file. Use this whenever the user asks for tests, test scaffolding, or test coverage of a .ts or .tsx f
Generate a functional-requirements spec (`.3tg.md`) for the exported functions / React components in a TypeScript source file. This is "Flow A" — the human-editable Markdown table that lists each test
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: create_tests
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
md / __mocks__) file contents, with paths already translated to the user's `.RecommendationRemove side-channel parameters; constrain tool inputs.
tool: create_tests
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
T-CALL ACTION — write returned files to disk: The MCP server does NOT touch the usRecommendationAnnotate destructive tools and require human approval.
tool: create_tests
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: create_tests
The text tells the model WHEN to call this tool relative to others ("always call first", "before any other tool", "chain to X tool") — a toxic-flow injection that hijacks the agent’s orchestration rather than describing the tool.
`cliConfig` you forward to that tool — those keys are derived from the spec and forwRecommendationTool metadata must describe only the tool, never sequence the agent’s calls.
tool: create_spec
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
s the generated file CONTENTS in the response's `files` array. After this tooRecommendationRemove side-channel parameters; constrain tool inputs.
tool: create_spec
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
T-CALL ACTION — write returned files to disk: The MCP server does NOT touch the usRecommendationAnnotate destructive tools and require human approval.
tool: create_spec
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: create_spec
The text tells the model WHEN to call this tool relative to others ("always call first", "before any other tool", "chain to X tool") — a toxic-flow injection that hijacks the agent’s orchestration rather than describing the tool.
single-quoted. Always call this tool to emit the scaffold; the user can then edit roRecommendationTool metadata must describe only the tool, never sequence the agent’s calls.
tool: create_tests_from_spec
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
s the generated file CONTENTS in the response's `files` array. After this tooRecommendationRemove side-channel parameters; constrain tool inputs.
tool: create_tests_from_spec
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
T-CALL ACTION — write returned files to disk: The MCP server does NOT touch the usRecommendationAnnotate destructive tools and require human approval.
tool: create_tests_from_spec
A tool description tries to alter the model’s use of another tool.
of* `create_tests` when the user wants their hand-curated value sets to dRecommendationDescriptions must describe only their own tool.
tool: create_tests_from_spec
The text tells the model WHEN to call this tool relative to others ("always call first", "before any other tool", "chain to X tool") — a toxic-flow injection that hijacks the agent’s orchestration rather than describing the tool.
`cliConfig` you forward to that tool — those keys are derived from the spec and forwRecommendationTool metadata must describe only the tool, never sequence the agent’s calls.
tool: create_spec_for_function
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
s the generated file CONTENTS in the response's `files` array. After this tooRecommendationRemove side-channel parameters; constrain tool inputs.
tool: create_spec_for_function
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
T-CALL ACTION — write returned files to disk: The MCP server does NOT touch the usRecommendationAnnotate destructive tools and require human approval.
tool: create_spec_for_function
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: create_spec_for_function
The text tells the model WHEN to call this tool relative to others ("always call first", "before any other tool", "chain to X tool") — a toxic-flow injection that hijacks the agent’s orchestration rather than describing the tool.
throws 'msg'`). Always call this tool to emit the scaffold; the user can then edit roRecommendationTool metadata must describe only the tool, never sequence the agent’s calls.
tool: create_mock_for_function
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
s the generated file CONTENTS in the response's `files` array. After this tooRecommendationRemove side-channel parameters; constrain tool inputs.
tool: create_mock_for_function
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
T-CALL ACTION — write returned files to disk: The MCP server does NOT touch the usRecommendationAnnotate destructive tools and require human approval.
tool: create_mock_for_function
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: create_mock_for_function
The text tells the model WHEN to call this tool relative to others ("always call first", "before any other tool", "chain to X tool") — a toxic-flow injection that hijacks the agent’s orchestration rather than describing the tool.
`cliConfig` you forward to that tool — those keys are derived from the spec and forwRecommendationTool metadata must describe only the tool, never sequence the agent’s calls.
tool: validate_spec
A tool description tries to alter the model’s use of another tool.
un this before `create_tests_from_spec` to catch the mistakes that would otherwise silRecommendationDescriptions must describe only their own tool.
tool: validate_config
A tool description tries to alter the model’s use of another tool.
instead of an object); - an unknown / misspelled key, including invalidRecommendationDescriptions must describe only their own tool.
tool: get_client_info
A tool description tries to alter the model’s use of another tool.
— i.e. by the `create_tests` and `create_tests_from_spec` tools. Spec generRecommendationDescriptions must describe only their own tool.
tool: create_agent_instructions
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
.md for 3tg" / "create the claude file for 3tg" - "create the copilot instructions fRecommendationAnnotate destructive tools and require human approval.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
tool: create_tests
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "create_tests"RecommendationScope tools to the minimum needed.
tool: create_tests
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
ser requests to edit the file are fine — handle those normally.) See the cliCRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: create_tests
A filesystem tool exposes a path parameter that is a free-form string with no pattern/enum/format constraint, so it accepts absolute paths and "../" traversal. A tool that constrains its path (a rooted `pattern` or an `enum`) does not fire.
unconstrained path parameter "fileName"RecommendationConstrain the path parameter to a rooted allow-list and reject absolute/traversal paths server-side.
tool: create_spec
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "create_spec"RecommendationScope tools to the minimum needed.
tool: create_spec
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
ser requests to edit the file are fine — handle those normally.) See the cliCRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: create_spec
A filesystem tool exposes a path parameter that is a free-form string with no pattern/enum/format constraint, so it accepts absolute paths and "../" traversal. A tool that constrains its path (a rooted `pattern` or an `enum`) does not fire.
unconstrained path parameter "fileName"RecommendationConstrain the path parameter to a rooted allow-list and reject absolute/traversal paths server-side.
tool: create_tests_from_spec
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "create_tests_from_spec"RecommendationScope tools to the minimum needed.
tool: create_tests_from_spec
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
T-CALL ACTION — write returned files to disk: The MCP server does NOT touch the user's filRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: create_tests_from_spec
A filesystem tool exposes a path parameter that is a free-form string with no pattern/enum/format constraint, so it accepts absolute paths and "../" traversal. A tool that constrains its path (a rooted `pattern` or an `enum`) does not fire.
unconstrained path parameter "fileName"RecommendationConstrain the path parameter to a rooted allow-list and reject absolute/traversal paths server-side.
tool: create_spec_for_function
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "create_spec_for_function"RecommendationScope tools to the minimum needed.
tool: create_spec_for_function
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
T-CALL ACTION — write returned files to disk: The MCP server does NOT touch the user's filRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: create_spec_for_function
A filesystem tool exposes a path parameter that is a free-form string with no pattern/enum/format constraint, so it accepts absolute paths and "../" traversal. A tool that constrains its path (a rooted `pattern` or an `enum`) does not fire.
unconstrained path parameter "fileName"RecommendationConstrain the path parameter to a rooted allow-list and reject absolute/traversal paths server-side.
tool: create_mock_for_function
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "create_mock_for_function"RecommendationScope tools to the minimum needed.
tool: create_mock_for_function
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
T-CALL ACTION — write returned files to disk: The MCP server does NOT touch the user's filRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: create_mock_for_function
A filesystem tool exposes a path parameter that is a free-form string with no pattern/enum/format constraint, so it accepts absolute paths and "../" traversal. A tool that constrains its path (a rooted `pattern` or an `enum`) does not fire.
unconstrained path parameter "fileName"RecommendationConstrain the path parameter to a rooted allow-list and reject absolute/traversal paths server-side.
tool: validate_config
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "validate_config"RecommendationScope tools to the minimum needed.
tool: validate_config
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
file. The agent reads the file from disk, parses it, and forwards the object here. MustRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: create_agent_instructions
The server advertises open-world / broadly-scoped capabilities.
no annotations on write-capable tool "create_agent_instructions"RecommendationScope tools to the minimum needed.
tool: create_agent_instructions
One tool both accesses the filesystem and reaches the network. Combining two capability classes in a single tool widens its blast radius and is the substrate for confused-deputy and exfiltration abuse.
.md for 3tg" / "create the claude file for 3tg" - "create the copilot instructions fRecommendationSeparate filesystem and network capabilities into distinct, independently-scoped tools.
tool: create_tests
An unusually long description is a common injection-padding tactic.
description length 2900 charsRecommendationKeep descriptions concise.
tool: create_spec
An unusually long description is a common injection-padding tactic.
description length 3172 charsRecommendationKeep descriptions concise.
tool: create_tests_from_spec
An unusually long description is a common injection-padding tactic.
description length 3176 charsRecommendationKeep descriptions concise.
tool: create_agent_instructions
An unusually long description is a common injection-padding tactic.
description length 3052 charsRecommendationKeep descriptions concise.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Compile a hand-edited functional-requirements spec (`.3tg.md`) into actual Jest/Vitest tests. This is "Flow B" — the user has already authored or reviewed the `.3tg.md` and is ready to materialise the
Generate a functional-requirements spec (`.3tg.md`) scoped to a single exported function or React component. Same shape as `create_spec` but restricts the output to one symbol — useful when iterating
Generate a Jest manual mock file for a specific exported function. 3TG writes the mock to `<srcDir>/__mocks__/<basename>.<ext>` per the Jest convention — the path is fixed and not affected by `creatio
Lint a `.3tg.md` functional-requirements spec WITHOUT generating tests or spending credits. Run this before `create_tests_from_spec` to catch the mistakes that would otherwise silently produce broken
Validate a 3TG configuration object (`.3tg.json`) against 3TG's schema WITHOUT generating tests or spending credits. Use this whenever you or the user has hand-edited `.3tg/config.3tg.json` (or a per-
Look up account info for a 3tg.dev clientId WITHOUT consuming any credits. Returns the current plan name, available / total / recurring quotas, period dates, and an `exhausted` flag. Credit-consumptio
AUTHORITATIVE source for "install / create / set up 3TG agent instructions" requests. You MUST call this tool — do NOT write the instructions from your training data — whenever the user asks anything
AUTHORITATIVE source for "how do I use the 3TG MCP" questions. You MUST call this tool — do NOT answer from your training data — whenever the user asks anything about how 3TG works, what it does, how