Jam MCP

Hosted Jam server that feeds bug recordings, logs and network traffic to coding agents

Official · Jam Remote (hosted) · Streamable HTTP DevOps and monitoringDeveloper tools

40 popularity score ★ 11

Connect your client

Remote (hosted)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

ChatGPTSettings → Apps → Advanced → Developer mode, then Create app
https://mcp.jam.dev/mcp
Claude (desktop and web)Settings → Connectors → Add custom connector
https://mcp.jam.dev/mcp
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "jam": {
      "url": "https://mcp.jam.dev/mcp"
    }
  }
}
Claude CodeTerminal
claude mcp add --transport http jam https://mcp.jam.dev/mcp
VS Codemcp.json
{
  "servers": {
    "Jam": {
      "url": "https://mcp.jam.dev/mcp",
      "type": "http"
    }
  }
}
windsurfmcp.json
{
  "mcp": {
    "servers": {
      "Jam": {
        "type": "http",
        "url": "https://mcp.jam.dev/mcp"
      }
    }
  }
}
opencodeopencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "jam": {
      "type": "remote",
      "url": "https://mcp.jam.dev/mcp"
    }
  }
}

What it does

Jam MCP is the hosted server Jam runs for its bug-recording product. Given a Jam link, an agent can pull the recording's context into the chat: a summary of who filed it, the console logs, the network requests with optional bodies, the user's clicks and navigation written out in plain language, custom metadata set through Jam's SDK, screenshots, the spoken transcript, chapter markers and frames grabbed from the video at chosen moments or as one overview grid.

Beyond reading single recordings, it can search a workspace's Jams by text and by filters such as page URL, source, linked issue key, browser or OS and date range, list members and folders, post and edit Markdown comments and reactions, rename and move Jams, create and delete folders, and manage recording links and connected recording domains. The docs list 30 tools in five groups.

The server runs on Jam's side at https://mcp.jam.dev/mcp and signs in with OAuth. Its sign-in metadata names api.jam.dev as the authorization server and offers two scopes, mcp:read and mcp:write, so a client may be granted reading without writing (https://mcp.jam.dev/.well-known/oauth-protected-resource). It suits debugging work where a developer wants the agent to see what the reporter saw before proposing a fix.

What it needs

A Jam account with access to a workspace, and at least one Jam recording (made with the Jam Chrome extension, the Mac or iOS app, or a recording link; anyone can record one). An MCP client that can connect to a remote HTTP server and complete an OAuth sign-in. In OpenCode, run `opencode mcp auth jam` after adding the server to finish sign-in.

Limits

getVideoTranscript, getVideoChapters, getFrames and getScreenshots do not work on Instant Replay Jams. getFrames returns images only for video Jams hosted on Cloudflare Stream; other recordings get a short text explanation. The frame overview grid holds 6 to 16 frames depending on video length and ignores the size setting; size defaults to medium. deleteJam and deleteFolder cannot be undone, and deleting a folder deletes every Jam in it. Revoked recording links cannot be edited. The docs advise one Jam link per prompt to stay within the agent's context window.

Who it suits

Developers and product teams who already record bugs or feedback in Jam and want an agent in Cursor, VS Code, Claude or another client to read a recording's logs, requests and screen before working on a fix or triaging reports. It is official and hosted, so there is nothing to install, but it needs a Jam account and is of no use without Jam recordings. Teams that want the agent to read only should grant just the mcp:read scope or watch tool approvals, since the server can also delete Jams and folders permanently.

Tools 30

getDetails
Summary of a Jam: author, what happened and which tools to call next
getConsoleLogs
Console logs from a Jam, filterable by level with a limit and page cursor
getNetworkRequests
Network requests as JSON, filterable by status, content type, host and method; error bodies by default
getUserEvents
Clicks, inputs and page changes described in plain language
getMetadata
Custom key-value metadata set through the Jam SDK
getScreenshots
All screenshots from a screenshot Jam
getVideoTranscript
Spoken transcript of a video Jam as timestamped WebVTT
getVideoChapters
Generated chapter titles with start and end times for a video Jam
getFrames
Video frames at given times, across a window, or as one overview grid
searchJams
Search Jams by text with filters for author, folder, type, date, URL, source and more
listMembers
List the team's members
listFolders
List the workspace's folders
createComment
Post a Markdown comment on a Jam, optionally mentioning a teammate
editComment
Rewrite a comment you posted earlier
deleteComment
Delete one of your comments and its attachments
addReaction
Add a reaction to a comment
removeReaction
Remove a reaction you added
updateJam
Rename a Jam, change its description or move it to another folder
deleteJam
Delete a Jam permanently
createFolder
Create a folder and return its IDs
updateFolder
Rename a folder by name, ID or short ID
deleteFolder
Delete a folder and all Jams in it, permanently
listRecordingLinks
List recording links, newest first, optionally including revoked ones
getRecordingLink
Fetch one recording link by public ID
listRecordingLinkJams
List the Jams recorded through a link
createRecordingLink
Create a reusable recording link with optional folder, domain or expiry
updateRecordingLink
Change a link's name, folder, reference, title, expiry or metadata
deleteRecordingLink
Revoke a recording link, keeping the Jams it collected
listRecordingUrls
List the team's connected recording domains
getRecordingUrlVerifyLink
Start domain verification and return the link a person opens to confirm

Similar servers