
Tap Mcp
You'd reach for this when you're running music PR campaigns and want Claude to help manage your outreach workflow. It exposes operations for tracking media contacts, drafting and managing pitch emails, organizing campaigns, and recording outcomes like coverage placements or responses. Think of it as hooking your PR database into Claude so you can query who you've pitched, generate personalized outreach based on past interactions, or analyze which campaigns are converting. The source doesn't reveal specific API endpoints, but the scope is clear: it's for publicists and labels who want conversational access to their campaign data without jumping between spreadsheets and CRMs.
- tools
- 31
- auth
- Secret needed
- transport
- STDIO
- env vars
- 2
- last updated
- Apr 5, 2026
Tools
31 toolsPublic tool metadata for what this MCP can expose to an agent.
tap_listList all available taps. ALWAYS call this first before any tap.* tool. If a matching tap exists, use tap.run — it executes with zero AI, faster and more stable than manual tap operations. NEVER bypass a tap by using manual tap.* calls to replicate what a tap already does.
List all available taps. ALWAYS call this first before any tap.* tool. If a matching tap exists, use tap.run — it executes with zero AI, faster and more stable than manual tap operations. NEVER bypass a tap by using manual tap.* calls to replicate what a tap already does.
No parameter schema in public metadata yet.
tap_runRun a pre-built tap. Preferred over tap.* tools — deterministic, zero AI at runtime. Returns {columns, rows, count, timing}. If rows is empty or error, use tap.doctor(site, name) for structured diagnosis before re-forging. On transient failure (timeout, connection), RETRY tap....4 params
Run a pre-built tap. Preferred over tap.* tools — deterministic, zero AI at runtime. Returns {columns, rows, count, timing}. If rows is empty or error, use tap.doctor(site, name) for structured diagnosis before re-forging. On transient failure (timeout, connection), RETRY tap....
argsobjectnamestringnoSandboxbooleansitestringtap_screenshotCapture the current page as an image. LAST RESORT — before using this, prefer: (1) inspect.toasts for operation feedback, (2) tap.eval to check DOM state/URL, (3) inspect.page for url+title. Only use screenshot for visual verification (layout, rendering). When you do use it, p...2 params
Capture the current page as an image. LAST RESORT — before using this, prefer: (1) inspect.toasts for operation feedback, (2) tap.eval to check DOM state/URL, (3) inspect.page for url+title. Only use screenshot for visual verification (layout, rendering). When you do use it, p...
formatstringjpeg · pngdefault: jpegqualityintegertap_logsRead tap execution history (run + forge events). Filter by site to narrow results. Use to diagnose failures: check error fields, row counts, timing. Consistently 0 rows or repeated errors → use forge.inspect to re-forge.2 params
Read tap execution history (run + forge events). Filter by site to narrow results. Use to diagnose failures: check error fields, row counts, timing. Consistently 0 rows or repeated errors → use forge.inspect to re-forge.
limitintegersitestringtap_doctorRun health checks on taps. Returns {status, score, rows, issues[], error} per tap. Use as: (1) diagnostic entry point when tap.run fails — doctor gives structured root cause, (2) post-save validation after forge.save — doctor confirms health contract passes, (3) batch health a...5 params
Run health checks on taps. Returns {status, score, rows, issues[], error} per tap. Use as: (1) diagnostic entry point when tap.run fails — doctor gives structured root cause, (2) post-save validation after forge.save — doctor confirms health contract passes, (3) batch health a...
autobooleanformatstringjson · junit · tapdefault: jsonnamestringsitestringtimeoutintegertap_watchRun a tap once and diff against previous rows. Returns {rows, events[], hasChanges}. Events: added/removed/changed with row data. Stateless — first call: omit previousRows to get baseline. Subsequent calls: pass previous rows to detect changes. Use for monitoring (price change...5 params
Run a tap once and diff against previous rows. Returns {rows, events[], hasChanges}. Events: added/removed/changed with row data. Stateless — first call: omit previousRows to get baseline. Subsequent calls: pass previous rows to detect changes. Use for monitoring (price change...
argsobjectkeyColstringnamestringpreviousRowsarraysitestringtap_reloadPush updated taps to all connected runtimes (extension, Playwright) without restarting the daemon. Normally not needed — forge.save auto-notifies. Use after manual tap file edits or tap update.
Push updated taps to all connected runtimes (extension, Playwright) without restarting the daemon. Normally not needed — forge.save auto-notifies. Use after manual tap file edits or tap update.
No parameter schema in public metadata yet.
tap_versionGet protocol version and connected runtime info. Use to verify the extension is connected and check version compatibility before running taps.
Get protocol version and connected runtime info. Use to verify the extension is connected and check version compatibility before running taps.
No parameter schema in public metadata yet.
forge_inspectAnalyze a page for tap forging: detects framework, SSR state, APIs, and generates extraction strategies. Also use this to re-forge a broken tap — inspect the page again to find what changed.1 params
Analyze a page for tap forging: detects framework, SSR state, APIs, and generates extraction strategies. Also use this to re-forge a broken tap — inspect the page again to find what changed.
urlstringforge_draftLoad a .tap.js file into memory for verification. Write the tap code to a file first, then pass the path here. Returns content hash for change tracking.1 params
Load a .tap.js file into memory for verification. Write the tap code to a file first, then pass the path here. Returns content hash for change tracking.
pathstringforge_verifyTest the draft tap's extraction logic live on a URL. Reads code from forge.draft — no need to pass expression. Returns score, rows, and data preview.3 params
Test the draft tap's extraction logic live on a URL. Reads code from forge.draft — no need to pass expression. Returns score, rows, and data preview.
descriptionstringexpressionstringurlstringforge_saveSave the draft tap to disk and auto-commit to git. Reads code from forge.draft — no need to pass code. After saving, tap.run can execute it forever with zero AI.3 params
Save the draft tap to disk and auto-commit to git. Reads code from forge.draft — no need to pass code. After saving, tap.run can execute it forever with zero AI.
codestringnamestringsitestringtap_navNavigate to a URL. Before calling this, check tap.list — if a tap exists for this site/task, use tap.run instead. Returns {url, title}. If url differs from requested, a redirect occurred.1 params
Navigate to a URL. Before calling this, check tap.list — if a tap exists for this site/task, use tap.run instead. Returns {url, title}. If url differs from requested, a redirect occurred.
urlstringtap_clickClick on an element by visible text or CSS selector. Returns the resulting url and title. After clicking, check inspect.toasts for feedback (errors, confirmations) before proceeding. Use tap.find first if unsure whether the element exists.1 params
Click on an element by visible text or CSS selector. Returns the resulting url and title. After clicking, check inspect.toasts for feedback (errors, confirmations) before proceeding. Use tap.find first if unsure whether the element exists.
targetstringtap_typeType text into an input. Auto-detects editor type (standard input, contentEditable, CodeMirror, Draft.js, ProseMirror). Returns the current value — if it doesn't match your input, try tap.eval with execCommand('insertText') or the editor's native API. After typing, check inspe...2 params
Type text into an input. Auto-detects editor type (standard input, contentEditable, CodeMirror, Draft.js, ProseMirror). Returns the current value — if it doesn't match your input, try tap.eval with execCommand('insertText') or the editor's native API. After typing, check inspe...
selectorstringtextstringtap_evalEvaluate JavaScript in the browser. The universal escape hatch — use when other tap.* tools can't do what you need.1 params
Evaluate JavaScript in the browser. The universal escape hatch — use when other tap.* tools can't do what you need.
expressionstringtap_findFind elements by visible text. Returns position, selector, and bounding box. Use before click/type to verify the target exists.2 params
Find elements by visible text. Returns position, selector, and bounding box. Use before click/type to verify the target exists.
querystringrolestringtap_waitWait for a specified number of milliseconds. Use instead of tap.eval with setTimeout. For waiting on elements, prefer tap.waitFor(selector) instead.1 params
Wait for a specified number of milliseconds. Use instead of tap.eval with setTimeout. For waiting on elements, prefer tap.waitFor(selector) instead.
msintegertap_pressKeyPress a key.2 params
Press a key.
keystringmodifiersintegertap_uploadUpload files to a file input. After uploading, check inspect.toasts for errors (wrong format, size limit).2 params
Upload files to a file input. After uploading, check inspect.toasts for errors (wrong format, size limit).
filesstringselectorstringtap_cookiesGet cookies for the current site.
Get cookies for the current site.
No parameter schema in public metadata yet.
inspect_domGet page DOM structure.1 params
Get page DOM structure.
selectorstringinspect_pageGet page info (url, title, meta).
Get page info (url, title, meta).
No parameter schema in public metadata yet.
inspect_a11yGet accessibility tree.
Get accessibility tree.
No parameter schema in public metadata yet.
inspect_elementInspect a specific element.1 params
Inspect a specific element.
selectorstringinspect_networkStartStart network capture.
Start network capture.
No parameter schema in public metadata yet.
inspect_networkDumpDump captured network log. Pass bodies:true to include response bodies (JSON APIs). Waits up to 3s for pending body fetches.2 params
Dump captured network log. Pass bodies:true to include response bodies (JSON APIs). Waits up to 3s for pending body fetches.
bodiesbooleanurl_filterstringinspect_downloadDownload and parse a URL.1 params
Download and parse a URL.
urlstringtab_listList open browser tabs.
List open browser tabs.
No parameter schema in public metadata yet.
intercept_onEnable request interception.1 params
Enable request interception.
patternsarrayintercept_offDisable request interception.
Disable request interception.
No parameter schema in public metadata yet.
Sponsors
Configuration
TAP_SUPABASE_URL*Supabase project URL for your TAP workspace
TAP_SUPABASE_KEY*secretSupabase service role key for your TAP workspace
Readme
Details
- Repository
- github.com/totalaudiopromo/total-audio-platform
- Categories
- Sales & Marketing, Media & Entertainment
- Package
@totalaudiopromo/tap-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active