{
  "name": "com.scriptivox.www/transcription",
  "description": "AI transcription from URLs or files. 119 languages, diarization, SRT/VTT/text export.",
  "version": "1.2.0",
  "serverUrl": "https://www.scriptivox.com/mcp",
  "transport": "streamable-http",
  "protocolVersion": "2025-06-18",
  "documentationUrl": "https://platform.scriptivox.com/docs/mcp",
  "repository": {
    "url": "https://github.com/SparkleOfficial/scriptivox-mcp-server",
    "source": "github"
  },
  "relatedServers": [
    {
      "name": "com.scriptivox.www/transcription-docs",
      "description": "Documentation retrieval over MCP.",
      "serverUrl": "https://www.scriptivox.com/mcp/docs",
      "transport": "streamable-http"
    }
  ],
  "authentication": {
    "required": false,
    "schemes": [
      "apiKey",
      "oauth2"
    ],
    "documentation": "https://www.scriptivox.com/auth.md",
    "protectedResourceMetadata": "https://www.scriptivox.com/.well-known/oauth-protected-resource"
  },
  "tools": [
    {
      "name": "transcribe_url",
      "description": "Transcribe audio or video from a publicly accessible URL.",
      "annotations": {
        "title": "Transcribe from URL",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "transcribe_upload",
      "description": "Upload a local audio or video file and transcribe it.",
      "annotations": {
        "title": "Transcribe an upload",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false
      }
    },
    {
      "name": "transcribe_status",
      "description": "Check the status of a transcription job and fetch its transcript.",
      "annotations": {
        "title": "Transcription status",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "transcribe_cancel",
      "description": "Cancel an in-flight transcription and release its reserved balance.",
      "annotations": {
        "title": "Cancel transcription",
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "transcribe_delete",
      "description": "Soft-delete a completed or failed transcription.",
      "annotations": {
        "title": "Delete transcription",
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "list_transcriptions",
      "description": "List transcriptions with status, date and pagination filters.",
      "annotations": {
        "title": "List transcriptions",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "export_transcript",
      "description": "Export a transcript as SRT, WebVTT or plain text.",
      "annotations": {
        "title": "Export transcript",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "check_balance",
      "description": "Check the remaining account balance and estimated audio hours.",
      "annotations": {
        "title": "Check balance",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_supported_languages",
      "description": "List the 119 supported transcription languages and their codes.",
      "annotations": {
        "title": "Supported languages",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_pricing",
      "description": "Get current API pricing and plan information.",
      "annotations": {
        "title": "Pricing",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_api_docs",
      "description": "Retrieve the API reference for a given endpoint or topic.",
      "annotations": {
        "title": "API reference",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_product_info",
      "description": "Get general information about Scriptivox and its capabilities.",
      "annotations": {
        "title": "Product information",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "transcription_url",
      "description": "Deprecated alias for transcribe_url, kept for @scriptivox/mcp-server@1.0.x configs. Removed in 2.0.0.",
      "annotations": {
        "title": "Transcribe from URL (deprecated alias)",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "transcription_status",
      "description": "Deprecated alias for transcribe_status, kept for @scriptivox/mcp-server@1.0.x configs. Removed in 2.0.0.",
      "annotations": {
        "title": "Transcription status (deprecated alias)",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "create_account",
      "description": "Create a Scriptivox account. No credential needed; the address must be confirmed by email before the account can do anything.",
      "annotations": {
        "title": "Create an account",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false
      }
    },
    {
      "name": "get_account",
      "description": "Read the signed-in person's plan, entitlements and quota.",
      "annotations": {
        "title": "Account and plan",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "create_api_key",
      "description": "Mint an API key for the signed-in person. The bridge from a web account to the transcription API.",
      "annotations": {
        "title": "Create an API key",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false
      }
    },
    {
      "name": "revoke_api_key",
      "description": "Permanently revoke an API key belonging to the signed-in person.",
      "annotations": {
        "title": "Revoke an API key",
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "purchase_plan",
      "description": "Start checkout for a web subscription and return a Stripe Checkout URL. Charges nothing on its own.",
      "annotations": {
        "title": "Start plan checkout",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "top_up_balance",
      "description": "Start checkout to add credit to the prepaid API balance and return a Stripe Checkout URL. Charges nothing on its own.",
      "annotations": {
        "title": "Start balance top-up",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "get_billing_history",
      "description": "Read past invoices, add-on charges and API deposits, with a link to each Stripe invoice. Read-only.",
      "annotations": {
        "title": "Billing history",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_billing_portal_url",
      "description": "Return a link to the Stripe billing portal. Charges nothing and changes nothing on its own.",
      "annotations": {
        "title": "Billing portal link",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "search_transcripts",
      "description": "Find transcripts in the person's library by folder, tag, workspace, status or filename. The source of the ids every other library tool needs.",
      "annotations": {
        "title": "Search transcripts",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "list_tags",
      "description": "List the tags in use on transcriptions with a count of each, plus the web app's separate named-tag registry.",
      "annotations": {
        "title": "List tags",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "tag_transcriptions",
      "description": "Add tags to up to 10 existing transcriptions at once. More than 10 is refused, not truncated.",
      "annotations": {
        "title": "Tag transcriptions",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "list_folders",
      "description": "List the folders on the signed-in person's account.",
      "annotations": {
        "title": "List folders",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "move_to_folder",
      "description": "File up to 50 existing transcriptions into a folder, or out of any folder.",
      "annotations": {
        "title": "Move to folder",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "list_workspaces",
      "description": "List the signed-in person's workspaces.",
      "annotations": {
        "title": "List workspaces",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_transcript_audio",
      "description": "Return a one-hour signed URL for an existing transcription's source media.",
      "annotations": {
        "title": "Transcript audio link",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "chat_with_transcript",
      "description": "Ask a question about an existing transcript. Spends the account's LLM credits.",
      "annotations": {
        "title": "Chat with a transcript",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false
      }
    },
    {
      "name": "list_automations",
      "description": "List the automations the signed-in person built in the web app.",
      "annotations": {
        "title": "List automations",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "run_automation",
      "description": "Run an existing automation over one completed transcription. Spends the account's LLM credits.",
      "annotations": {
        "title": "Run an automation",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "get_automation_run",
      "description": "Poll the progress of an automation run, step by step.",
      "annotations": {
        "title": "Automation run status",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "start_meeting_bot",
      "description": "Send a bot to record ONE Zoom, Meet, Teams or Webex call. Rate limited to 5 per hour; never takes a list.",
      "annotations": {
        "title": "Send a meeting bot",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "stop_meeting_bot",
      "description": "Tell a meeting bot in a call to leave. What it recorded is still transcribed.",
      "annotations": {
        "title": "Stop a meeting bot",
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "cancel_scheduled_bot",
      "description": "Cancel a meeting bot that has not joined yet, so it never joins.",
      "annotations": {
        "title": "Cancel a scheduled bot",
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "list_scheduled_meetings",
      "description": "List scheduled and running meeting bots, plus dispatches still queued.",
      "annotations": {
        "title": "List scheduled meetings",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "search_docs",
      "description": "Search the Scriptivox documentation and agent guides. Returns matching documents with URLs and summaries, best match first.",
      "annotations": {
        "title": "Search the documentation",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_doc",
      "description": "Fetch a full Scriptivox documentation page as markdown, by slug.",
      "annotations": {
        "title": "Fetch a documentation page",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "login",
      "description": "Sign in to a Scriptivox account in the browser so the account and billing tools can act on it. Local server only.",
      "annotations": {
        "title": "Sign in",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "logout",
      "description": "Forget the stored Scriptivox sign-in on this machine. Local server only.",
      "annotations": {
        "title": "Sign out",
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    }
  ]
}