README.md•8.51 kB
**Firefox DevTools MCP – TODO Roadmap**
This folder contains work items for the Firefox DevTools MCP server. Implementation follows the structure and practices used in `old/mcp_gsheet` and (where it makes sense) aims for parity with `old/mcp_dev_tool_chrome`.
- Kompletní specifikace (původní návrh) byla přesunuta do: `tasks/99-specification.md`
- Aktuální analýza MCP nástrojů a návrhy zjednodušení: `tasks/tools-analysis.md`
Stav práce budeme řídit přes checklist níže. Každý bod odkazuje na samostatný úkol s detaily, akceptačními kritérii, referencemi a ukázkovými snippetami (ilustrační, ne finální kód).
Roadmap
- [x] 00 – Výzkum a architektura: přístup k Firefoxu, parity s Chrome, struktura projektu (`tasks/00-architecture-research.md`)
- [x] 01 – Projektový scaffold (TypeScript, tsup, eslint, prettier, vitest, scripts) (`tasks/01-project-scaffold.md`)
- [x] 02 – Struktura `src/` a skelet MCP serveru (`tasks/02-structure-and-boilerplate.md`)
- [x] 03 – Konfigurace, `.env`, setup skript pro MCP klienty, Inspector (`tasks/03-config-env-and-scripts.md`)
- [x] 04 – Taskfile.yaml a Dockerfile pro lokální testování a Inspector (`tasks/04-taskfile-and-dockerfile.md`)
- [x] 05 – Vrstva prohlížeče (McpContext/browser wrapper) (`tasks/05-browser-abstraction.md`)
- [x] 06 – Tools: Navigace a správa stránek (MVP) (`tasks/06-tools-pages-and-navigation.md`)
- [x] 07 – Tools: Debug a screenshoty (MVP) (`tasks/07-tools-debug-and-screenshot.md`)
- [x] 08 – Tools: Console a evaluate (MVP) (`tasks/08-tools-console-and-script.md`)
- [x] 09 – Tools: Síť a výkon (iterace, omezení Firefoxu) (`tasks/09-tools-network-and-performance.md`)
- [x] 10 – Testování (unit/integration) a Inspector workflow (`tasks/10-testing-and-inspector.md`)
- [x] 11 – Balíčkování, metadata, `server.json`, publikace (`tasks/11-ci-and-packaging.md`)
- [x] 12 – Dokumentace: README, Tool reference, Troubleshooting (`tasks/12-docs-and-readme.md`)
- [x] 13 – Launcher: RDP přepínače a readiness (`tasks/13-launcher-rdp-flags-and-readiness.md`)
- [x] 14 – Launcher: Detekce binárky + edice (`tasks/14-launcher-executable-detection-and-editions.md`)
- [x] 15 – BiDi port a screenshot (volitelné) (`tasks/15-bidi-port-and-screenshot.md`)
- [x] 16 – Docs: Vlastní Firefox klient (EN) (`tasks/16-docs-firefox-client.md`)
- [x] 17 – BiDi coverage vs. Chrome tools (`tasks/17-bidi-coverage-vs-chrome-tools.md`)
- [x] 18 – Refaktor architektury `src/firefox/` (modularizace) (`tasks/18-firefox-client-architecture-refactor.md`)
- [x] 19 – Network backend (BiDi events) (`tasks/19-network-backend-bidi-events.md`)
- [x] 20 – Snapshot + UID mapping (`tasks/20-snapshot-and-uid-mapping.md`)
- [x] 21 – Input tools (click/hover/fill/drag/upload) (`tasks/21-input-tools-bidi.md`)
- [x] 22 – Screenshot tool (page/element) (`tasks/22-screenshot-tool.md`)
- [x] 23 – Page utilities (history/resize/dialog) (`tasks/23-page-utilities-history-resize-dialog.md`)
- [x] 24 – Remove legacy RDP options & wording (`tasks/24-remove-legacy-rdp.md`)
- [x] 25 – Snapshot: Finalization and Extensions (`tasks/25-snapshot-finalization-and-extensions.md`)
- [x] 26 – Firefox modules cleanup & lifecycle hooks (`tasks/26-firefox-modules-cleanup-and-lifecycle.md`)
- [x] 27 – Offline test harness & scripts refactor (`tasks/27-offline-test-harness-and-scripts-refactor.md`)
- [x] 28 – Snapshot bundling integration & de‑dup (`tasks/28-snapshot-bundling-integration-and-dedup.md`)
- [x] 29 – MCP tools: Snapshot integration (`tasks/29-mcp-tools-snapshot-integration.md`)
- [x] 30 – MCP tools: Input akce podle UID (`tasks/30-mcp-tools-input-uid-actions.md`)
- [x] 31 – MCP tools: Screenshot a Utility akce stránky (`tasks/31-mcp-tools-screenshot-and-page-utilities.md`)
- [x] 32 – MCP tools: Refaktor evaluate_script (`tasks/32-mcp-tools-evaluate-refactor.md`)
- [x] 33 – MCP tools: Síťové nástroje – filtry + čištění (`tasks/33-mcp-tools-network-refactor.md`)
- [x] 34 – MCP tools: Console + Pages drobný refaktor (`tasks/34-mcp-tools-console-and-pages-refactor.md`)
New priority items (overhaul)
- [x] NETWORK-01 – Přepracovat `list_network_requests` (čisté JSON Schema, stabilní `id`, detailní JSON výstup) — tasks/NETWORK-01-overhaul-list_network_requests.md
- [x] NETWORK-02 – Redesign `get_network_request` (primárně podle `id`, strukturovaný detail) — tasks/NETWORK-02-redesign-get_network_request.md
- [x] NETWORK-03 – Always‑on network capture; odstranit `start/stop/clear` nástroje — tasks/NETWORK-03-always-on-network-capture-and-remove-start-stop-clear.md
- [x] SCHEMA-01 – Sjednotit `inputSchema` na čisté JSON Schema (zvl. network/performance) — tasks/SCHEMA-01-json-schema-unification.md
- [x] PERFORMANCE-01 – Odstranit performance nástroje (`performance_*`) z veřejné sady — tasks/PERFORMANCE-01-remove-performance-tools.md
- [x] SNAPSHOT-01 – Vyčistit výstup `take_snapshot` + doplnit návod „co dál" + parametrizace — tasks/SNAPSHOT-01-clean-snapshot-output-and-guidance.md
- [x] PAGES – Odstranit `refresh_pages` (duplicitní s `list_pages`) — viz tasks/tools-analysis.md
- [x] CODE-COMMENTS-01 – Review and cleanup of code comments (English only, accurate, no internal task refs) — tasks/CODE-COMMENTS-01-review-and-cleanup.md
- [x] TOOLS-PROMPTS-01 – Improve MCP tool descriptions for better agent-friendliness and consistency — tasks/TOOLS-PROMPTS-01-improvements.md
Release 0.2.0 (2025-10-19)
- [x] RELEASE-01 – Node.js version guard (>=20) + SERVER_VERSION 0.2.0 + bundle logging — tasks/CR-0.2.0-release-enhancements.md
- [x] SNAPSHOT-01 – Parameters (includeText, maxDepth) + clean output (no empty strings) — tasks/CR-0.2.0-release-enhancements.md
- [x] NETWORK-01/02 – Add format parameter (text/json) to network tools — tasks/CR-0.2.0-release-enhancements.md
- [x] CONSOLE-01 – Add filters (textContains, source) + format parameter — tasks/CR-0.2.0-release-enhancements.md
- [x] EVENTS-01 – Memory protection (TTL 5min + max 1000 items) for console/network buffers — tasks/CR-0.2.0-release-enhancements.md
- [x] ACTIONS-01 – GitHub Actions CI/CD outline — tasks/ACTIONS-01-github-actions-outline.md
- [x] ACTIONS-02 – GitHub Actions workflows implementation (ci, pr-check, publish, release) — tasks/ACTIONS-02-github-actions-implementation.md
- [x] VERSION-01 – Version synchronization (npm version lifecycle hook + version-check.yml + docs/release-process.md) — scripts/sync-version.js, .github/workflows/version-check.yml
- [x] CODECOV-01 – Codecov integration (coverage tracking + PR comments + badges) — .codecov.yml, vitest.config.ts, README.md
- [x] TESTS-01 – Smoke tests (fix CI "no test files" error) — tests/smoke.test.ts
Upcoming work
- [ ] TASKS-01 – Tasks folder English migration — tasks/TASKS-01-english-migration.md
Notes
- Code snippets reference existing implementations in `old/`. They are illustrative, not final.
- Structure, tooling, and scripts should follow `old/mcp_gsheet` where possible.
- For MCP tool naming/semantics, keep alignment with `old/mcp_dev_tool_chrome` where it improves prompt reuse. Document deviations explicitly where Firefox differs.
Process and quality control
- Work through tasks in sequence unless agreed otherwise.
- After each task, run `task check`.
- `task check` performs ESLint fixes and TypeScript typecheck (see Taskfile in `old/mcp_gsheet` for the pattern).
- After each task, add a code review note in `tasks/CR-<ID>.md`.
- Example: `tasks/CR-06.md` or `tasks/CR-06-tools-pages-and-navigation.md`.
- Recommended CR outline:
```md
# Code Review – <ID> <task title>
Date: YYYY-MM-DD
What was done
- Short summary of changes and reasoning
- Impacted areas (files/modules)
Decisions and impact
- Important decisions (naming, CLI behavior, defaults)
- Known limitations or tech debt
References
- Links to `old/mcp_gsheet` and `old/mcp_dev_tool_chrome` (specific files)
Next steps
- Follow‑up tasks/tests
```
- Rozšiřuj `.gitignore` podle potřeby (např. `dist/`, `node_modules/`, `coverage/`, `*.log`, `.env`, dočasné soubory, artefakty Dockeru, atd.). Vycházej ze vzoru v `old/mcp_gsheet/.gitignore`.
- Po každém dokončeném úkolu aktualizuj dokumentaci (README, případně `docs/*`, tool reference, poznámky k konfiguraci a omezením). Uveď změny i do CR záznamu.