@testneo/mcp-server
MCP server for TestNeo quality workflows, enabling test generation, execution, and analysis through MCP-compatible IDE clients.
README
@testneo/mcp-server
TestNeo MCP connects Cursor, VS Code, Claude Desktop, and other MCP-compatible clients to TestNeo — so your AI chat can list projects, inspect runs, generate tests from context (including Swagger/OpenAPI and design context), and (when you allow it) execute tests with guardrails.
| Resource | Link |
|---|---|
| Product | testneo.ai |
| Sign up & app | app.testneo.ai/signup |
| Hosted MCP docs (quickstart, tools, workflows, security) | testneo.ai/docs/testneo-mcp.html |
| Source | github.com/gururajhm-neo/testneo-mcp |
Get started (production)
1) Create a TestNeo account and project
- Open app.testneo.ai/signup and register.
- In the app, create a project (web/API automation) and note the project id when you run workflows from chat.
- Open your account/API settings and create an API key (
tn_…). Treat it like a password.
2) Point the MCP server at TestNeo Cloud
Use the production API base URL:
| Variable | Value |
|---|---|
TESTNEO_BASE_URL |
https://app.testneo.ai |
TESTNEO_API_KEY |
your tn_… key |
Self-hosted customers can set TESTNEO_BASE_URL to their own API origin instead.
3) Add the server to your IDE (recommended: npx)
No global install required. Example for Cursor (~/.cursor/mcp.json or Settings → MCP):
{
"mcpServers": {
"testneo": {
"command": "npx",
"args": ["-y", "@testneo/mcp-server"],
"env": {
"TESTNEO_BASE_URL": "https://app.testneo.ai",
"TESTNEO_API_KEY": "tn_YOUR_KEY_HERE",
"TESTNEO_MCP_ALLOW_WRITE": "false"
}
}
}
}
Keep TESTNEO_MCP_ALLOW_WRITE at false until you intentionally want execute/rerun/Swagger-write tools; read-only tools still work. Write tools also need confirm=true on each call — see hosted security section.
4) Reload MCP and verify
Restart the IDE (or reload MCP servers), then in chat:
Validate my TestNeo connection
List my TestNeo projects
5) Go deeper
Follow TestNeo MCP — Docs for quickstart detail, tool reference, workflows (e.g. qa_intelligence_workflow), and troubleshooting. This repo’s docs/MCP_TOOL_REFERENCE.md mirrors the same tool list for offline browsing.
Why use TestNeo MCP?
- Less context switching — quality signals, generation, and execution requests happen in the same chat as your code.
- Guarded writes — mutating tools stay off unless you set
TESTNEO_MCP_ALLOW_WRITE=trueand passconfirm=true. - Same backend as the product — projects, executions, Swagger pipeline, Figma/context flows, and Playwright SDK paths all go through your real TestNeo deployment.
Smoke check (against your account)
From a clone of this repo, after npm install and npm run build:
TESTNEO_BASE_URL="https://app.testneo.ai" TESTNEO_API_KEY="tn_YOUR_KEY_HERE" npm run smoke
Copy .env.example to .env and edit values if you prefer loading env from a file (your shell or tooling must export them before npm run smoke).
Optional: run from a local build instead of npx
npm install
npm run build
Point your MCP config at:
node /absolute/path/to/this/repo/dist/index.js
See docs/IDE_SETUP.md for more client-specific notes.
Responses & contracts
- Tool responses include
_telemetry(request_id,duration_ms,backend_paths, etc.) for support and auditing. testneo_get_failure_bundle(and triage-heavytestneo_run_agent_workflowsteps) may includesuggested_nlp_patchwheninclude_nlp_patch_suggestionis true (default). Details:docs/MCP_TOOL_REFERENCE.md.- Project execution preconditions (default on): generate/execute-style tools may return
project_precondition_failedunless the project resolves a real https base URL for the app under test (website_urlor environmentbase_url).example.complaceholders are rejected. For special dev setups only:TESTNEO_MCP_RELAX_PROJECT_PRECONDITIONS=true. - Execution intelligence: normalized payloads use
contract_version: execution_intelligence.v1(or pipeline variants) andcanonical_status(queued|running|passed|failed|cancelled|unknown) alongside raw backend status.
v1 tool surface (summary)
Read-heavy: connection, projects, executions, logs, trends, watch, failure bundles, agent workflows, unified contexts, Swagger preview, route map, etc.
Writes (guarded): execute generated test, testneo_run_generated_test_pipeline (run + wait + report), rerun failed, trigger Playwright, Swagger upload/impact, NLP updates, route map persist, Figma ingest, etc.
Full list: docs/MCP_TOOL_REFERENCE.md or hosted tool reference.
Environment reference
Required
TESTNEO_BASE_URL— usehttps://app.testneo.aifor TestNeo Cloud; otherwise your self-hosted API origin.TESTNEO_API_KEY— from the app after signup.
Common optional flags
TESTNEO_MCP_ALLOW_WRITE— defaultfalse; settrueonly when you want mutating tools.TESTNEO_MCP_RELAX_PROJECT_PRECONDITIONS— defaultfalse.TESTNEO_MCP_TELEMETRY_JSONL,TESTNEO_MCP_POLICY_MODE,TESTNEO_MCP_TIMEOUT_MS,TESTNEO_MCP_SWAGGER_TIMEOUT_MS,TESTNEO_MCP_USER_AGENT- Route hardening:
TESTNEO_ROUTE_HARDENING,TESTNEO_ROUTE_PROFILE,TESTNEO_ROUTE_MAP_JSON
Generation: testneo_generate_tests_from_context defaults to auto_align_saucedemo_route_map=true for SauceDemo-style auth presets when no custom map is set.
Tests (no live API)
npm test
Runs build checks and offline guardrail scripts (no TESTNEO_BASE_URL required).
Security
- API key is read only from the environment.
- Write tools are disabled unless
TESTNEO_MCP_ALLOW_WRITE=true. - Write tools require
confirm=true(and optionalidempotency_keyfor safe retries).
More policy detail: Security & Governance on the hosted docs.
License & reporting
- License: GPL-3.0 — see
LICENSE. - Security: see
SECURITY.md. - Changelog:
CHANGELOG.md.
Maintainers only: public GitHub mirror
The npm package and gururajhm-neo/testneo-mcp mirror are synced from the private TestNeo monorepo. Do not put monorepo paths or internal CI tokens in your MCP client config — that is maintainer workflow only.
Instructions (local push, optional GitHub Actions secret): docs/PUBLISHING.md.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.