MCP Integration Guide
Last updated: May 10, 2026
Overview
The Echosaw remote MCP server at https://mcp.echosaw.com allows AI assistants and developer tools to interact with Echosaw’s media intelligence capabilities directly. It uses Streamable HTTP transport with OAuth 2.0 authentication — no local installation or API keys required. Submit media URLs for analysis, retrieve results, and download source files — all from within your AI-powered development environment.
What is MCP?
The Model Context Protocol is an open standard that enables AI models and developer tools to securely connect to external data sources and services. Echosaw’s remote MCP server exposes the same capabilities as the REST API in a format optimized for AI assistant consumption.
Quick Start (Remote Server)
No installation required. Add the Echosaw MCP server URL to your MCP client configuration:
{
"mcpServers": {
"echosaw": {
"url": "https://mcp.echosaw.com"
}
}
}OAuth 2.0 authentication is handled automatically by your MCP client. When you first connect, your client will open a browser window for you to sign in with your Echosaw account.
Claude Desktop Configuration
Add the following to your Claude Desktop configuration file (claude_desktop_config.json):
{
"mcpServers": {
"echosaw": {
"url": "https://mcp.echosaw.com"
}
}
}Claude Desktop supports OAuth 2.0 natively — it will prompt you to sign in when you first use an Echosaw tool.
Cursor Configuration
Add to your Cursor MCP settings:
{
"mcpServers": {
"echosaw": {
"url": "https://mcp.echosaw.com"
}
}
}Compatibility: mcp-remote Bridge
The configurations above use the native Streamable HTTP transport ("url" key), which requires your MCP client to support Streamable HTTP and OAuth 2.0 natively. If your client does not yet support these features, you can use the mcp-remote npm package as a bridge. It proxies the remote server through a local stdio transport and handles the OAuth flow for you.
{
"mcpServers": {
"echosaw": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.echosaw.com",
"3334",
"--host",
"127.0.0.1"
]
}
}
}The 3334 argument specifies the local port for the OAuth callback, and --host 127.0.0.1 binds the callback listener to localhost. On first connection, mcp-remote will open your browser for sign-in and cache the token for subsequent sessions.
You can add "--debug" to the args array for verbose logging while troubleshooting connection issues.
Available Tools
| Tool | Description |
|---|---|
echosaw_analyze_media_url | Submit a publicly accessible or authorized media or document URL to Echosaw for asynchronous analysis. mediaType is one of video, audio, image, or document (PDF, TXT, MD, PPTX). Returns a job ID used to track processing and retrieve results. |
echosaw_check_job_status | Retrieve the current processing state of an Echosaw analysis job, including whether the job is queued, processing, completed, or failed. |
echosaw_get_analysis_results | Retrieve structured analysis results for a completed job, including summaries, transcripts, detected entities, events, and other intelligence outputs. Supports an optional section parameter (summary, transcript, safety, insights, metadata, downloads, all) to reduce response size. |
echosaw_download_media | Generate a presigned download URL for the source media file associated with a completed analysis job. The URL is valid for 1 hour. |
echosaw_search_media | Search your analyzed media library using natural language queries, matching against summaries, what was spoken (60-second transcript windows), and what appears visually. Results include relevance scores, a timestampSec for the matching moment when one was found, and matchReasons. Supports optional scope (mine, org, public) and mediaType filters. |
echosaw_ask_media | Ask a natural-language question and receive an answer synthesized from your analyzed media, with the source media cited. Requires question; supports optional mediaIds to restrict the question to specific items and conversationId to continue a prior exchange. |
echosaw_list_media | List media items in your Echosaw library with metadata including filename, type, status, size, duration, and Public Library visibility. Supports optional limit (default 25), folderPath, and filters for mediaType, status, sentiment, and isPublic. |
echosaw_get_profile | Retrieve your Echosaw account profile including subscription tier, email, organization membership, and free tier status. |
echosaw_get_organization | Retrieve your organization details including name, members, roles, and settings. Returns null if you are not part of an organization. |
echosaw_list_folders | List folders in your media library. Supports an optional parentPath parameter to filter by parent folder. |
echosaw_create_folder | Create a new folder in your media library. Requires a name parameter and supports an optional parentPath (default: root). |
echosaw_move_media | Move one or more media items to a different folder. Requires mediaIds (array) and targetFolderPath. |
echosaw_rename_folder | Rename an existing folder. Requires folderPath and newName. |
echosaw_delete_folder | Delete a folder from your media library. Items are moved to the parent folder by default. Requires folderPath. |
echosaw_set_media_visibility | Toggle whether a media item is published to the Public Library. Requires the analysis to be COMPLETE and the caller to own the item. Requires mediaId and isPublic. |
Example Workflow
- Submit a URL: “Analyze the video at https://example.com/interview.mp4” — calls
echosaw_analyze_media_url, returns amediaId. - Check status: “What’s the status of that analysis?” — calls
echosaw_check_job_status. - Get results: “Show me the results” — calls
echosaw_get_analysis_resultsfor the full intelligence report. - Download source media: “Get me a download link” — calls
echosaw_download_mediafor a presigned URL. - Search your library: “Find all media about product launches” — calls
echosaw_search_media. - Ask a question: “What did the speaker say about pricing?” — calls
echosaw_ask_mediafor an answer grounded in your media. - Browse your library: “What media do I have?” — calls
echosaw_list_media. - Check your account: “What plan am I on?” — calls
echosaw_get_profile. - Check your organization: “Show me my team” — calls
echosaw_get_organization. - Manage folders: “Create a folder called Marketing” / “Move that video to Marketing” — calls folder management tools.
- Publish to the Public Library: “Publish that to the Public Library” / “Make this private” — calls
echosaw_set_media_visibility.
Response Format
All tools return a standardized JSON response envelope:
| Field | Type | Description |
|---|---|---|
success | boolean | Whether the operation succeeded |
tool | string | The tool that produced this response |
responseVersion | string | Response schema version (currently “1.0”) |
data | object | Tool-specific result data |
message | string? | Human-readable summary |
error | string? | Error description (when success is false) |
nextAction | object? | Suggested next tool to call |
Local Server (Deprecated)
Note: The local stdio MCP server is deprecated and will be removed in a future release. Use the remote server at https://mcp.echosaw.com instead.
Installation
npm install -g @echosaw/mcp-server
Requires Node.js 18+ and an Echosaw API key.
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
ECHOSAW_API_KEY | Yes | — | Your Echosaw API key |
ECHOSAW_API_URL | No | https://api.echosaw.com | API base URL (override for staging) |
Local Configuration
{
"mcpServers": {
"echosaw": {
"command": "echosaw-mcp",
"env": {
"ECHOSAW_API_KEY": "your-api-key"
}
}
}
}The local server includes an additional tool (echosaw_analyze_media) for uploading local files directly.
npm package: @echosaw/mcp-server
See Also
- REST API Reference — Direct HTTP endpoint documentation
- API Terms — Terms governing API and MCP usage