OtterAI MCP
Vendor MCP3 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_otter_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_otter_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 — 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_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.