Jam
Jam helps teams capture, inspect, organize, and collaborate on browser bug reports and recordings through its hosted MCP API.
Verdict
Common use cases
- Triage video bug reports during standup
- Extract console errors from user sessions
- Review failed network requests in production
- Pull custom metadata for support tickets
- Analyze user feedback from session recordings
Integration
- Vendor
- Jam
- Category
- other
- Auth
- API_KEY
- Tools
- 16
- Composio slug
jam
Tools
- Analyze Jam Video
Extract structured user goals, reported issues, feedback, visual observations, interactions, and technical indicators from a video Jam.
- Get Console Logs
Get captured browser console errors, warnings, information, debug output, and stack traces from a Jam.
- Get Jam Details
Get the core details and debugging context for a Jam. Call this first before requesting logs, events, screenshots, frames, or transcripts.
- Get Jam Metadata
Get custom application debugging context attached through the jam.metadata() SDK, such as user IDs, versions, and feature flags.
- Get Jam Screenshots
Get screenshots and image attachments from a screenshot-type Jam for visual inspection.
- Get Jam Video Frames
Get still frames from a video Jam as an overview grid, exact timestamps, or an evenly sampled time window. Exactly one of those three modes is required: set overview=true, timestamps_ms, or from_ms with to_ms and count.
- Get Jam Video Transcript
Get the timestamped WebVTT speech transcript from a microphone-enabled video Jam when available; otherwise return Jam's explanation that it is pending or unavailable.
- Get Network Requests
Get captured HTTP requests and WebSocket frames from a Jam, with filters for failures, hosts, methods, content types, and response bodies.
- Get Recording Link
Get one Recording Link's settings and submitted-Jam count by public ID.
- Get User Events
Get the chronological user interaction timeline from a Jam, including clicks, inputs, submissions, navigation, and scrolling.
- List Jam Folders
Browse or search one page of workspace folders and return their IDs, names, Jam counts, and timestamps; pass next_cursor as cursor to continue.
- List Jam Members
Browse or search one page of workspace members by name or email for author discovery and attribution; pass next_cursor as cursor to continue.
- List Jams
Search and browse workspace Jams by text, type, folder, author, source URL, or creation date. Returns one page; pass next_cursor as cursor to continue.
- List Recording Domains
List the workspace's connected recording domains and whether each is verified to capture console and network logs.
- List Recording Link Jams
List Jams submitted through one Recording Link, newest first. Returns one page; pass next_cursor as cursor to continue when has_more is true.
- List Recording Links
List workspace Recording Links newest first, optionally including revoked links. Returns one page; when has_more is true, pass next_cursor as cursor to continue.
Setup
Setup guide
- 11. Open your Switchy workspace and navigate to Settings > Integrations > MCP Servers. 2. Click 'Add MCP Server' and select Jam from the list. 3. Generate an API key in your Jam dashboard under Settings > API Keys — copy it immediately since Jam won't show it again. 4. Paste the API key into Switchy's configuration field and click 'Connect'. 5. Switchy will validate the key and confirm the connection. 6. Open any Project and type '@Jam get jam details' followed by a Jam URL to test — the MCP should return the core debugging context for that report. 7. If your app uses Jam's SDK to attach custom metadata (user IDs, versions, flags), those fields will appear when you call 'get jam metadata' on a Jam.
What teammates see: by default, memories from Jam are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Projects have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Analyze Video Feedback
@Jam analyze the video at [paste Jam URL] and summarize the user's goal, the issue they reported, and any visual problems you observe in the recording.
Inspect Console Errors
@Jam get console logs from [paste Jam URL] and list any errors or warnings with their stack traces so I can debug the root cause.
Review Network Failures
@Jam get network requests from [paste Jam URL] and show me any failed HTTP calls or timeouts, including the request method and response status.
Extract Custom Metadata
@Jam get metadata from [paste Jam URL] and tell me the user ID, app version, and any feature flags that were active during this session.
Pull Video Transcript
@Jam get the video transcript from [paste Jam URL] and show me what the user said at each timestamp so I can match their narration to the recording.
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@jam analyze the video in jam-abc123 and summarize what the user was trying to accomplish and what went wrong
Based on the video analysis: The user attempted to complete a checkout flow but encountered a payment processing failure. Key observations: (1) User navigated to cart → checkout → payment form over 47 seconds. (2) After entering card details, clicked 'Complete Purchase' three times with no visual feedback. (3) Console shows a 402 error from /api/payments/process at timestamp 00:43. (4) User verbally expressed frustration: 'it's not working again.' The interaction pattern suggests a timeout or validation issue rather than user error.
This example showcases Jam's video analysis capability, which extracts structured insights from screen recordings with user interactions and audio. Requires the Jam to be a video type (not just a screenshot). The AI synthesizes technical signals (console errors, network timing) with behavioral observations (clicks, hesitation, verbal feedback) to diagnose issues faster than manual review.
@jam get console logs and network requests from jam-xyz789 where the status code is 500 or higher
Console logs (4 entries): Two CORS warnings from cdn.example.com at 14:32:18, one React hydration error at 14:32:22, and an unhandled promise rejection at 14:32:31 referencing 'fetchUserProfile'. Network requests (2 failures): GET /api/user/profile returned 503 at 14:32:30 (response time: 8.2s, body: '{"error":"service unavailable"}'), and POST /api/analytics/track returned 504 at 14:32:45 (timeout after 30s). Both requests originated from app.example.com and include full request/response headers in the Jam.
This read-heavy example demonstrates Jam's debugging data retrieval with filtering. The MCP surfaces browser-captured diagnostics that would otherwise require manual DevTools inspection. Note that network request bodies are only available if the user's Jam captured them (privacy settings may limit this). Always call 'Get Jam Details' first to confirm the Jam type and available data before requesting logs or network traces.
@jam get video frames from jam-def456 at the exact moments when console errors occurred, then explain what the user saw on screen
Retrieved 3 frames corresponding to console error timestamps: Frame 1 (00:18): User on login page, email field populated, password field empty—console shows 'Uncaught TypeError: Cannot read property split of undefined' from auth.js:47. Frame 2 (00:52): User on dashboard with loading spinner visible—console shows '401 Unauthorized' from /api/dashboard/widgets. Frame 3 (01:23): User on settings page, modal dialog open—console shows 'ResizeObserver loop limit exceeded'. Visual context: The 401 error coincides with the spinner never resolving, suggesting a session expiration. The other errors appear non-blocking but may contribute to perceived sluggishness.
This synthesis example pairs Jam's frame extraction with AI reasoning to correlate visual UI state with technical errors. Useful for understanding user-facing impact of backend failures. Requires the Jam to be video type and have console logs captured. The 'timestamps_ms' parameter must match actual error times—call 'Get Console Logs' first to identify those timestamps, then request frames.
Use-case deep-dives
When Jam MCP replaces the 'can you send a screenshot' loop
A 6-person support team at a B2B SaaS company spends half their triage time asking customers for more context—screenshots, console logs, steps to reproduce. The Jam MCP is built for this exact workflow. When a customer submits a Jam (a video bug report with automatic context capture), the team's AI assistant can call Get Jam Details to pull the full debugging payload, then Get Console Logs and Get Network Requests to diagnose the issue without a back-and-forth. The MCP shines when your support volume is under 200 tickets/week and most bugs are frontend or API-related; above that threshold, you'll want Jam's native integrations with Linear or Jira instead of routing everything through the AI layer. If your team already uses Jam for bug reporting, this MCP turns your shared workspace into a first-pass diagnostic tool that cuts average resolution time by a day.
When this MCP wins for qualitative user research at scale
A 3-person product team at a Series A startup collects 40-60 video Jams per sprint from beta users—feature requests, confusion points, workflow friction. The Analyze Jam Video tool extracts structured summaries (user goals, reported issues, visual observations) from each video without manual transcription. The team's AI assistant can batch-process a week's worth of Jams in one prompt, then surface patterns across the corpus. This works when your feedback is already in Jam format and you need thematic synthesis, not pixel-perfect replay. If you're doing usability testing with controlled tasks, traditional session recording tools (FullStory, Hotjar) give you better heatmaps and funnel analytics. But if your users are already sending Jams and you're drowning in video, this MCP turns your shared workspace into a lightweight research assistant that ships themes to your roadmap doc in under an hour.
When Jam MCP accelerates root-cause analysis for frontend incidents
A 10-person engineering team at a fintech company runs a weekly incident review. When a production bug surfaces, the on-call engineer captures a Jam with full browser context—console errors, network waterfall, session replay. The Jam MCP lets the team's AI assistant pull Get Console Logs and Get Network Requests during the postmortem, cross-reference stack traces with recent deploys, and draft a timeline without switching tools. This is the right call when your incidents are client-side (JavaScript errors, failed API calls, rendering bugs) and your team already uses Jam for internal bug reporting. If your incidents are mostly backend (database locks, queue backlog, infra failures), you need observability tooling (Datadog, Sentry) instead. The MCP's 16 tools cover the full Jam surface area, so if you're already paying for Jam and your postmortems involve replaying user sessions, this integration turns your shared workspace into a collaborative debugger that cuts write-up time from 2 hours to 20 minutes.
Frequently asked
What does the Jam MCP do in Switchy?
It pulls bug reports and screen recordings from Jam into your AI workspace. You can ask Claude to analyze video Jams, extract console errors, review network requests, or summarize user feedback without leaving Switchy. Useful when you want AI to triage support tickets or debug issues faster than manually clicking through Jam's web UI.
Do I need a Jam admin account to connect this MCP?
You need an API key from Jam, which typically requires workspace admin or owner permissions to generate. Check your Jam workspace settings under Integrations or API. If you're not an admin, ask whoever manages your Jam account to create a key and share it with you securely.
Can the Jam MCP create new bug reports or reply to users?
No. It only reads existing Jams—video frames, console logs, network requests, metadata, and transcripts. You can't post comments, update status, or create new reports through this MCP. Use Jam's web app or native API if you need write access. This integration is purely for AI-assisted analysis of captured bugs.
Why use this instead of just opening Jam in a browser tab?
You get AI summarization and pattern detection across multiple bug reports at once. Instead of manually reviewing ten video Jams to find common errors, you ask Claude to compare console logs or extract user goals from all of them. Faster triage, especially when your support queue is long and repetitive.
Who on the team should connect the Jam MCP to Switchy?
Whoever triages bugs or reviews customer feedback—usually a support lead, product manager, or engineering lead. They'll need access to your Jam workspace and permission to generate API keys. Once connected, anyone in your Switchy workspace can query Jams through Claude, but the API key owner controls which Jams are visible.