Skip to content

feat: anonymous telemetry and in-app feedback (Spec 036)#345

Merged
Dumbris merged 7 commits intomainfrom
feat/036-telemetry-and-feedback
Mar 23, 2026
Merged

feat: anonymous telemetry and in-app feedback (Spec 036)#345
Dumbris merged 7 commits intomainfrom
feat/036-telemetry-and-feedback

Conversation

@Dumbris
Copy link
Member

@Dumbris Dumbris commented Mar 23, 2026

Summary

  • Add anonymous daily heartbeat telemetry to Cloudflare Worker (opt-out, no PII)
  • Add in-app feedback form that creates GitHub Issues via Worker
  • CLI commands: mcpproxy telemetry status/enable/disable, mcpproxy feedback
  • Web UI: Feedback page, telemetry banner, nav menu item
  • Full documentation at docs/features/telemetry.md

What's collected

Version, OS, arch, server/tool counts, uptime, routing mode. Never: server names, URLs, keys, tool content, user data.

How to disable

mcpproxy telemetry disable          # CLI
MCPPROXY_TELEMETRY=false            # Environment variable
{"telemetry": {"enabled": false}}   # Config file

Test plan

  • 19 new Go tests (telemetry service, feedback, config) — all pass with -race
  • Frontend build passes (npm run build)
  • make build passes (personal + tray editions)
  • OpenAPI spec regenerated
  • Telemetry silently handles endpoint failures (fire-and-forget, 10s timeout)
  • Feedback rate-limited to 5/hour

🤖 Generated with Claude Code

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Mar 23, 2026

Deploying mcpproxy-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: f44b3f4
Status: ✅  Deploy successful!
Preview URL: https://6b8d89cd.mcpproxy-docs.pages.dev
Branch Preview URL: https://feat-036-telemetry-and-feedb.mcpproxy-docs.pages.dev

View logs

@github-actions
Copy link

github-actions bot commented Mar 23, 2026

📦 Build Artifacts

Workflow Run: View Run
Branch: feat/036-telemetry-and-feedback

Available Artifacts

  • archive-darwin-amd64 (25 MB)
  • archive-darwin-arm64 (23 MB)
  • archive-linux-amd64 (14 MB)
  • archive-linux-arm64 (13 MB)
  • archive-windows-amd64 (25 MB)
  • archive-windows-arm64 (22 MB)
  • frontend-dist-pr (0 MB)
  • installer-dmg-darwin-amd64 (28 MB)
  • installer-dmg-darwin-arm64 (25 MB)

How to Download

Option 1: GitHub Web UI (easiest)

  1. Go to the workflow run page linked above
  2. Scroll to the bottom "Artifacts" section
  3. Click on the artifact you want to download

Option 2: GitHub CLI

gh run download 23449237372 --repo smart-mcp-proxy/mcpproxy-go

Note: Artifacts expire in 14 days.

claude added 7 commits March 23, 2026 18:49
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Detail telemetry enable/disable CLI behavior and output
- Add documentation deliverables: CLAUDE.md, docs/features/telemetry.md,
  configuration.md, swagger.yaml
- Clarify CLI feedback uses local API via socket

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…eedback feature

Add frontend components for Spec 036 (telemetry and feedback):
- Feedback.vue: form with category, message, email fields posting to /api/v1/feedback
- TelemetryBanner.vue: dismissible info banner on Dashboard (localStorage-persisted)
- Route /feedback added to router
- Feedback link added to SidebarNav and NavBar menus
- submitFeedback method added to API service

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… (036)

Backend implementation for anonymous usage telemetry and feedback:

- TelemetryConfig in config with IsTelemetryEnabled(), env var override
- Telemetry service: daily heartbeat, 5min startup delay, fire-and-forget
- Feedback: validation, rate limiting (5/hr), proxy to Cloudflare Worker
- HTTP API: POST /api/v1/feedback endpoint
- CLI: mcpproxy telemetry status/enable/disable, mcpproxy feedback
- Runtime wiring: RuntimeStats interface, background goroutine launch
- Tests: 19 new tests covering all paths

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Create docs/features/telemetry.md with full privacy policy,
  data collected/excluded, and three ways to disable
- Add telemetry/feedback CLI commands to CLAUDE.md
- Add MCPPROXY_TELEMETRY env var to CLAUDE.md
- Add POST /api/v1/feedback to API endpoints table

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Pass context through to http.NewRequestWithContext so in-flight
heartbeat requests are cancelled immediately on app shutdown instead
of blocking up to 10s on the client timeout.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Dumbris Dumbris force-pushed the feat/036-telemetry-and-feedback branch from ba9dd48 to f44b3f4 Compare March 23, 2026 16:50
@Dumbris Dumbris merged commit 14c1cc9 into main Mar 23, 2026
24 checks passed
@Dumbris Dumbris deleted the feat/036-telemetry-and-feedback branch March 23, 2026 16:57
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.

2 participants