Skip to content

Add default Vaadin and Playwright MCP servers#12

Open
petrixh wants to merge 3 commits into
mainfrom
feature/default-mcp-servers
Open

Add default Vaadin and Playwright MCP servers#12
petrixh wants to merge 3 commits into
mainfrom
feature/default-mcp-servers

Conversation

@petrixh
Copy link
Copy Markdown
Owner

@petrixh petrixh commented Apr 1, 2026

Summary

  • Configures Vaadin (HTTP) and Playwright (stdio) MCP servers at container startup via claude mcp add-json --scope user
  • Idempotent: skips servers already present in .claude.json so user customizations aren't overwritten on restart
  • Adds mcp.vaadin.com to the firewall allowed domains

Test plan

  • Built container image successfully
  • Verified claude mcp list shows both servers as connected
  • Verified idempotency — second entrypoint run skips already-configured servers
  • Verified coexistence with notification hooks (separate config files: .claude.json for MCPs, settings.json for hooks)

🤖 Generated with Claude Code

petrixh and others added 3 commits April 1, 2026 11:39
Configure MCP servers at container startup using `claude mcp add-json`,
so Claude Code picks them up natively. Skips servers already configured
to avoid overwriting user customizations on restart.

Also adds mcp.vaadin.com to the firewall allowed domains.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tests that both Vaadin and Playwright MCPs are connected after container
startup, and that the provisioning is idempotent (skips on second run).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Without CLAUDE_CONFIG_DIR exported, the claude CLI writes .claude.json
to the home directory instead of the config directory that gets
volume-mounted, breaking persistence across container restarts.

Also switches the idempotency check from reading .claude.json directly
to using `claude mcp get`, which respects the CLI's own config resolution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant