OtterAI MCP
Vendor MCP6 toolsOAuth 2.1/DCRTranscriptionProductivityCollaborationConnect to OtterAI MCP. Search meeting recordings, fetch full transcripts, and retrieve user account info from your AI workflows.
OtterAI MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'otteraimcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize OtterAI MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'otteraimcp_get_user_info',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "otteraimcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize OtterAI MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="otteraimcp_get_user_info",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Search otter — Search meetings across platforms by date, attendee, topic, keyword, or title
- Get otter, user info — Return the name and email of the currently authenticated OtterAI user
- Fetch otter — Retrieve the full transcript and metadata for a single OtterAI meeting by its ID, returned by otter_search
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
otteraimcp_fetch#[STALE: upstream renamed this tool to `otter_fetch` as of 2026-08-19 refresh; left in repo per policy, not deleted — see otteraimcp_otter_fetch] Retrieve the full transcript and metadata for a single OtterAI meeting by its ID.1 param
[STALE: upstream renamed this tool to `otter_fetch` as of 2026-08-19 refresh; left in repo per policy, not deleted — see otteraimcp_otter_fetch] Retrieve the full transcript and metadata for a single OtterAI meeting by its ID.
idstringrequiredThe unique OtterAI meeting ID to fetch. Get it from the search tool.otteraimcp_get_user_info#[STALE: upstream renamed this tool to `otter_get_user_info` as of 2026-08-19 refresh; left in repo per policy, not deleted — see otteraimcp_otter_get_user_info] Return the name and email of the currently authenticated OtterAI user.0 params
[STALE: upstream renamed this tool to `otter_get_user_info` as of 2026-08-19 refresh; left in repo per policy, not deleted — see otteraimcp_otter_get_user_info] Return the name and email of the currently authenticated OtterAI user.
otteraimcp_otter_fetch#Retrieve the full transcript and metadata for a single OtterAI meeting by its ID, returned by otter_search.1 param
Retrieve the full transcript and metadata for a single OtterAI meeting by its ID, returned by otter_search.
idstringrequiredMeeting ID returned by otter_search. Used to retrieve the full transcript from the Otter.ai platform.otteraimcp_otter_get_user_info#Return the name and email of the currently authenticated OtterAI user.0 params
Return the name and email of the currently authenticated OtterAI user.
otteraimcp_otter_search#Search meetings across platforms by date, attendee, topic, keyword, or title. Returns meeting metadata, AI summaries, outlines, and action items ranked by relevance; supports pagination via cursor.13 params
Search meetings across platforms by date, attendee, topic, keyword, or title. Returns meeting metadata, AI summaries, outlines, and action items ranked by relevance; supports pagination via cursor.
attended_bystringoptionalOptional. Name(s) of the participant(s) who were in the meeting. Case insensitive. Comma-separate multiple names.channel_namestringoptionalOptional. Name of any channel mentioned. Only include the name without the word channel.created_afterstringoptionalOptional. 'YYYY/MM/DD' format. Start of the date range: only meetings created on or after this date are returned.created_beforestringoptionalOptional. 'YYYY/MM/DD' format. End of the date range: only meetings created on or before this date are returned.cursorstringoptionalOptional. The next_cursor value from a previous otter_search response, used to fetch the next page of the same search.folder_namestringoptionalOptional. Name of any folder mentioned. Only include the name without the word folder.include_shared_meetingsstringoptionalOptional. Whether to include meetings shared with the user. Set to false only when the user explicitly asks for their own meetings.keywords_in_transcriptstringoptionalOptional. Comma separated keywords that could be in the transcript. Case insensitive.page_sizestringoptionalOptional. At most how many meetings to return in this response, between 1 and 25.querystringoptionalOptional. Semantic search query for finding relevant meetings by topic or content.rationalestringoptionalOptional. Briefly explain why you are calling this tool and how you plan to use the results. Do not include PII or other sensitive information. Maximum 250 characters.title_containsstringoptionalOptional. Space-delimited list of words, all of which must appear (in any order) in the recording title. Case insensitive.usernamestringoptionalOptional. The current user's name from otter_get_user_info, used to mark results as personally attended vs. only shared with the user.otteraimcp_search#[STALE: upstream renamed this tool to `otter_search` as of 2026-08-19 refresh; left in repo per policy, not deleted — see otteraimcp_otter_search] Search OtterAI meetings by keyword, title, attendee, folder, date range, or transcript content.10 params
[STALE: upstream renamed this tool to `otter_search` as of 2026-08-19 refresh; left in repo per policy, not deleted — see otteraimcp_otter_search] Search OtterAI meetings by keyword, title, attendee, folder, date range, or transcript content.
querystringrequiredFull-text search query to find meetings by title or transcript content.attended_bystringoptionalFilter meetings attended by this email address.channel_namestringoptionalFilter meetings belonging to this channel or workspace.created_afterstringoptionalReturn only meetings created after this date (YYYY-MM-DD format, e.g. 2025-01-01).created_beforestringoptionalReturn only meetings created before this date (YYYY-MM-DD format, e.g. 2025-12-31).folder_namestringoptionalFilter meetings stored in this folder name.include_shared_meetingsstringoptionalSet to true to include meetings shared with you by others.keywords_in_transcriptstringoptionalSpace-separated keywords that must appear in the transcript.title_containsstringoptionalFilter meetings whose title contains this substring.usernamestringoptionalFilter meetings by the Otter.ai username (email) of the meeting owner.