@testneo/mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@testneo/mcp-serverGenerate tests from my latest Figma design"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@testneo/mcp-server (v1)
Model Context Protocol (MCP) server for TestNeo quality workflows.
This server exposes TestNeo project/execution tools to MCP-compatible IDE clients (Cursor, Claude Desktop, VS Code MCP clients, etc.).
Public mirror (MCP Market / GitHub)
The standalone open-source mirror used for listings and sharing is:
https://github.com/gururajhm-neo/testneo-mcp
This directory is the source of truth inside the TestNeo API monorepo. To refresh the public repo after you change this package, run:
./scripts/sync-public-mcp-repo.sh /path/to/your/local/testneo-mcp-cloneThen git commit + git push from that clone. License: GPL-3.0 — see LICENSE. Security reporting: see SECURITY.md.
Responses
Every tool merges
_telemetryinto JSON results:request_id,tool,duration_ms,backend_paths(METHOD pathper backend call traced from this process), plus schema markertelemetry_schema_versionand best-effort dimensions (project_id, nullabletenant_id).testneo_get_failure_bundle(and triage-heavytestneo_run_agent_workflowsteps) may includesuggested_nlp_patchwheninclude_nlp_patch_suggestionis true (default). Full tool list and contracts:docs/MCP_TOOL_REFERENCE.md(kept in sync with the monorepo’sdocs/mcp-tool-reference.mdviascripts/sync-public-mcp-repo.sh).Project execution preconditions (default on): generate and execute-family tools return
project_precondition_failedunless the project resolves a real http(s) base URL (website_urlor environmentbase_url). Rejectsexample.complaceholders. Disable only for special cases:TESTNEO_MCP_RELAX_PROJECT_PRECONDITIONS=true.Execution contract normalization: execution-intelligence tools emit
contract_version: execution_intelligence.v1and canonical statuses (queued | running | passed | failed | cancelled | unknown) while preserving raw backend status.
v1 scope
Read-heavy tools + guarded write actions:
testneo_validate_connectiontestneo_list_projectstestneo_get_project_route_map(read project-level route hardening map/profile)testneo_list_unified_contexts(browse contexts by name + id)testneo_get_unified_context_by_name(resolvecontext_idwithout the UI)testneo_list_recent_executionstestneo_get_execution_statustestneo_get_execution_summarytestneo_get_execution_logstestneo_get_pass_fail_trendtestneo_watch_executiontestneo_get_failure_bundletestneo_run_agent_workflow(triage_failure_workflow,rerun_decision_workflow,qa_intelligence_workflow)testneo_ingest_figma_context(Figma ETL + unified context creation)testneo_generate_tests_from_context(unified context -> NLP test generation; optional route hardening)testneo_preview_generated_tests(human-in-loop preview: NLP + Playwright spec drafts)testneo_apply_route_hardening(read-only: normalize vague Navigate-to lines using phrase maps)testneo_set_project_route_map(persist project-level route map/profile; guarded write)testneo_execute_generated_test_case(guarded execution of approved generated tests)testneo_update_test_case_nlp(update NLP commands for a generated test)testneo_export_playwright_spec(export generated test as Playwright SDK.spec.ts)testneo_run_playwright_spec_preview(execute parsedai.runflow from spec draft)testneo_figma_to_tests_workflow(end-to-end Figma -> Context -> Tests -> Preview)testneo_search_failurestestneo_rerun_failed(preview by default; execution requiresTESTNEO_MCP_ALLOW_WRITE=trueandconfirm=true)testneo_trigger_playwright_execution(requiresTESTNEO_MCP_ALLOW_WRITE=trueandconfirm=true)Swagger/OpenAPI intelligence
testneo_swagger_preview(read-only: parse spec from base64 → tags, endpoint counts)testneo_swagger_upload_and_generate(web project: Swagger + optional business rules → context + NLP tests; write + confirm)testneo_swagger_impact_analysis/testneo_swagger_impact_actions(web: diff vs snapshot, triage actions; write + confirm)testneo_api_project_upload_openapi/testneo_api_project_openapi_impact(classic API projects; write + confirm)
Setup
cd packages/testneo-mcp-server
npm install
npm run buildRequired env:
TESTNEO_BASE_URL(example:http://localhost:8001)TESTNEO_API_KEY
Optional:
TESTNEO_MCP_ALLOW_WRITE=false(default)TESTNEO_MCP_RELAX_PROJECT_PRECONDITIONS=false(default) — settrueonly to skip executable-base URL checks on generate/execute toolsTESTNEO_MCP_TELEMETRY_JSONL=false(default) — settrueto emit one JSON line per tool invocation to stderr (outcome,request_id,duration_ms,backend_paths)TESTNEO_MCP_POLICY_MODE=strict(default) orwarn— precondition policy behavior (strictblocks on blocker findings,warndowngrades some checks)TESTNEO_MCP_TIMEOUT_MS=20000TESTNEO_MCP_SWAGGER_TIMEOUT_MS=120000(Swagger multipart + heavy OpenAPI impact JSON calls)TESTNEO_MCP_USER_AGENT=@testneo/mcp-serverTESTNEO_ROUTE_HARDENING=true(default) — setfalseto disable phrase→path rewrites globallyTESTNEO_ROUTE_PROFILE=none(default) orsaucedemo— optional preset phrase map (not required for other apps)TESTNEO_ROUTE_MAP_JSON— JSON object of phrase → path (e.g.{"checkout overview":"/checkout"}); merged over the preset when profile issaucedemo, or used alone when profile isnone. Paths should start with/.
Generation: testneo_generate_tests_from_context defaults to auto_align_saucedemo_route_map=true, so Navigate lines get SauceDemo URLs when auth preset is SauceDemo and you have no custom env map (profile none, empty JSON map).
Tests (no API)
Runs a production build, then route-hardening, unified-context discovery, and project-precondition classifiers (no HTTP calls to the TestNeo API):
npm testSmoke check
TESTNEO_BASE_URL="http://localhost:8001" TESTNEO_API_KEY="tn_xxx" npm run smokeCursor/IDE command
The MCP command should run:
node /absolute/path/to/testneo-api/packages/testneo-mcp-server/dist/index.jsSee docs/IDE_SETUP.md for config guidance and example prompts.
Security notes
API key is only read from environment.
Write tool is disabled by default.
Trigger tool requires explicit
confirm=true.Write tools support optional
idempotency_keyto prevent replay/duplicate execution on retries.
Agentic workflows (Phase 2A)
testneo_run_agent_workflow adds an orchestration layer over core tools and returns structured step traces:
triage_failure_workflow: recent failures -> top failure bundles -> recurring themesrerun_decision_workflow: recent failures -> rerun candidate planning (preview-first)qa_intelligence_workflow: unified intelligence report (trend + failures + triage + rerun preview)
Figma-to-tests workflows (Phase 2B)
MCP now supports context-driven generation with human approval:
Ingest Figma metadata and link ETL output into unified context
Generate NLP tests from context entities via existing LangGraph pipeline
Preview generated tests in both NLP and Playwright SDK
.spec.tsdraft formatExecute approved generated tests through guarded write actions
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gururajhm-neo/testneo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server