Search documentation
Search documentation pages and implementation topics.
Summary
The VideoVector MCP docs show how AI clients can browse indexes, run extraction engines, search media evidence, inspect workflow resources, and validate available tools.
Published package and environment names
Use these package and environment identifiers when configuring MCP clients:
- package:
@videosearch/mcp-server - command:
videosearch-mcp - server name:
videosearch - environment variables:
VIDEOSEARCH_*
Transport choices
- Use
stdiofor local desktop clients such as Claude Desktop and Cursor. - Use
httpwhen the MCP server must run as a network-addressable service.
Pages in this section
- Claude Desktop setup
- Cursor setup
- Custom and HTTP transport setup
- Tools, helper endpoints, and playground
Public helper endpoints
The API also exposes MCP helper routes:
GET /api/v2/mcp/statusGET /api/v2/mcp/configGET /api/v2/mcp/toolsPOST /api/v2/mcp/playground
Use them to inspect capabilities, generate config, and validate tools before deploying the MCP server to users.
MCP / claude-desktop
Claude Desktop setup
Configure the VideoVector MCP server for Claude Desktop using the published package and environment names.
Install or run with npx
Claude Desktop can launch the server with npx, so a global install is optional.
{
"mcpServers": {
"videosearch": {
"command": "npx",
"args": ["@videosearch/mcp-server"],
"env": {
"VIDEOSEARCH_API_KEY": "sk_live_..."
}
}
}
}
Config path
The helper controller returns this default config path for macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
The setup instructions embedded in the controller also document the Windows equivalent.
Verification
After saving the config and restarting Claude Desktop, verify the connection by asking Claude which VideoVector tools are available.
Generated config endpoint
Use the helper endpoint when you want a platform-specific config payload:
curl "/api/v2/mcp/config?platform=claude-desktop" \
-H "Authorization: Bearer <verified-jwt>"
If you omit api_key_id, the server will reuse a suitable key or create a new one with read and search scopes.
MCP / cursor
Cursor setup
Configure the VideoVector MCP server for Cursor using the published package and environment names.
Cursor configuration
{
"mcpServers": {
"videosearch": {
"command": "npx",
"args": ["@videosearch/mcp-server"],
"env": {
"VIDEOSEARCH_API_KEY": "sk_live_..."
}
}
}
}
Config path
The helper endpoint returns:
~/.cursor/mcp.json
Verification flow
- Save or merge the config.
- Restart Cursor.
- Open the MCP panel and verify that the
videosearchserver is connected.
Generated config endpoint
curl "/api/v2/mcp/config?platform=cursor" \
-H "Authorization: Bearer <verified-jwt>"
Use api_key_id=<key_id> when you want to pin the config to an existing API key instead of letting the helper choose or create one.
MCP / custom-http
Custom clients and HTTP transport
Configure custom MCP clients for VideoVector and deploy the MCP server in stdio or HTTP mode with the published environment variables.
Custom stdio configuration
The generic helper response uses this shape:
{
"server": {
"name": "videosearch",
"command": "npx",
"args": ["@videosearch/mcp-server"],
"env": {
"VIDEOSEARCH_API_KEY": "sk_live_..."
}
}
}
Stdio mode
stdio is the default transport mode.
npm install -g @videosearch/mcp-server
VIDEOSEARCH_API_KEY=sk_live_... videosearch-mcp
Environment variables:
VIDEOSEARCH_API_KEYVIDEOSEARCH_BASE_URLVIDEOSEARCH_TIMEOUTVIDEOSEARCH_MAX_RETRIES
HTTP mode
Set MCP_TRANSPORT_MODE=http to expose the server over Streamable HTTP transport.
MCP_TRANSPORT_MODE=http \
VIDEOSEARCH_BASE_URL=https://playground-api-stg-udk7d32fva-uc.a.run.app/api/v2 \
node dist/index.js
HTTP mode adds:
PORTMCP_HTTP_HOSTMCP_HTTP_ALLOWED_HOSTSMCP_HTTP_ALLOWED_ORIGINSMCP_HTTP_MAX_SESSIONSMCP_HTTP_ENABLE_JSON_RESPONSE
HTTP endpoints
The server exposes:
GET /healthPOST /mcpGET /mcpDELETE /mcp
Per-request auth can use either:
Authorization: Bearer sk_*X-API-Key: sk_*
When to choose HTTP
Use HTTP transport when the MCP server:
- runs remotely instead of inside a desktop client
- needs origin or host allowlists
- needs readiness probes
- needs session management at the transport layer
The custom helper endpoint returns the current MCP package base URL default:
https://playground-api-stg-udk7d32fva-uc.a.run.app/api/v2.
MCP / tools-and-playground
Tools, helper endpoints, and playground
Inspect VideoVector MCP tool categories, use helper endpoints for config and tool discovery, and test tool execution through the MCP playground.
Helper endpoints
| Method | Path | Purpose |
|---|---|---|
GET | /api/v2/mcp/status | Inspect package name, install command, tool count, and supported platforms |
GET | /api/v2/mcp/config | Generate platform-specific config |
GET | /api/v2/mcp/tools | Return tool definitions and category groupings |
POST | /api/v2/mcp/playground | Execute a tool directly for testing |
Tool categories
The tool definition file groups public tools into categories such as:
- Search
- Discovery
- Video and segment inspection
- Extraction executions
- Extraction engine management
- Cloud connectors
- Import jobs
- Index management
- Video management
- Exports
- Webhooks
Representative workflows include:
- searching an index with
search_videos,search_videos_by_image, ormultimodal_search - building extraction engines with
create_promptandtest_prompt_schema - executing and monitoring extraction runs with
execute_prompt,get_prompt_run_status, andget_prompt_run_results - operating imports, exports, connectors, and webhooks without leaving the MCP client
Status response
GET /api/v2/mcp/status returns fields such as:
server_nameserver_versionpackage_namenpm_install_commanddocumentation_urltools_countsupported_platforms
Tool discovery response
GET /api/v2/mcp/tools returns:
total_counttoolscategories
Each tool includes a public input schema that mirrors the MCP SDK Tool definition shape.
Playground execution
The playground endpoint accepts:
{
"tool_name": "search_videos",
"arguments": {
"index_id": "idx_archive",
"query": "reporter outside a station entrance",
"top_k": 5
}
}
The response includes:
tool_namesuccessresulterrorexecution_time_ms
The controller also enforces explicit scope rules. Read-only tools require read-level capability, and mutating tools require write.
Structured playground payloads
For several tool families, the controller wraps results in structuredContent plus text content so clients can render both machine-readable and human-readable output cleanly.
Use the playground to validate argument shapes and output structure before you hand the server to an agent or a production client.
