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.0authentication — 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 Protocolis 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 URL to Echosaw for asynchronous analysis. 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. Returns matching media items with relevance scores. |
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 trial 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. - 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