{"_id":"@firstdue/mcp-qa-client","_rev":"3-198017f17b15a4a328f99c9d5f650dd8","name":"@firstdue/mcp-qa-client","dist-tags":{"latest":"2.0.2"},"versions":{"2.0.0":{"name":"@firstdue/mcp-qa-client","version":"2.0.0","keywords":["mcp","testrail","jira","cursor","qa","model-context-protocol"],"author":"","license":"ISC","_id":"@firstdue/mcp-qa-client@2.0.0","maintainers":[{"name":"yailen8911","email":"yailen8911@gmail.com"}],"homepage":"https://github.com/yailenpozo/mcp-testrail-qa-client#readme","bugs":{"url":"https://github.com/yailenpozo/mcp-testrail-qa-client/issues"},"bin":{"mcp-qa-client":"client/mcp-client.js","mcp-qa-client-config":"scripts/print-mcp-config.js"},"dist":{"shasum":"21af9fcfc2179f2b6c248245d2cd356c411baf55","tarball":"https://registry.npmjs.org/@firstdue/mcp-qa-client/-/mcp-qa-client-2.0.0.tgz","fileCount":11,"integrity":"sha512-2Yk+o0IYwwtQcHUuojDOKZrwyiAKkeuvgE/V9oB07KApowAdYwJKgsHu1wncC9VGWhpI3VPg3z9Sr4y5h2DiTQ==","signatures":[{"sig":"MEYCIQDimzITNqgsbl3BciRXeX9Z9u1PedwaNZC4LK7YPU2O0wIhAIVDAqGiIcn3CXprgWrODBs66u2XgUn5rge6i4QkVmLg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103553},"engines":{"node":">=18"},"gitHead":"7e0d7c96ad921195b0fac153caaf224314c304b9","scripts":{"setup":"npm run install-mcp-playwright","print-mcp-config":"node scripts/print-mcp-config.js","install-mcp-playwright":"npm install -g @playwright/mcp@latest"},"_npmUser":{"name":"yailen8911","email":"yailen8911@gmail.com"},"repository":{"url":"git+https://github.com/yailenpozo/mcp-testrail-qa-client.git","type":"git"},"_npmVersion":"11.6.2","description":"Cliente MCP TestRail + Jira para QAs. Instalable con npm; configuración directa en mcp.json (env) sin .env manual.","directories":{},"_nodeVersion":"25.0.0","dependencies":{"dotenv":"^16.4.5","@modelcontextprotocol/sdk":"^1.17.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.5.2","@playwright/test":"^1.55.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-qa-client_2.0.0_1773691383052_0.8337983656416919","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@firstdue/mcp-qa-client","version":"2.0.1","keywords":["mcp","testrail","jira","cursor","qa","model-context-protocol"],"author":"","license":"ISC","_id":"@firstdue/mcp-qa-client@2.0.1","maintainers":[{"name":"yailen8911","email":"yailen8911@gmail.com"}],"homepage":"https://github.com/yailenpozo/mcp-testrail-qa-client#readme","bugs":{"url":"https://github.com/yailenpozo/mcp-testrail-qa-client/issues"},"bin":{"mcp-qa-client":"client/mcp-client.js","mcp-qa-client-config":"scripts/print-mcp-config.js"},"dist":{"shasum":"93a33adfb488c0df7d6e7c2b2841e14332630617","tarball":"https://registry.npmjs.org/@firstdue/mcp-qa-client/-/mcp-qa-client-2.0.1.tgz","fileCount":13,"integrity":"sha512-4xSwrCRF218Crlb1EzUsheFjnCNLSE6oB1Hwpor3P6Iukqcr97L7C4K+M4gr8PIUO+iBysuAVMn0K4sEBPgkwg==","signatures":[{"sig":"MEUCIQDBBiGknS9ZChAPo8lI7GxEtJ3MQULGdo1PUjPoHamRdAIgIV53fc8DxjQJn+zXJFA/Ppk2ov+LvvQhkPeEYux7BlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105678},"engines":{"node":">=18"},"gitHead":"7e0d7c96ad921195b0fac153caaf224314c304b9","scripts":{"setup":"npm run install-mcp-playwright","postinstall":"node scripts/setup-cursor-mcp-global.js","print-mcp-config":"node scripts/print-mcp-config.js","install-mcp-playwright":"npm install -g @playwright/mcp@latest"},"_npmUser":{"name":"yailen8911","email":"yailen8911@gmail.com"},"repository":{"url":"git+https://github.com/yailenpozo/mcp-testrail-qa-client.git","type":"git"},"_npmVersion":"11.6.2","description":"Cliente MCP TestRail + Jira para QAs. Instalable con npm; configuración directa en mcp.json (env) sin .env manual.","directories":{},"_nodeVersion":"25.0.0","dependencies":{"dotenv":"^16.4.5","@modelcontextprotocol/sdk":"^1.17.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^24.5.2","@playwright/test":"^1.55.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-qa-client_2.0.1_1773693576315_0.15648088809149807","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@firstdue/mcp-qa-client","version":"2.0.2","description":"Cliente MCP TestRail + Jira para QAs. Instalable con npm; configuración directa en mcp.json (env) sin .env manual.","scripts":{"install-mcp-playwright":"npm install -g @playwright/mcp@latest","setup":"npm run install-mcp-playwright","print-mcp-config":"node scripts/print-mcp-config.js","postinstall":"node scripts/setup-cursor-mcp-global.js"},"bin":{"mcp-qa-client":"client/mcp-client.js","mcp-qa-client-config":"scripts/print-mcp-config.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.17.5","dotenv":"^16.4.5"},"engines":{"node":">=18"},"keywords":["mcp","testrail","jira","cursor","qa","model-context-protocol"],"author":"","license":"ISC","devDependencies":{"@playwright/test":"^1.55.0","@types/node":"^24.5.2"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/yailenpozo/mcp-testrail-qa-client.git"},"bugs":{"url":"https://github.com/yailenpozo/mcp-testrail-qa-client/issues"},"homepage":"https://github.com/yailenpozo/mcp-testrail-qa-client#readme","gitHead":"3f3965d1aaf68dd556bdebb6d73c29cd9818484d","_id":"@firstdue/mcp-qa-client@2.0.2","_nodeVersion":"25.0.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-amM+jlbhkTBabtHc8G36DWtkxFOxa0iRWiXTE9ZHYlIhM8wOCnPJtfacIPXbN/zr8vQSVN8WEfsTqMOL4lBEYw==","shasum":"aec8511aa0c54f60cfd3872fe7f6c06aa3650739","tarball":"https://registry.npmjs.org/@firstdue/mcp-qa-client/-/mcp-qa-client-2.0.2.tgz","fileCount":13,"unpackedSize":110722,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICHoFvzpVNHqv166IFxrrGAEWmEFBHdSIu4FecRHg7lJAiBSZ+aDOhGmTnOUCOzcFTZIu4HS3nUZ9siV4S+neZLr6A=="}]},"_npmUser":{"name":"yailen8911","email":"yailen8911@gmail.com"},"directories":{},"maintainers":[{"name":"yailen8911","email":"yailen8911@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-qa-client_2.0.2_1774475579861_0.4697936063097521"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-16T20:03:02.966Z","modified":"2026-03-25T21:53:00.147Z","2.0.0":"2026-03-16T20:03:03.206Z","2.0.1":"2026-03-16T20:39:36.502Z","2.0.2":"2026-03-25T21:53:00.022Z"},"bugs":{"url":"https://github.com/yailenpozo/mcp-testrail-qa-client/issues"},"license":"ISC","homepage":"https://github.com/yailenpozo/mcp-testrail-qa-client#readme","keywords":["mcp","testrail","jira","cursor","qa","model-context-protocol"],"repository":{"type":"git","url":"git+https://github.com/yailenpozo/mcp-testrail-qa-client.git"},"description":"Cliente MCP TestRail + Jira para QAs. Instalable con npm; configuración directa en mcp.json (env) sin .env manual.","maintainers":[{"name":"yailen8911","email":"yailen8911@gmail.com"}],"readme":"# MCP QA Client (TestRail + Jira)\n\nCliente MCP para Cursor que conecta con TestRail y Jira. Publicado como paquete npm para que los devs puedan instalarlo y configurarlo **directamente en `mcp.json`** sin pasos manuales con archivos `.env`. **Compatible con Windows, macOS y Linux.**\n\n---\n\n## ¿En qué carpeta lo hacen los devs?\n\nCon **un solo comando** la config se escribe en el **mcp.json global** de Cursor; no hace falta copiar nada a mano (en cualquier SO).\n\n| Paso | Dónde |\n|------|--------|\n| `npm install @firstdue/mcp-qa-client` | En la raíz del proyecto (o en cualquier carpeta). Al terminar, el **postinstall** escribe/actualiza el mcp.json global con la entrada `jira_testrail`. |\n| Sustituir en `env` usuario/key/token | Abre el mcp.json global: **Windows** `%USERPROFILE%\\.cursor\\mcp.json` · **macOS / Linux** `~/.cursor/mcp.json`. Reemplaza `PUT_YOUR_EMAIL`, `PUT_YOUR_TESTRAIL_API_KEY`, `PUT_YOUR_JIRA_API_TOKEN`. |\n| Reiniciar Cursor | Reinicia Cursor para que cargue la config. |\n\nSi prefieres config **por proyecto**, puedes usar `npx mcp-qa-client-config`, copiar la salida en `raíz-del-proyecto/.cursor/mcp.json` y editar ahí las credenciales.\n\n---\n\n## Instalación como paquete npm\n\n### 1. Instalar el paquete (config global automática)\n\nDesde la **raíz de tu proyecto** (o cualquier carpeta):\n\n```bash\nnpm install @firstdue/mcp-qa-client\n```\n\nAl terminar, el script **postinstall** escribe o actualiza el **mcp.json global** de Cursor con la entrada `jira_testrail` (mismo comportamiento en Windows, macOS y Linux). No hace falta ejecutar `npx mcp-qa-client-config` ni pegar nada a mano.\n\nSolo tienes que abrir el mcp.json global (Windows: `%USERPROFILE%\\.cursor\\mcp.json` · macOS/Linux: `~/.cursor/mcp.json`), sustituir en `env` los placeholders `PUT_YOUR_EMAIL`, `PUT_YOUR_TESTRAIL_API_KEY` y `PUT_YOUR_JIRA_API_TOKEN` por tus credenciales, y **reiniciar Cursor**.\n\nPara usar el cliente sin instalar (Cursor puede usar `npx`):\n\n```bash\nnpx -y @firstdue/mcp-qa-client\n```\n\n### 2. Config manual (opcional)\n\nSi prefieres configurar **por proyecto** o no usar la config global, abre o crea:\n\n- **Global:** `~/.cursor/mcp.json` (ya lo rellena el postinstall; solo edita `env`)\n- **Por proyecto:** `raíz-del-proyecto/.cursor/mcp.json`\n\nPuedes usar como referencia este bloque (servidor y URLs ya definidos; solo cambia usuario y keys):\n\n```json\n{\n  \"mcpServers\": {\n    \"jira_testrail\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@firstdue/mcp-qa-client\"],\n      \"env\": {\n        \"MCP_TESTRAIL_SERVER_URL\": \"http://TU_SERVIDOR_MCP:3000/\",\n        \"MCP_TESTRAIL_ENDPOINT\": \"/mcp\",\n        \"MCP_TESTRAIL_TIMEOUT\": \"300000\",\n        \"TESTRAIL_BASE_URL\": \"https://tu-instancia.testrail.io\",\n        \"TESTRAIL_USERNAME\": \"tu_email@empresa.com\",\n        \"TESTRAIL_API_KEY\": \"tu_api_key_testrail\",\n        \"JIRA_BASE_URL\": \"https://tu-dominio.atlassian.net\",\n        \"JIRA_USERNAME\": \"tu_email@empresa.com\",\n        \"JIRA_API_TOKEN\": \"tu_token_api_jira\",\n        \"DEFAULT_PROJECT_ID\": \"2\",\n        \"DEFAULT_SUITE_ID\": \"1000\",\n        \"DEFAULT_JIRA_PROJECT\": \"QA\",\n        \"DEFAULT_JIRA_ISSUE_TYPE\": \"Bug\"\n      }\n    }\n  }\n}\n```\n\nGuarda y **reinicia Cursor**.\n\n### 3. Obtener el fragmento de configuración (opcional)\n\nSi quieres el JSON para pegarlo en un `mcp.json` por proyecto:\n\n```bash\nnpx mcp-qa-client-config\n```\n\nSin tenerlo instalado: `npx --package=@firstdue/mcp-qa-client mcp-qa-client-config`. Desde la carpeta del paquete: `npm run print-mcp-config`.\n\n---\n\n## Alternativa: usar archivo .env\n\nSi prefieres no poner credenciales en `mcp.json`, puedes usar un `.env` en la **raíz de tu proyecto**:\n\n1. Crea un `.env` en el directorio del proyecto desde el que abres Cursor.\n2. Copia las variables desde `.env.example` (incluido en el paquete) y rellena los valores.\n3. En `mcp.json` solo necesitas el comando (sin `env`):\n\n```json\n{\n  \"mcpServers\": {\n    \"jira_testrail\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@firstdue/mcp-qa-client\"]\n    }\n  }\n}\n```\n\nEl cliente cargará primero `.env` del directorio actual (`process.cwd()`) y luego el del paquete.\n\n---\n\n## Publicar el paquete en npm\n\nDesde la carpeta `MCP`:\n\n1. Iniciar sesión en npm (solo la primera vez):\n\n   ```bash\n   npm login\n   ```\n\n2. Publicar:\n\n   ```bash\n   npm publish\n   ```\n\n**Si sale error 403 (Forbidden):** npm exige autenticación de dos factores (2FA) o un token de acceso granular con \"bypass 2FA\" para publicar. Opciones:\n- Activar 2FA en tu cuenta npm: [npmjs.com](https://www.npmjs.com) → Account → Enable 2FA.\n- O crear un token con permisos de publicación: npm website → Access Tokens → Generate New Token (Granular) y marcar \"Bypass 2FA for publish\".\n\nEl paquete usa el scope **@firstdue**. Para publicar, asegúrate de tener permiso en la org `firstdue` de npm (o crearla). Si publicas con otro scope, cambia `\"name\"` en `package.json` y usa el mismo nombre en los `args` de `mcp.json`.\n\n---\n\n## Estructura del paquete\n\n- `client/mcp-client.js` — Punto de entrada (bin)\n- `scripts/print-mcp-config.js` — Genera el fragmento para `mcp.json`\n- `.env.example` — Variables soportadas (sin valores reales)\n\n---\n\n## Más información\n\n- Utilidades y scripts de setup: `client/utils/README.md`\n- Repositorio: [mcp-testrail-qa-client](https://github.com/yailenpozo/mcp-testrail-qa-client)\n","readmeFilename":"README.md"}