{
  "markdown": "# teste-no-mcp\n\nMCP (Model Context Protocol) server for [Teste.no](https://teste.no) — a continuous testing control center for websites, APIs, and webshops.\n\nThis package is a **thin stdio client** that connects Cursor, Claude, or any MCP-compatible host to your Teste.no instance via the tRPC API. It does **not** embed a database or queue — it calls your Teste.no API over HTTP with a Bearer token.\n\n## Quick start\n\n### 1. Create an API token\n\nIn Teste.no, go to **Settings → API Keys** and create a token with the scopes you need:\n- `read` — list targets, findings, incidents, runs, stats\n- `write` — trigger tests, manage incidents, record deployments\n- `admin` — create/update/delete targets, muting rules, system health\n\n### 2. Configure Cursor\n\nAdd to `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"teste-no\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"teste-no-mcp\"],\n      \"env\": {\n        \"TESTE_NO_API_URL\": \"http://localhost:4207\",\n        \"TESTE_NO_API_KEY\": \"tno_<your-api-key>\"\n      }\n    }\n  }\n}\n```\n\n### 3. Verify connectivity\n\n```bash\nTESTE_NO_API_URL=http://localhost:4207 \\\nTESTE_NO_API_KEY=tno_xxx \\\nnpx -y teste-no-mcp verify\n```\n\nOr from the package directory:\n\n```bash\nnpm run verify\n```\n\n## Environment variables\n\n| Variable | Required | Default | Description |\n|----------|----------|---------|-------------|\n| `TESTE_NO_API_KEY` | Yes | — | API token (prefix `tno_`) from Settings → API Keys |\n| `TESTE_NO_API_URL` | No | `http://localhost:4207` | Base URL of the Teste.no API server |\n\n## Available tools (30)\n\n### Read tools (16)\n\n| Tool | Description |\n|------|-------------|\n| `list_targets` | List monitoring targets with status and uptime |\n| `get_target` | Target details including composite scores |\n| `get_target_scores` | Security/SEO/Performance/Accessibility scores (0-100) |\n| `list_findings` | Open issues, filter by severity/target/status |\n| `get_finding` | Finding detail with evidence and AI analysis |\n| `list_incidents` | Grouped operational issues |\n| `get_incident` | Incident detail with linked findings and deployment correlation |\n| `list_runs` | Recent test runs, filter by target/status/slug |\n| `get_run` | Run detail with metrics, score, and findings |\n| `active_runs` | Currently running and queued tests |\n| `team_stats` | Team-wide overview stats |\n| `target_stats` | Per-target statistics |\n| `daily_trends` | Time-series data for trend analysis (up to 90 days) |\n| `get_site_map` | Latest crawl snapshot with page inventory and SEO issues |\n| `list_maintenance_windows` | Scheduled maintenance windows for a target |\n| `list_tests` | All 43 available test definitions (plugins) |\n\n### Write tools (9)\n\n| Tool | Description |\n|------|-------------|\n| `trigger_test` | Run a specific test by slug or ID |\n| `trigger_all_tests` | Fan-out scan of all enabled tests for a target |\n| `acknowledge_incident` | Mark an incident as acknowledged |\n| `resolve_incident` | Resolve an incident |\n| `mute_finding` | Mute an open finding |\n| `create_maintenance_window` | Schedule alert suppression window |\n| `delete_maintenance_window` | Remove a maintenance window |\n| `record_deployment` | Track a deployment for incident correlation |\n| `recompute_scores` | Force recompute composite scores |\n\n### Admin tools (5)\n\n| Tool | Description |\n|------|-------------|\n| `create_target` | Add a new website/API/webshop target |\n| `update_target` | Update target properties |\n| `delete_target` | Permanently delete a target |\n| `create_muting_rule` | Auto-mute findings by pattern |\n| `system_health` | Platform health report (queues, stuck runs, stats) |\n\n> Admin tools require `admin` scope **and** the token owner must be in ADVANCED UI mode.\n\n## Bundled Cursor rule\n\nThe package includes a `.cursor/rules/teste-no-mcp.mdc` file that teaches agents when to call which tools. Install it globally:\n\n```bash\nnpx -y teste-no-mcp install-cursor-rule\n```\n\nOr copy it manually to your project's `.cursor/rules/` directory.\n\n## ChatGPT / MCP App (OAuth)\n\nTeste.no also works as a **ChatGPT MCP App** via Streamable HTTP with OAuth 2.1.\n\n1. In ChatGPT, go to **Settings → Connected apps → Developer Mode**\n2. Enter the MCP endpoint: `https://api.teste.no/api/mcp`\n3. ChatGPT discovers the OAuth server via `/.well-known/oauth-protected-resource`\n4. Sign in with your Teste.no email and password\n5. Approve access on the consent page\n\nChatGPT uses Dynamic Client Registration (PKCE). No API key needed — authentication\nis handled via OAuth tokens. See [`docs/mcp-chatgpt.md`](https://github.com/kaduno/teste.no/blob/main/docs/mcp-chatgpt.md) for details.\n\n## Architecture\n\n```\n┌──────────────┐     stdio (JSON-RPC)     ┌──────────────────┐\n│  Cursor IDE  │ ◄──────────────────────► │  teste-no-mcp    │\n│  (MCP host)  │                           │  (this package)  │\n└──────────────┘                           └────────┬─────────┘\n                                                    │ HTTP + Bearer\n                                                    ▼\n                                           ┌──────────────────┐\n                                           │  Teste.no API    │\n                                           │  (Fastify+tRPC)  │\n                                           └────────┬─────────┘\n                                                    │\n                                            ┌───────┴───────┐\n                                            │  PostgreSQL    │\n                                            │  Redis+BullMQ  │\n                                            └───────────────┘\n```\n\nThe MCP package is a **zero-dependency client** (only `@modelcontextprotocol/sdk` and `zod`). All business logic, authorization, and data access happen in the Teste.no API.\n\n## Development (monorepo)\n\nIf developing inside the teste.no monorepo:\n\n```bash\ncd packages/teste-no-mcp\npnpm install\npnpm dev   # tsx watch mode\n```\n\n## Publishing\n\n```bash\ncd packages/teste-no-mcp\nnpm version patch   # or minor/major\nnpm publish\n```\n\nThe `prepare` script runs `tsc` before publish to ensure `dist/` is built.\n\n## License\n\nMIT",
  "bytes": 6086,
  "sha": "47a9e0888d4fa667830aacb9437d577b7c6467a0405f45ae91d027d086189fc5",
  "repo_slug": "kloner/teste-no-mcp",
  "fonte": "npm",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_validoria_validoria_mcp_d939e1fc/readme"
}