Live

OAUTH 2.1

TRANSCRIPTION

Search

OAuth 2.1 transcription for your agent: Audioscrape MCP searches podcasts and uploads on the signed-in user's token.

  • Per-user credentials. each call uses the actual user's Audioscrape token, never a shared bot.
  • Encrypted per-tenant vault. AES-256, resolved at request time, never in LLM context.
  • Scoped before every call. pre-call scope check, 90-day SIEM-exportable audit chain.
Audioscrape MCP
agent · Acme Q3
Run
Search transcribed podcasts for quotes about agent memory.
S
audioscrapemcp_search_audio
180ms
Audioscrape agent
3 spoken hits. Top: episode ep_1842 at 12:40, speaker Alex Chen, snippet on per-user memory.
Sources: 3 transcript segments, 2 shows
audioscrapemcp
3 hits
18:29
Message Claude...

Tools your research agent reaches for on Audioscrape MCP, scoped per user.

CALL ANY TOOL
OAuth 2.1 transcription across all 20 Audioscrape MCP tools: search spoken audio, read transcripts, and queue new jobs on the signed-in user's token.
audioscrapemcp_fetch
Fetch Result Document
Compatibility fetch: the full transcript of a search result as one plain-text document. Clients with structured-output support should prefer get_transcript, which returns typed segments.
Parameters
Name
Type
Required
Description
id
string
Required
A result id from the search tool (e.g. ep_12345)
audioscrapemcp_get_charts
Podcast Charts
audioscrapemcp_get_entity_graph
Explore Entity Relationships
audioscrapemcp_get_episode_overview
Get Episode Overview
audioscrapemcp_get_speaker
Get Speaker Profile
audioscrapemcp_get_transcript
Get Full Transcript
audioscrapemcp_get_transcription_status
Transcription Job Status
audioscrapemcp_get_trending
Trending Topics & People
audioscrapemcp_list_my_datasets
List My Libraries & Datasets
audioscrapemcp_list_my_uploads
List My Uploads
audioscrapemcp_list_podcast_episodes
List Podcast Episodes
audioscrapemcp_list_recent_transcripts
List New Library Episodes
audioscrapemcp_search
Search
audioscrapemcp_search_audio
Search Transcribed Audio
audioscrapemcp_search_entities
Search Knowledge Graph
audioscrapemcp_search_podcasts
Search Podcasts
audioscrapemcp_search_speakers
Search Speakers
audioscrapemcp_create_share_link
Create Share Link
audioscrapemcp_request_upload_url
Request Upload URL
audioscrapemcp_transcribe_audio
Transcribe Audio
Build your Agent
Same OAuth vault and scoped tool list across LangChain, OpenAI, Anthropic, and Google ADK.
Python · LlamaIndex
import { ScalekitClient } from "@scalekit-sdk/node";
import { DynamicStructuredTool } from "@langchain/core/tools";
const sk = new ScalekitClient(
process.env.SCALEKIT_ENVIRONMENT_URL,
process.env.SCALEKIT_CLIENT_ID,
process.env.SCALEKIT_CLIENT_SECRET,
);
const page = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["audioscrapemcp"], toolNames: [
"audioscrapemcp_search_audio",
"audioscrapemcp_get_transcript",
"audioscrapemcp_transcribe_audio",
]}, pageSize: 100,
});
import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(
process.env.SCALEKIT_ENVIRONMENT_URL,
process.env.SCALEKIT_CLIENT_ID,
process.env.SCALEKIT_CLIENT_SECRET,
);
const page = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["audioscrapemcp"], toolNames: [
"audioscrapemcp_search_audio",
"audioscrapemcp_get_transcript",
"audioscrapemcp_transcribe_audio",
]}, pageSize: 100,
});
const openai = new OpenAI();
import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(
process.env.SCALEKIT_ENVIRONMENT_URL,
process.env.SCALEKIT_CLIENT_ID,
process.env.SCALEKIT_CLIENT_SECRET,
);
const page = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["audioscrapemcp"], toolNames: [
"audioscrapemcp_search_audio",
"audioscrapemcp_get_transcript",
"audioscrapemcp_transcribe_audio",
]}, pageSize: 100,
});
const anthropic = new Anthropic();
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(
process.env.SCALEKIT_ENVIRONMENT_URL,
process.env.SCALEKIT_CLIENT_ID,
process.env.SCALEKIT_CLIENT_SECRET,
);
const page = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["audioscrapemcp"], toolNames: [
"audioscrapemcp_search_audio",
"audioscrapemcp_get_transcript",
"audioscrapemcp_transcribe_audio",
]}, pageSize: 100,
});
Try these prompts
Copy a prompt into your agent. Each one maps to Audioscrape search, transcript, or transcription tools for the signed-in user.
Search spoken audio
Copy the prompt
Copied
Search transcribed audio for quotes about agent memory from the last 30 days.
Copy the prompt
Copied
Find the podcast show The Daily and say whether its transcripts are current.
Copy the prompt
Copied
Search speakers named Lex and return the slug for the top match.
Read a transcript
Copy the prompt
Copied
Get the episode overview for this episode id before reading the full transcript.
Copy the prompt
Copied
Page the full transcript for that episode id until coverage says it is complete.
Copy the prompt
Copied
Explore how two named entities are connected and cite the quote evidence.
Transcribe a file
Copy the prompt
Copied
List my uploads before sending a file I may have transcribed already.
Copy the prompt
Copied
Transcribe this shared audio link and return the job id.
Copy the prompt
Copied
Check that transcription job and give me the episode id when it completes.
SEE HOW AUTH WORKS
Your users connect once. Their Audioscrape tokens stay vaulted, every call is checked, and every action is logged.
1
Authorize
Your user connects
Audioscrape MCP
once. We tie it to their identity and the meetings they approved — no shared bot account, no org-wide access
Who:
user ‘A’
when:
Once per user
access:
Limited to user
2
Store
Their
Audioscrape MCP
token lives in a vault scoped to them. User A's meetings are never reachable by an agent acting for user B, even on the same connection
vault:
encrypted
scope:
per-user
tokens:
auto-refreshed
3
Resolve
When your agent calls a
Audioscrape MCP
tool, we fetch the right token server-side. It never touches your agent, never appears in the LLM context, never shows up in your logs
speed:
~40ms
check:
before every call
seen by:
nobody
4
Audit
Every
Audioscrape MCP
tool call is logged — who triggered it, which meeting was fetched, what came back. 90 days of history, tied to the user who authorized it
history:
90 days
export:
SIEM-ready
logged:
every call
Test other agents
Reuse the same per-user OAuth vault and audit chain on other Search connectors.
No items found.
Test other agents
Reuse the same per-user OAuth vault and audit chain on other Search connectors.
No items found.
Why Scalekit
Secure your agent's access. Connectors ship in minutes
01.
Shared tokens break per-user analytics
A shared Audioscrape token makes every transcript search look like a bot. Scalekit resolves the token of the actual user who triggered the agent, never a shared bot.
// shared key
audit → bot_acct

// scalekit
audit → user_abc ✓
02.
Authentication is not authorization
03.
Multi-tenancy is architectural
04.
Audioscrape MCP today. Others tomorrow.
“Our agents act across Salesforce, Gong, Google Drive, and more, on behalf of every customer. Scalekit behind the scenes meant we can keep adding tools without ever rebuilding how credentials or tool calling work.”
Venu Madhav Kattagoni
Head of Engineering / Von
FAQs
Frequently Asked Questions
Does the agent access Audioscrape MCP as the user or a shared key?
Per-user resolution. Each tool call uses the signed-in user's Audioscrape OAuth token, so transcript reads and transcription jobs attribute to that user in the audit log.
Where is the Audioscrape token stored?
In Scalekit's AES-256 vault, namespaced per tenant. Tokens refresh there. You revoke access from one dashboard without rotating a shared secret across every agent.
Can I limit what the agent does in Audioscrape MCP?
Yes. Filter tool names in listScopedTools (for example audioscrapemcp_search_audio only) and Scalekit checks that scope before the API call.
What happens when a user revokes access?
The next Audioscrape tool call fails closed for that user. Other users and other connectors are unaffected. The revoke is logged.
Will the agent re-transcribe a file the user already uploaded?
Call list_my_uploads first. A file whose bytes are already in the workspace is matched, not transcribed twice, and the status reply points at the existing episode id.
Start in your coding agent
Up and running in one command
Install the Scalekit skill in your editor of choice. Connector, auth, tools, prompt, all wired up
Claude Code REPL
/plugin marketplace add scalekit-inc/claude-code-authstack
/plugin install agentkit@scalekit-auth-stack
Cursor Code REPL
# ~/.cursor/mcp.json
{
""mcpServers"": {
""audioscrapemcp"": {
""url"": ""https://mcp.scalekit.com/audioscrapemcp"",
""headers"": { ""Authorization"": ""Bearer $SCALEKIT_TOKEN"" }
}
}
}
Codex Code REPL
# ~/.codex/config.toml
[mcp_servers.audioscrapemcp]
url = ""https://mcp.scalekit.com/audioscrapemcp""
auth_env = ""SCALEKIT_TOKEN""
Copilot Code REPL
# .vscode/mcp.json
{
""servers"": {
""audioscrapemcp"": {
""url"": ""https://mcp.scalekit.com/audioscrapemcp"",
""type"": ""http""
}
}
}