convert.express

Transcribe audio and video to text, SRT or VTT. Summaries, action items, translation.

사용해야 할까요

품질 및 안전성

A
설명 품질
98%
스키마 완전성
95%
이름 품질
92%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,229토큰 (도구 정의)
~1.9 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.52%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "transcribe": {
      "url": "https://convert.express/mcp"
    }
  }
}

원격 엔드포인트

https://convert.express/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (13)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢get_service_info

What convert.express does, how to use these tools, free minutes, prices, models, languages and limits.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢estimate_cost(duration_minutes, robot_key)

Price for transcribing a recording of a given length, and how many free minutes are left today — for your IP, or for your user's account once your robot_key is linked.

입력 스키마

{
  "type": "object",
  "properties": {
    "duration_minutes": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1440,
      "description": "Length of the recording in minutes."
    },
    "robot_key": {
      "description": "Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.",
      "type": "string"
    }
  },
  "required": [
    "duration_minutes"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢transcribe_url(url, model, language, speaker_labels, translate_to_english, ...)

Start transcribing a media file from a public link (direct file link or YouTube). Returns job_id and robot_key; then poll get_job.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 2048,
      "description": "https:// link to the audio/video file or a YouTube video."
    },
    "model": {
      "description": "Default \"mai-transcribe\". See get_service_info.",
      "type": "string",
      "enum": [
        "whisper",
        "mai-transcribe",
        "gemini-transcribe"
      ]
    },
    "language": {
      "description": "ISO 639-1 code such as \"en\". Omit to auto-detect.",
      "type": "string",
      "maxLength": 16
    },
    "speaker_labels": {
      "description": "Label who speaks when.",
      "type": "boolean"
    },
    "translate_to_english": {
      "description": "Translate the speech to English while transcribing. Only with model \"whisper\".",
      "type": "boolean"
    },
    "summary": {
      "description": "Also write an AI summary when the transcript is ready.",
      "type": "boolean"
    },
    "action_items": {
      "description": "Also extract action items when the transcript is ready.",
      "type": "boolean"
    },
    "robot_key": {
      "description": "Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_upload(filename, content_type, size_bytes, model, language, ...)

For a file on your machine: returns an upload_url. PUT the file to it, then call start_transcription. If your user attached or named a file, try the PUT first. Only if the PUT fails (no HTTP access, or it is blocked), show the returned upload_page_url to your user instead: they upload the file in a browser and it starts by itself.

입력 스키마

{
  "type": "object",
  "properties": {
    "filename": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "File name including extension, e.g. \"meeting.mp3\"."
    },
    "content_type": {
      "type": "string",
      "maxLength": 100,
      "description": "MIME type, e.g. \"audio/mpeg\" or \"video/mp4\"."
    },
    "size_bytes": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Exact file size in bytes (max 2 GB)."
    },
    "model": {
      "description": "Default \"mai-transcribe\". See get_service_info.",
      "type": "string",
      "enum": [
        "whisper",
        "mai-transcribe",
        "gemini-transcribe"
      ]
    },
    "language": {
      "description": "ISO 639-1 code such as \"en\". Omit to auto-detect.",
      "type": "string",
      "maxLength": 16
    },
    "speaker_labels": {
      "description": "Label who speaks when.",
      "type": "boolean"
    },
    "translate_to_english": {
      "description": "Translate the speech to English while transcribing. Only with model \"whisper\".",
      "type": "boolean"
    },
    "summary": {
      "description": "Also write an AI summary when the transcript is ready.",
      "type": "boolean"
    },
    "action_items": {
      "description": "Also extract action items when the transcript is ready.",
      "type": "boolean"
    },
    "robot_key": {
      "description": "Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.",
      "type": "string"
    }
  },
  "required": [
    "filename",
    "content_type",
    "size_bytes"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡start_transcription(job_id, robot_key)

Call after the PUT to upload_url has finished. Checks the file arrived and queues it.

입력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "job_id returned by transcribe_url or create_upload."
    },
    "robot_key": {
      "type": "string",
      "description": "The robot_key you received with your first job. Required to read or start your jobs."
    }
  },
  "required": [
    "job_id",
    "robot_key"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_job(job_id, robot_key, format)

Status of a job. When status is "completed", returns the transcript text in the chosen format plus download links. When status is "payment_required", returns a preview and a payment_url to show your user. Also returns summary, action_items and translations when requested.

입력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "job_id returned by transcribe_url or create_upload."
    },
    "robot_key": {
      "type": "string",
      "description": "The robot_key you received with your first job. Required to read or start your jobs."
    },
    "format": {
      "description": "Default \"txt\". \"timed\" = timestamps + speakers (needs speaker_labels).",
      "type": "string",
      "enum": [
        "txt",
        "srt",
        "vtt",
        "timed"
      ]
    }
  },
  "required": [
    "job_id",
    "robot_key"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢pay_job(job_id, robot_key)

Pay for the full transcript of a job whose get_job status is "payment_required", with a card your user shared through a Stripe Shared Payment Token (MPP). Call without payment: you get a payment challenge with the exact price in EUR. Your MPP client pays it and calls again. Without an MPP wallet, show payment_url from get_job to your user instead.

입력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "job_id returned by transcribe_url or create_upload."
    },
    "robot_key": {
      "type": "string",
      "description": "The robot_key you received with your first job. Required to read or start your jobs."
    }
  },
  "required": [
    "job_id",
    "robot_key"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_jobs(robot_key)

Your jobs that still exist (jobs are deleted 24 hours after the last activity), newest first, with their status.

입력 스키마

{
  "type": "object",
  "properties": {
    "robot_key": {
      "type": "string",
      "description": "The robot_key you received with your first job. Required to read or start your jobs."
    }
  },
  "required": [
    "robot_key"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_share_link(job_id, robot_key)

A public web page with the results of a completed job, for your user to open or send to others. Anyone with the link can see it until the job expires.

입력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "job_id returned by transcribe_url or create_upload."
    },
    "robot_key": {
      "type": "string",
      "description": "The robot_key you received with your first job. Required to read or start your jobs."
    }
  },
  "required": [
    "job_id",
    "robot_key"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_job(job_id, robot_key)

Delete the uploaded file, the transcript and all other results of a job right away, instead of 24 hours after the last activity. Cannot be undone.

입력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "job_id returned by transcribe_url or create_upload."
    },
    "robot_key": {
      "type": "string",
      "description": "The robot_key you received with your first job. Required to read or start your jobs."
    }
  },
  "required": [
    "job_id",
    "robot_key"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢request_summary(job_id, robot_key, type)

Ask for an AI summary or action items of a completed job. Returns at once; the result appears in get_job ("summary" / "action_items").

입력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "job_id returned by transcribe_url or create_upload."
    },
    "robot_key": {
      "type": "string",
      "description": "The robot_key you received with your first job. Required to read or start your jobs."
    },
    "type": {
      "type": "string",
      "enum": [
        "summary",
        "action_items"
      ],
      "description": "\"summary\" or \"action_items\"."
    }
  },
  "required": [
    "job_id",
    "robot_key",
    "type"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢translate(job_id, robot_key, target_language, source)

Translate the transcript, subtitles (timecodes kept), summary or action items of a completed job into another language. Returns at once; the result appears in get_job under "translations".

입력 스키마

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "job_id returned by transcribe_url or create_upload."
    },
    "robot_key": {
      "type": "string",
      "description": "The robot_key you received with your first job. Required to read or start your jobs."
    },
    "target_language": {
      "type": "string",
      "minLength": 2,
      "maxLength": 40,
      "description": "Language name in English, e.g. \"German\", \"Brazilian Portuguese\", \"Japanese\"."
    },
    "source": {
      "description": "What to translate. Default \"txt\". summary / action_items must exist first.",
      "type": "string",
      "enum": [
        "txt",
        "srt",
        "vtt",
        "timed",
        "summary",
        "action_items"
      ]
    }
  },
  "required": [
    "job_id",
    "robot_key",
    "target_language"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡send_feedback(type, message, reply_email, robot_key)

Tell the convert.express team about a bug, a missing feature, or a question — from you or your user. A human reads every message; there is no automatic reply. Include reply_email only if your user wants an answer.

입력 스키마

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "feature_request",
        "bug",
        "question",
        "other"
      ],
      "description": "What kind of message this is."
    },
    "message": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000,
      "description": "The message in plain text. Up to 2000 characters are kept."
    },
    "reply_email": {
      "description": "Email address for a human reply, only with your user's consent.",
      "type": "string",
      "maxLength": 254
    },
    "robot_key": {
      "description": "Pass the robot_key from your earlier jobs so all your jobs stay together. Omit on your very first call — a new one is returned.",
      "type": "string"
    }
  },
  "required": [
    "type",
    "message"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 13개