Operational

NCAT MCP Server

A media processing server powered by the NCA Toolkit and built on Mastra. Exposes 25 tools for video editing, audio processing, transcription, media conversion, and more — accessible through three protocols: REST API, Model Context Protocol (MCP), and Agent-to-Agent (A2A). Connect from any MCP-compatible AI client, agent framework, or HTTP client.

25 tools 3 protocols 8 categories API key auth
REST

REST API

/api/tools

Standard HTTP endpoints. List tools, execute them, query agents. Works with curl, Postman, fetch, or any HTTP client.

MCP

Streamable HTTP

/api/mcp/ncat-mcp/mcp

Primary MCP transport. Use this for Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, and any MCP client.

MCP

SSE Transport

/api/mcp/ncat-mcp/sse

Server-Sent Events fallback for older MCP clients that don't support Streamable HTTP transport.

A2A

Agent-to-Agent

/api/a2a/ncat-agent

Google A2A protocol for agent orchestration. Connect from Mastra, Google ADK, LangGraph, or any A2A-compatible framework.

Video

6
  • videoCaption
  • videoConcatenate
  • videoTrim
  • videoCut
  • videoSplit
  • videoThumbnail

Media

7
  • mediaTranscribe
  • mediaDownload
  • mediaConvert
  • mediaToMp3
  • mediaMetadata
  • mediaSilenceDetect
  • mediaGenerateAss

Toolkit

5
  • toolkitTest
  • toolkitAuthenticate
  • toolkitJobStatus
  • toolkitJobsStatus
  • toolkitJobResult

Image

2
  • imageScreenshotWebpage
  • imageToVideo

Audio

1
  • audioConcatenate

Storage

2
  • storageUploadS3
  • storageUploadGcp

FFmpeg

1
  • ffmpegCompose

Code

1
  • codeExecutePython
C

Claude Code

Anthropic CLI — MCP via Streamable HTTP

Add as an MCP server directly from your terminal. The --header flag passes your API key for authentication.

claude mcp add ncat-mcp \
  --transport http \
  --header "Authorization: Bearer YOUR_API_KEY" \
  https://ncat-mcp.otakusolutions.io/api/mcp/ncat-mcp/mcp

Once added, all 25 tools are available in your Claude Code sessions. Use them naturally in conversation or via tool calls.

C

Claude Desktop

Desktop app — MCP via Streamable HTTP

Add to your claude_desktop_config.json file. On macOS: ~/Library/Application Support/Claude/ — on Windows: %APPDATA%/Claude/

{
  "mcpServers": {
    "ncat-mcp": {
      "transport": "streamable-http",
      "url": "https://ncat-mcp.otakusolutions.io/api/mcp/ncat-mcp/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Restart Claude Desktop after saving. The tools will appear in the MCP tools menu.

Cu

Cursor

AI code editor — MCP via SSE or Streamable HTTP

Open Settings → MCP and add a new server. Use SSE transport if Streamable HTTP isn't supported in your version.

// .cursor/mcp.json
{
  "mcpServers": {
    "ncat-mcp": {
      "url": "https://ncat-mcp.otakusolutions.io/api/mcp/ncat-mcp/sse",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
VS

VS Code

Copilot MCP support — Streamable HTTP

VS Code supports MCP servers through GitHub Copilot. Add to your .vscode/mcp.json in the workspace root.

{
  "servers": {
    "ncat-mcp": {
      "type": "http",
      "url": "https://ncat-mcp.otakusolutions.io/api/mcp/ncat-mcp/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
W

Windsurf

Codeium editor — MCP via SSE

Add to your Windsurf MCP configuration file at ~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "ncat-mcp": {
      "serverUrl": "https://ncat-mcp.otakusolutions.io/api/mcp/ncat-mcp/sse",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
JS

AI SDK / Custom Client

TypeScript — @ai-sdk/mcp or @modelcontextprotocol/sdk

Connect programmatically from any TypeScript/JavaScript application using the MCP client SDK.

// Using @ai-sdk/mcp
import { createMCPClient } from "@ai-sdk/mcp";

const client = await createMCPClient({
  transport: {
    type: "sse",
    url: "https://ncat-mcp.otakusolutions.io/api/mcp/ncat-mcp/sse",
    headers: {
      Authorization: "Bearer YOUR_API_KEY",
    },
  },
});

const tools = await client.tools();
{ }

REST API

Plain HTTP — curl, fetch, Postman, any language

No SDK needed. Standard HTTP requests with JSON bodies. Pass your API key as a Bearer token or x-api-key header.

# List all available tools
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://ncat-mcp.otakusolutions.io/api/tools

# Execute a tool
curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"data": {"url": "https://example.com/video.mp4"}}' \
  https://ncat-mcp.otakusolutions.io/api/tools/mediaDownload/execute

# List agents
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://ncat-mcp.otakusolutions.io/api/agents
A2

Agent-to-Agent (A2A)

Google A2A protocol — Mastra, ADK, LangGraph

The A2A protocol lets other AI agents discover and invoke this server's agent. Fetch the agent card for capabilities, then send tasks to the execution endpoint.

# Discover agent capabilities
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://ncat-mcp.otakusolutions.io/api/.well-known/ncat-agent/agent-card.json

# Send a task to the agent
curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tasks/send","params":{"message":{"role":"user","parts":[{"text":"Download this video: https://example.com/video.mp4"}]}}}' \
  https://ncat-mcp.otakusolutions.io/api/a2a/ncat-agent

API Key Required

All /api/* endpoints require authentication. Pass your key using either method below. Requests without a valid key receive a 401 Unauthorized response.

Option 1 — Bearer Token
Authorization: Bearer <key>
Option 2 — Header
x-api-key: <key>
Public routes (no auth): / (this page) and /webhook/ncat (NCA Toolkit callbacks)