Skip to content

feat(BUY-10855): MCP tool availability monitoring — check tools/list endpoint#47

Open
BuyWhere wants to merge 6 commits intomainfrom
bolt/mcp-tool-monitoring
Open

feat(BUY-10855): MCP tool availability monitoring — check tools/list endpoint#47
BuyWhere wants to merge 6 commits intomainfrom
bolt/mcp-tool-monitoring

Conversation

@BuyWhere
Copy link
Copy Markdown
Owner

@BuyWhere BuyWhere commented May 4, 2026

Summary

Updates the MCP uptime monitoring to validate actual MCP tool availability via tools/list JSON-RPC instead of just checking a health endpoint.

Changes

File Change
scripts/check-mcp-uptime.sh POST /mcp with tools/list, validate 6 tools + names, alert on mismatches
scripts/report-mcp-uptime.sh Track tool-level metrics, missing frequency, min tool count
scripts/setup-mcp-uptime-monitoring.sh Default URL → https://api.buywhere.ai/mcp
.github/workflows/install-mcp-uptime.yml dry_run input, continue-on-error on nginx step

Verification

  • ✅ Production MCP returns 6/6 tools
  • ✅ Deployed and validated on production VM via workflow run
  • ✅ 30d uptime data already collecting (99.59%)
  • ⚠️ Dashboard nginx config blocked by pre-existing SSL cert issue — tracked as BUY-11062

Closes BUY-10855

Bolt (VP DevOps) and others added 4 commits May 3, 2026 16:17
- Remove deprecated enableTracing option (v8 uses tracesSampleRate only)
- Replace deprecated getCurrentHub/getScope with v8 module-level
  setUser/setExtra/setTag API
- Fix express type import (use type import instead of namespace access)

This unblocks the MCP Cloud Run Docker build which runs tsc during image
build. The /healthz endpoint (commit 6d3cf11) is already in source but
the Docker build fails before reaching production.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
- scrapers/amazon_us.py: 24 categories, 1,636 keywords, targets 500K+ products
- Uses Playwright with stealth for anti-bot (ScraperAPI credits exhausted)
- Session save/resume, dedup across keywords, Prime detection
- api/src/routes/products.ts: added amazon_us to VALID_PLATFORMS

Smoke-tested: python -m scrapers.amazon_us --scrape-only --pages 2

Co-Authored-By: Paperclip <noreply@paperclip.ing>
…/llms-full.txt

Co-Authored-By: Paperclip <noreply@paperclip.ing>
…er canonical

- Add src/app/sitemap.xml/route.ts — route handler serving sitemap index with 5 sub-sitemaps (pages, categories, compare, US products, SG products)
- Remove src/app/sitemap.ts — Next.js metadata version, shadowed by route handler; routes covered by sitemap-pages.xml
- Add src/app/sitemap-products-sg.xml/route.ts — SG product sitemap route (paginated)
- Add src/lib/sg-products.ts — SG product data for sitemap generation
- Update src/lib/sitemaps.ts — trailing slash normalization, safeGetBlogPosts(), SG product sitemap functions, new routes

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@BuyWhere BuyWhere force-pushed the bolt/mcp-tool-monitoring branch from 5fcdfdb to 11f5623 Compare May 4, 2026 22:39
BuyWhere and others added 2 commits May 4, 2026 22:44
Replace bare ADD CONSTRAINT with a PL/pgSQL DO block that:
- Checks if constraint already exists (idempotent)
- Counts and removes duplicate (sku, source) pairs via ROW_NUMBER()
- Creates the unique constraint
- Handles errors gracefully without aborting the migration

Co-Authored-By: Paperclip <noreply@paperclip.ing>
…idation

- check-mcp-uptime.sh: POST /mcp with tools/list JSON-RPC, validate
  expected tool count (6) + all tool names present
- report-mcp-uptime.sh: track tool-level metrics, missing frequency
- setup script: default URL → api.buywhere.ai/mcp
- workflow: non-fatal nginx step, dry_run support

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@BuyWhere BuyWhere force-pushed the bolt/mcp-tool-monitoring branch from 11f5623 to f13d4c9 Compare May 4, 2026 22:44
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