MewCP LogoAStheTech
MCPs
Use Cases

Use cases by category

Productivity & InboxInbox, calendar, and daily flowEngineering & DevOpsShip, debug, and run on-callSales & CRMPipeline, outreach, and dealsMarketing & GrowthCampaigns, SEO, and growthSupport & SuccessTriage tickets, keep customers happyFinance & OpsClose, reconcile, and expensesCreative & ContentGenerate assets and contentPeople & HiringHiring, onboarding, and HRResearch & DataSynthesize data and insights
See all use cases
Resources
BlogsProduct updates and storiesArticlesIntegration guides and code examples
PricingDocsSign in
MewCP Logo

Infrastructure You Can Trust for Agentic Products

X

Categories

  • Productivity & Docs
  • Developer Tools
  • CRM & Sales
  • Finance & Commerce
  • Data & Analytics
  • Marketing & SEO
  • Search & Web
  • Communication
  • View All Servers →

Resources

  • Blog
  • Docs
  • Privacy Policy
  • Terms of Service

Blogs

  • View All Blogs →

Articles

  • View All Articles →
Browse Servers|Pricing|Contact

Browse by Category

Productivity & Docs

  • Gmail
  • Google Drive
  • YouTube
  • Google Calendar
  • Google People
  • Google Classroom
  • Notion
  • ClickUp
  • Figma
  • Google Tasks
  • Cal
  • Monday
  • Luma
  • Notion MCP
  • Mem MCP
  • Linear MCP
  • Calendly MCP
  • Consensus MCP
  • Craft MCP
  • Close MCP
+ 37 more
  • Dice MCP
  • Lumin PDF MCP
  • Develop21 MCP
  • Granola MCP
  • Lucid MCP
  • Mermaid Chart MCP
  • Fireflies MCP
  • ClickUp MCP
  • Miro MCP
  • Llamaindex MCP
  • Otter MCP
  • Mobbin MCP
  • Descript MCP
  • ToDoist MCP
  • SlidesGPT MCP
  • AgileHero MCP
  • JobYap MCP
  • AccountHub MCP
  • Slicktrip MCP
  • Gemina MCP
  • QrVerloz
  • Tempreon MCP
  • HyperFrames MCP
  • Menti MCP
  • Tally MCP
  • Taplio MCP
  • TickTick MCP
  • Motion MCP
  • StockCake MCP
  • Dashly MCP
  • DoingWork MCP
  • 1Stay Hotel Booking
  • 42min MCP
  • MyLeadTech MCP
  • LetsFG MCP
  • Autosheet MCP
  • Extend MCP

Developer Tools

  • Gemini
  • Veo
  • ClickUp
  • Firecrawl
  • Vercel
  • Apify
  • Github
  • Chef
  • Scientific Calculator
  • Figma
  • HTTP
  • Perplexity
  • Apify MCP
  • Hugging Face Hub MCP
  • Buildkite MCP
  • Cloudflare MCP
  • Context7 MCP
  • Ahrefs MCP
  • Sentry MCP
  • Brevo Docs MCP
+ 71 more
  • X Docs MCP
  • Jev
  • Linear MCP
  • Calendly MCP
  • Craft MCP
  • DeepWiki MCP
  • Inspo MCP
  • Kernel MCP
  • Malwarebytes MCP
  • Mermaid Chart MCP
  • Supabase MCP
  • Microsoft Learn MCP
  • Webflow MCP
  • Scalar Docs MCP
  • Oneuptime MCP
  • Redocly MCP
  • Reducto Docs MCP
  • Llamaindex Docs MCP
  • B12 MCP
  • Lucid Docs MCP
  • Airwallex Docs MCP
  • Langfuse Docs MCP
  • Glen Docs MCP
  • AgentMail
  • Gogs Docs MCP
  • Netlify MCP
  • Neon MCP
  • Minlify Admin MCP
  • Mintlify Index MCP
  • Fern Docs MCP
  • Greptile MCP
  • Statssif Docs MCP
  • Scorecard MCP
  • Railway MCP
  • Inkbox AI
  • Stele MCP
  • LastPing MCP
  • ConsentStack
  • Iubenda MCP
  • BSV.CX MCP
  • Agent Traffic Lab MCP
  • Nippy MCP
  • Just Domain MCP
  • Grafana Cloud MCP
  • HotAPI Docs
  • Endoflife.ai MCP
  • ElevenLabs MCP
  • Laso Docs MCP
  • OpenRouter MCP
  • Replit MCP
  • Tripadvisor Docs MCP
  • GitLab MCP
  • Mailchimp Docs MCP
  • Clerk MCP
  • HotAPI
  • TinyFish
  • Porter MCP
  • AnyAPI MCP
  • Bitly MCP
  • Upstash MCP
  • Bird MCP
  • Anything MCP
  • Hostinger MCP
  • Porkbun MCP
  • Macaly Cloud MCP
  • JupiterOne MCP
  • Jam MCP
  • Extend MCP
  • Floot MCP
  • Expo MCP
  • Dot MCP

CRM & Sales

  • Google People
  • OneSignal MCP
  • Brevo Docs MCP
  • Brevo
  • Brevo MCP
  • Carbon Voice MCP
  • Clay MCP
  • Close MCP
  • Attio MCP
  • Clarify MCP
  • Hunter.io
  • Plain MCP
  • Modem MCP
  • Whats MCP
  • HubSpot MCP
  • Getleads.io MCP
  • ContactOut MCP
  • Crunchbase MCP
  • Ploid MCP

Finance & Commerce

  • Kite
  • Razorpay
  • Polymarket
  • Stripe
  • Binance
  • Upstox
  • Aiwyn MCP
  • Era-Context-MCP
  • Granted MCP
  • XDC AI MCP
  • Agentery MCP
  • Agent Embassy
  • Quick Commerce MCP
  • Longbridge MCP
  • Mercury MCP
  • Blockscout MCP
  • Octagon AI MCP
  • Stripe MCP
  • Taskrabbit MCP
  • SeatGeek MCP
+ 27 more
  • Clarity AI MCP
  • Beyond Payday MCP
  • DeFade MCP
  • MobileMRR MCP
  • SecondAppraisal MCP
  • Brek MCP
  • Coinversa Pulse MCp
  • Supermetrics Marketing Analytics MCP
  • DeepLedger MCP
  • Laso MCP
  • Laso Docs MCP
  • Razorpay MCP
  • Kiwi MCP
  • lastminute mcp
  • Coinfuty MCP
  • Pyth MCP
  • Carta MCP
  • Belvo MCP
  • OnChainDiligence MCP
  • LetsFG MCP
  • Keel MCP
  • Community Funding NZ MCP
  • Zillow MCP
  • SuperBooks
  • Bigdata MCP
  • ALL Accor MCP
  • Cashfree MCP

Data & Analytics

  • Apify MCP
  • Cloudflare MCP
  • Ahrefs MCP
  • Candid MCP
  • Consensus MCP
  • Contentsquare MCP
  • Era-Context-MCP
  • Instinct MCP
  • legal Data Hunter MCP
  • Marcopolo MCP
  • Mixpanel MCP
  • MOSPI MCP
  • Hex MCP
  • OpenRevenue MCP
  • Statsig MCP
  • Synthesize Bio MCP
  • PostHog MCP
  • PopHIVE MCP
  • Fuse Health MCP
  • Cliometry MCP
+ 13 more
  • AccuWeather MCP
  • ChEMBL MCP
  • ClinicalTrials.gov MCP
  • Staats MCP
  • NPI Registry MCP
  • AOI MCP
  • MAIA MCP
  • Amass MCP
  • Akta.pro MCP
  • OldCarsData MCP
  • Airfield Directory MCP
  • Sparxx.io MCP
  • Open Targets MCP

Marketing & SEO

  • YouTube
  • Google Business
  • Mailchimp
  • Google Search Console
  • OneSignal MCP
  • Cloudflare MCP
  • Brevo Docs MCP
  • Brevo
  • Brevo MCP
  • AirOps MCP
  • Clay MCP
  • Contentsquare MCP
  • Reelsmith MCP
  • GoDaddy MCP
  • Metricool MCP
  • Webflow MCP
  • Windsor MCP
  • Commonroom MCP
  • B12 MCP
  • Hunter.io
+ 27 more
  • Get MCP Ads
  • Minlify Admin MCP
  • Zernio MCP
  • Affiliatespy MCP
  • VarynForge
  • ListingGood MCP
  • North Noir MCP
  • Supermetrics Marketing Analytics MCP
  • NitroSend MCP
  • Spicy API MCP
  • Cromanion MCP
  • Manifold MCP
  • Cloro MCP
  • Agency AI MCP
  • Taplio MCP
  • Moda MCP
  • Semrush MCP
  • Mangools
  • Runway MCP
  • GrowSurf MCP
  • OpusClip AI Producer MCP
  • Zoho Mail
  • Beehiiv MCP
  • Bitly MCP
  • Bitrise MCP
  • Meta Ads MCP
  • Loops MCP

Search & Web

  • Web Scrapper
  • Firecrawl
  • Apify
  • Perplexity
  • Context.dev
  • Exa
  • Brave Search
  • Apify MCP
  • Ahrefs MCP
  • DeepWiki MCP
  • Dice MCP
  • GoDaddy MCP
  • Granted MCP
  • Microsoft Learn MCP
  • Viator MCp
  • Scholargateway MCP
  • Parallel MCP
  • Mintlify Index MCP
  • OpenWeather MCP
  • Simplescraper MCP
+ 29 more
  • SearchApi MCP
  • PubMed MCP
  • YouTube Transcript AI MCP
  • AccuWeather MCP
  • bioRxiv MCP
  • HEY Research Lab MCP
  • CourtListener MCP
  • Elicit MCP
  • StockCake MCP
  • TradesWithAI MCP
  • GSCmate MCP
  • Superfast Robotics MCP
  • Loppee MCP
  • Energy North Journal UK MCP
  • SocialToAI MCP
  • Agent Evidence API MCP
  • Permit Scouter
  • MyStreetData USA
  • Shop Nobi MCP
  • EverythingMeetsAI MCP
  • Mubboo Flights Search MCP
  • Ticketglide MCP
  • Premium Cruise Fares MCP
  • Tripadvisor MCP
  • LiteScrape MCP
  • Octen MCP
  • Keenable MCP
  • MrScraper MCP
  • IndieTools MCP

Communication

  • Gmail
  • Google Meet
  • Google Calendar
  • Mailchimp
  • WhatsApp
  • Slack
  • OneSignal MCP
  • Brevo Docs MCP
  • Carbon Voice MCP
  • Hunter.io
  • Outlook
  • Nylas MCP
  • Resend MCP
  • Read AI MCP
  • Whats MCP
  • Inkbox AI
  • QrVerloz
  • ElevenLabs MCP
  • Fathom MCP
  • MyBestSim MCP
+ 8 more
  • Redra MCP
  • 1Stay Hotel Booking
  • ActivitySmith MCP
  • Runway MCP
  • Sonos MCP
  • MyChatbot
  • Saperly MCP
  • Bird MCP

© 2026 MewCP. All rights reserved.

  1. Home
  2. MCPs
  3. Jam MCP
Jam MCP

Jam MCP Integration for AI Agents

Jam captures and organizes bug reports with browser recordings, console logs, network requests, and environment details. AI agents can retrieve debugging context, investigate reproduction steps, and connect issues to development workflows to help teams diagnose and resolve software bugs faster.

v1.32.039 toolsOAuth
Open in ChatGPTChatGPT
Open in ClaudeClaude
Playground
VS CodeVS Code
Connected to Jam MCP via MewCP.

Encrypted at rest, isolated from the model

Resolved from an AES-256-GCM vault at the moment of the call and attached to the request — the model never sees the secrets.

Try asking

Everything Jam MCP can do

Tools39

getDetails

read

Retrieve comprehensive metadata and details for a specific Jam bug report. Returns essential information including: unique identifiers, author details, description, timestamps (created/updated), type (video/screenshot), comments, and associated metadata. A reply's parentId is the comment it answers; it is null on a top-level comment. On a video Jam, a comment pinned to a playback time carries a thumbnailUrl: a public 360p JPEG link of that moment, to share with a person. This is the primary entry point for analyzing any Jam - always call this tool first to understand the context before using other tools. Once you find the cause or fix it, post one createComment that says so and mentions the creator as `@[Name](user:<author.id>)`, unless the creator is the user you act for. `links` lists the Jam's resources (pull requests, tickets, docs) and related Jams; when you fix or prove something, add the pull request with addResource and mark a proof or fix Jam as related to the bug Jam with markRelated.

getNetworkRequests

read

Extract network activity logs captured during the Jam session. Returns HTTP/HTTPS requests and WebSocket frames including: URLs, methods (GET/POST/etc), status codes, headers, payloads, response times, and error details. The response is a JSON envelope. Filters apply server-side — each is an array, values OR within a filter, filters AND across: statusCode (e.g. ['4xx','5xx'] for all failures), contentType, host, method (e.g. ['POST','PUT'] for mutations), plus limit and after (page cursor). The envelope reports `total` matching events (if you get fewer, narrow the filter or page with `after`), and by default carries response bodies only for FAILED requests: pass bodies:'all' when you need the payload of a request that succeeded but returned the wrong data (bodies truncated to 4KB, flagged per row). Pass headers:true for request and response headers, auth and cookie headers included (secret values are redacted by the Jam extension at capture; a Jam from another source may hold raw values); `network_headers_unknown: true` then marks a request whose headers were not captured (an older index, or a request seen only through browser timing), where no header map means not captured. Each request also carries, when captured: `network_started_at` (wall-clock start, to match backend logs), `network_complete: false` (the request never finished), `network_fetch_error` (the browser's own error, e.g. net::ERR_FAILED), `network_fetch_cached`, and the browser-reported body sizes. Essential for debugging API issues, failed requests, CORS problems, and performance bottlenecks.

getConsoleLogs

read

Retrieve browser console output captured during the Jam session. Includes JavaScript errors, warnings, info messages, debug logs, and stack traces. The response is a JSON envelope. logLevel (an array — e.g. ['error','warn'] for problems) and limit apply server-side, and the envelope reports `total` matching logs — if you get fewer than `total`, narrow the filter or page with `after`. Critical for identifying runtime errors, debugging application state issues, and understanding the sequence of events leading to bugs.

getUserEvents

read

Access the complete timeline of user interactions captured in the Jam. Returns chronological sequence of: clicks, keyboard inputs, form submissions, navigation events, scroll actions, and other DOM interactions. Clicks carry `interactivity_x`/`interactivity_y` (viewport position) and `interactivity_is_trusted` (false = fired by a script, not the user). The full timeline is returned by default and is small enough to read whole — pass limit only to cap the output, and page with `after` if a capped response reports a `nextCursor`. Invaluable for reproducing bugs and understanding user behavior patterns that triggered issues.

getMetadata

read

Retrieve custom metadata set via the jam.metadata() SDK. Returns key-value pairs defined by the application developer, such as user IDs, app versions, feature flags, or any custom debugging context.

getScreenshots

read

Retrieve visual screenshots and image attachments from screenshot-type Jams. Returns image data that can be analyzed for UI issues, visual bugs, layout problems, or design inconsistencies. Note: This tool only works with Jams of type 'screenshot' - use getDetails first to verify Jam type.

getFrames

read

Extract still frames (thumbnails) from a video Jam recording as images, so you can see what was on screen. Use exactly one mode. Leave the other modes' fields unset or null. Set `overview: true` to get one overview grid: N frames evenly spaced across the whole video (N scales with duration), stitched into a single image with each cell labeled by timestamp — the fastest way to orient on a visual Jam. Or specify `at` (a list of timestamps in milliseconds) or a window with `count` and optional `fromMs` and `toMs` bounds; count alone samples the whole video evenly, including the first and last frames. Each frame is returned as an image preceded by a `t=<ms>` text anchor. Use `size` to trade detail for context budget (small=360p, medium=720p, large=1080p; not applied to the overview grid). Only works for video Jams whose recording is available on Cloudflare Stream; ineligible Jams return a single text block explaining why. Frames per call are capped at 30.

analyzeVideo

read

Deprecated: video intent analysis has been retired. Use getFrames with overview: true to inspect the recording and getDetails for Jam context. This tool returns only migration guidance.

getVideoTranscript

read

Retrieve the speech transcript (captions) from a video Jam recording in WebVTT format with timestamps. Only available for video Jams where the microphone was enabled during recording. Use this to understand what the user said while recording the bug report.

getVideoChapters

read

Retrieve AI-generated chapters for a video Jam recording: titled segments with start/end timestamps outlining the recording's timeline. Returns { status, chapters, language }; chapters is null unless status is "ready". Each chapter is { startMs, endMs, title, thumbnailUrl? }. thumbnailUrl is a public link to a 360p JPEG from the middle of the chapter, present once the video has processed, to put in a ticket, pull request or message so a person sees the moment. To look at a chapter yourself, call getFrames with `at` set to a timestamp inside the chapter's span; the midpoint reads best, because chapter starts are usually transition frames. Status "not_requested" means chapter generation was never queued for this jam; "skipped" means the video was too short to segment.

fetch

read

Fetch a Jam as a citable document. Returns id, title, url, and text, with report details serialized as JSON in text. Use after search resolves a video Jam by UUID or URL in the connected workspace, or fetch a known Jam id directly. Use getDetails as the entry point for interactive investigation.

search

read

Find a video Jam in the connected team by extracting its UUID from a query string, jam.dev URL, or pasted text. Returns at most one result. Does not search titles or return screenshot or replay Jams; use searchJams for text search and other Jam types.

searchJams

read

Search the connected team's Jams. `text` matches every term against a Jam's title, description, comments, linked issue titles, the reporter's email or external id, and its transcript; a term made of only one or two letters or digits is matched against comments only through the whole text: a comment that contains the text as typed matches when another term has three or more letters or digits, or punctuation next to them (such as `cool` or `#12`). Terms like `#12` or `v1.2` also match comments on their own. `textIn` limits which of those places a term may match in. `where` is a list of { field, op, value } filter leaves, all ANDed; the `where` description lists every field, its operators and what it means. `window` bounds created_at, `sort` orders the page, and `page` carries the limit and the opaque cursor the previous page returned. The team is the one the token was issued for and no argument can name another. Each returned Jam carries a url, the share link to hand back to the user unchanged.

listJams

read

Deprecated: use searchJams instead. Lists Jam bug reports with the legacy filters and pagination: search by text, filter by type (video/screenshot/replay), origin (capture surface), folder, author, URL, or creation date. Returns Jam metadata including title, origin, author, folder, and timestamps. Each returned Jam carries a url, the share link to hand back to the user unchanged: it carries search attribution.

listFolders

read

List folders in the team with optional search and pagination. Returns folder metadata including name, short ID, Jam count, and timestamps. Use this to discover available folders for organizing Jams.

submitFeedback

write

Save feedback about a Jam surface in Jam's database for Jam's agents to read. Returns the stored feedback ID. Use it when a Jam MCP tool, CLI command, doc page, or skill was wrong, stale, confusing, or missing something — and when one worked unusually well. Only for Jam's own surfaces: not for another MCP server's tools, the user's own skills or scripts, or the user's product, because Jam cannot fix those. Call it yourself; do not ask the user for approval, because no person reads it. Send at most one per session, and never for a slip you corrected yourself. Keep the body within 2000 words and 100,000 characters, and specific enough to act on: what you were doing, what you expected, what happened, and the mistake. Larger bodies are rejected without saving or truncating them. Never include secrets, customer data, source code, or stack traces — describe code rather than pasting it.

createFolder

destructive

Create a folder in the team to organize Jams into. Returns the folder's id and shortId, so a follow-up updateJam call can file a Jam into it right away. Folder names are not unique — call listFolders first if you mean to reuse an existing folder rather than add another one with the same name. If your membership permits self-upgrade, this can promote you from Viewer to Creator, affect seat billing, and email team admins.

updateFolder

destructive

Rename a folder. Identify the folder by name, folder ID, or folder short ID. Renaming does not move any Jams — use updateJam for that. An unknown folder, or one belonging to another team, reads as not-found.

listMembers

read

List team members with optional search and pagination. Returns user metadata including name, email, and role. Use this to find users for filtering Jams by author.

createComment

destructive

Add a new comment to a Jam bug report. The comment body supports Markdown formatting. Use this to add notes, analysis results, or follow-up information to a Jam. This can notify other users by email, and the comment is visible to people who can access the Jam, including public viewers when sharing permits it.

editComment

destructive

Rewrite a comment you previously left on a Jam, so an agent can correct or extend its own note instead of stacking a follow-up comment. Takes the comment ID returned by createComment. The new body replaces the old one entirely and is Markdown. You can only edit comments you authored. Changes are visible to people who can access the Jam, including public viewers when sharing permits it.

addReaction

destructive

React to a comment on a Jam — useful for acknowledging a comment you've already acted on. Works on anyone's comment, not just your own. Adding a reaction you already left is a no-op. Supported emoji: 🐛 (Buggy), 💜 (Love it), ✅ (Fixed), 👀 (Oooo), ❓ (Unclear), 👏 (Bravo), 🔥 (Fire), 👍 (Got it). This can notify the comment author by email and is visible wherever the comment is shared.

removeReaction

destructive

Take back a reaction you left on a comment. Only removes your own reaction; other people's reactions with the same emoji are untouched. Removing a reaction you never left is a no-op. Supported emoji: 🐛 (Buggy), 💜 (Love it), ✅ (Fixed), 👀 (Oooo), ❓ (Unclear), 👏 (Bravo), 🔥 (Fire), 👍 (Got it). Changes are visible to people who can access the Jam, including public viewers when sharing permits it.

updateJam

destructive

Update a Jam bug report: rename it, rewrite its description, or move it between folders. Every field is optional — only the ones you pass are changed. Use folder name, folder ID, folder short ID, or "root" to move to the root level. Editing the title or description requires an Admin or Creator role.

addResource

write

Attach a URL to a Jam, such as the pull request a proof Jam demonstrates, the CI run it came from, or another Jam. Pass a label when the page title would not say what the link is; otherwise teams with links on the share page see the host and path. Adding the same URL again changes nothing. Returns the resource. When you record proof of your work, add the pull request or ticket it proves as a resource. The URL shows on the Jam's share page, which can be public: do not pass a URL that carries a token, and a URL with a username or password is refused. Needs the permission that edits a Jam's title.

removeResource

destructive

Remove a URL from a Jam's resources. Pass the URL exactly as it was added.

markRelated

write

Mark a Jam as related to another Jam of the same team, with a type read from the first Jam: it `fixes` the target, `proves` it, or `relates_to` it (the default). Teams with links on the share page show it on both Jams; the target shows the inverse ("fixed by", "proven by"). Marking again with the same type changes nothing. Returns the relation. When you record a Jam that proves a fix, mark it as `fixes` or `proves` of the bug Jam. Use it to connect a set of Jams of one flow, such as one Jam per UI state. Needs the permission that edits a Jam's title.

markUnrelated

destructive

Remove every relation from a Jam to another Jam, whatever its type. The target Jam's backlink goes too.

deleteJam

destructive

Delete a Jam. It leaves the team's lists and search results, and nobody on the team can bring it back — the dashboard has no trash or archive view to restore it from. Destructive and not recoverable: confirm with the user before calling, and never tell them the Jam can be restored afterwards.

deleteComment

destructive

Delete a comment from a Jam, along with its attachments. Only the comment's own author can delete it, so in practice this removes a comment you posted through createComment. Destructive and not recoverable: confirm with the user before calling. Comment IDs come from createComment's result or from getDetails.

deleteFolder

destructive

Delete a folder and every Jam inside it. The Jams leave the team's lists and search and nobody on the team can bring them back — the dashboard has no trash or archive view to restore them from. Returns how many Jams went with the folder, as `archivedJamCount`. Destructive and not recoverable: confirm with the user before calling, never tell them the Jams can be restored afterwards, and use listFolders first so they can see what the folder holds. Takes a folder ID or short ID from listFolders, never a folder name — a name could match the wrong folder.

createRecordingLink

destructive

Create a reusable recording link that lets anyone with the URL record and submit a new Jam. Optionally target a folder and set an expiration date. IMPORTANT — logs require a connected domain: a link only captures console and network logs when it starts recording from one of the team's connected domains (a recording URL). A link created with no recordingUrlId produces a generic recorder link that captures NO logs. Before creating, call listRecordingUrls and ask the user which connected domain to record from — don't guess. If the team has no connected domains, warn the user the link won't capture logs and point them to the dashboard to connect one (https://jam.dev/docs/custom-recording-domain) before creating a logs-less link. If your membership permits self-upgrade, this can promote you from Viewer to Creator, affect seat billing, and email team admins. It also emits a recording-link-created webhook event for configured subscribers.

listRecordingUrls

read

List the team's connected domains (recording URLs) — the domains a recording link can start from so recorded Jams capture console and network logs. Returns each domain's id, url, and verified state. Use this before createRecordingLink to pick the recordingUrlId to record from, and to tell whether the team has any connected domains at all. Only a verified domain captures logs; an unverified one must be verified from the dashboard first (https://jam.dev/docs/custom-recording-domain). An empty list means the team has no connected domains, so any link created now captures no logs.

getRecordingUrlVerifyLink

read

Start verifying a connected domain (recording URL) so recorded Jams from it capture console and network logs. Returns a verifyUrl a HUMAN must open in a browser where the Jam extension or snippet is live on that domain — the recorder there confirms Jam is present and marks the domain verified. This tool does NOT verify the domain itself; it only hands back the link. After the user opens it, poll listRecordingUrls until the domain shows verified: true (the link expires in 5 minutes). Use this instead of sending the user to the dashboard to connect a domain.

getRecordingLink

read

Get a single recording link by its publicId. Returns the link's name, type, target folder, expiration, and the number of Jams recorded through it (jamsCreated). Use listRecordingLinkJams to page through those Jams.

listRecordingLinkJams

read

List the Jams recorded through a recording link, addressed by the link's publicId. Returns each Jam's id, title, and createdAt (newest first), plus cursor pagination. Pass `cursor` (a jam id from a prior `endCursor`) to fetch the next page; `hasNextPage` indicates whether more remain.

listRecordingLinks

read

List the team's recording links, newest first, with cursor pagination. Returns each link's publicId, name, and type. Pass `cursor` (a publicId from a prior `endCursor`) to fetch the next page; `hasNextPage` indicates whether more remain. Revoked links are excluded unless `includeRevoked` is true.

deleteRecordingLink

destructive

Delete a recording link by its publicId, so it stops accepting new recordings. This is a soft delete: existing Jams recorded through it are untouched. Returns the publicId and the deletedAt timestamp. An unknown, already-deleted, or another team's publicId reads as not-found.

updateRecordingLink

destructive

Update a recording link by its publicId. Only the fields you pass are changed. Use it to rename the link, change the destination folder for future recordings, set the default Jam title, change the reference, set an expiration, or replace the metadata. Unknown or other-team links return not-found; revoked links cannot be edited. Existing Jams are not moved.

Connect Jam MCP to your agent

One endpoint, the same key, whichever client you use.

Apps

SDKs

Claude Desktop

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (Mac) · %APPDATA%\Claude\claude_desktop_config.json (Windows)

JSON
{
  "mcpServers": {
    "mewcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://gateway.mewcp.com/personal/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer API_KEY"
      }
    }
  }
}

Replace API_KEY with your own key.

Already have an "mcpServers" section in your config? Just add the server entry inside it.

  1. 01Open Claude Desktop → Settings → Developer → "Edit Config"
  2. 02Paste the snippet inside the outer { } of the config file (merge with your existing "mcpServers" section if you have one)
  3. 03Save the file, then quit Claude Desktop completely and reopen it
  4. 04Start a new conversation — your tool will be available

One endpoint. Every service.

VS CodeAny agent
One Gateway

Firecrawl

API Key

Github

OAuth

TinyFish

API Key

Jam MCP

OAuth

Discovery, routing, credentials, tool scoping and execution logs all happen at the gateway→connections stay ACTIVE with no work from you

Separate connections░░░░░░░░░░░░░░░░░░░░░░░░░░░░146 tool definitions ~26k tokensWith MewCP░░░░░░░░░░░░░░░░░░░░░░░░░░░░4 meta-tools ~2.5k tokens

Built for AI agents

Jam MCP runs through a gateway that holds the credentials, scopes the access and records every call.

Managed authentication

  • OAuth to Jam MCP handled end to end, with tokens refreshed before they expire.
  • One credential per end user, not one shared key across your users.
  • Reconnect an account without touching your agent's config.

Credentials stay out of context

  • Jam MCP credentials are resolved at the gateway and attached to the outbound call.

Ready to connect Jam MCP?

Managed auth, hosted MCP servers, and every Jam MCP tool your agent needs.

Free to start.

  • The agent sees tool results, never a token.
  • Revoke an account and the next call stops working — no redeploy.
  • Scoped access, fully logged

    • Choose exactly which Jam MCP tools an agent is allowed to call.
    • Every call is logged with its outcome, latency and which account it ran as.
    • Catalog changes are reviewed before they ship, so tool descriptions cannot shift under you.

    One endpoint for every server

    • Reach Jam MCP through the same MCP endpoint as the rest of your toolset.
    • Tools are discovered on demand, so 39 tools do not fill the context window.
    • Stateless: no sessions to keep alive and no reconnect logic.