@alexbuzo/atp-mcp
v0.1.4
Published
MCP server for ATP-compatible test management APIs
Maintainers
Readme
ATP MCP Server
MCP server for ATP-compatible test management APIs. It exposes project, test plan, test case, execution, dataset, ITF, export, and migration helper tools over stdio for clients such as Cursor and Claude Desktop.
This package does not include API access, credentials, environment data, exported test data, or vendor-specific configuration. You must provide your own ATP API gateway and identity provider endpoints through environment variables.
Installation
npm install -g @alexbuzo/atp-mcpOr run it without a global install:
npx -y @alexbuzo/atp-mcpMCP Configuration
Example mcp.json entry:
{
"mcpServers": {
"atp-mcp": {
"command": "npx",
"args": ["-y", "@alexbuzo/atp-mcp"],
"env": {
"ATP_BASE_URL": "https://your-atp-api.example.com",
"ATP_KEYCLOAK_URL": "https://your-keycloak.example.com/auth",
"ATP_REALM": "your-realm",
"ATP_CLIENT_ID": "your-client-id",
"ATP_USERNAME": "your-username",
"ATP_PASSWORD": "your-password",
"ATP_PROJECT_ID": "00000000-0000-0000-0000-000000000000"
}
}
}
}Environment Variables
| Variable | Required | Description |
|---|---:|---|
| ATP_BASE_URL | Yes | ATP API gateway base URL. |
| ATP_KEYCLOAK_URL | Yes | Keycloak base, /auth, realm, or token endpoint URL. |
| ATP_REALM | Yes | Keycloak realm. |
| ATP_CLIENT_ID | Yes | OAuth client ID. |
| ATP_USERNAME | Preferred | Username for password-grant authentication. |
| ATP_PASSWORD | Preferred | Password for password-grant authentication. |
| ATP_ACCESS_TOKEN | Optional | Static bearer token fallback when username/password are not supplied. |
| ATP_PROJECT_ID | Optional | Default project UUID. |
| ATP_TIMEOUT | Optional | Request timeout in milliseconds. Default: 30000. |
| ATP_RETRIES | Optional | Retry attempts for transient failures. Default: 1. |
| ATP_TLS_INSECURE | Optional | Set to true, 1, or yes only for self-signed development certificates. |
Tool Groups
- Projects, test plans, test cases, scopes, environments, users, and datasets.
- Execution requests, test runs, logs, screenshots, and HTML report generation.
- ITF callchains, systems, operations, situations, servers, environments, and templates.
- Full test export for migration or archival workflows.
- Bruno collection export for ITF callchains.
- Migration bootstrap helpers for generating test automation scaffolding.
- ATP2 Playwright migration helpers:
atp_init_playwright_migration_profilescans a target Playwright project and createsscripts/atp2-migration-profile.js, Cursor rules, a Cursor command, and project migration docs.atp_migrate_to_playwright_projectexports an ATP scope/test bundle and applies the target project's migration profile.
ATP2 Playwright Migration
For a new Playwright project, initialize the project profile first:
{
"tool": "atp_init_playwright_migration_profile",
"arguments": {
"projectRoot": "/absolute/path/to/playwright-project",
"sourceUrl": "https://atp-catalogue.example/project/.../plan/.../scopes/...",
"overwrite": false
}
}Then migrate a scope or test:
{
"tool": "atp_migrate_to_playwright_project",
"arguments": {
"sourceUrl": "https://atp-catalogue.example/project/.../plan/.../scopes/...",
"executionUrl": "https://atp-catalogue.example/project/.../ram/execution-request/...",
"projectRoot": "/absolute/path/to/playwright-project",
"profile": "auto",
"overwrite": true
}
}The generated generic profile expands nested ATP compounds and creates runnable Playwright specs. Unsupported SQL, ITF/MIA commands, and unknown action templates remain visible in the generated migration report and strict runtime errors until the target project adds native mappings.
Local Development
npm install
npm test
npm run buildRun the MCP server from source:
npm run devBuild output is written to build/. The npm package publishes only compiled
runtime files, type declarations, this README, and the license file.
Publishing
Review the package contents before publishing:
npm pack --dry-runScoped public packages are published with public access:
npm publish --access publicSecurity Notes
- Do not commit real tokens, exported customer data, private endpoint URLs, or personal data.
- Prefer username/password auth with automatic refresh over static tokens.
- Use
ATP_TLS_INSECUREonly for local or isolated development environments.
License
MIT
