Rev.ai MCP by usefulapi
Transcribe audio with Rev.ai: submit jobs by URL, read transcripts, summaries and captions.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"rev-ai": {
"url": "https://rev-ai.usefulapi.io/mcp"
}
}
}遠端端點
https://rev-ai.usefulapi.io/mcpstreamable-http它能做什麼
工具清單
工具(8)
🟢revai_get_account
The Rev.ai account behind the token: email, free, purchased, total and invoiced balance (USD) and whether HIPAA is on. GET /account.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revai_list_jobs(limit, starting_after)
List transcription jobs from the last 30 days, newest first: id, status (in_progress, transcribed, failed), name, duration, language, failure reason. Page with starting_after = the previous reply's next_starting_after. GET /jobs.
輸入結構描述
{
"type": "object",
"properties": {
"limit": {
"description": "Jobs per page, 1-100 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"starting_after": {
"description": "Return jobs older than this job id (exclusive), from next_starting_after.",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revai_get_job(job_id)
One transcription job by id: status (in_progress, transcribed, failed), timestamps, duration, language, failure reason. Poll this until status is transcribed. GET /jobs/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Rev.ai job id (the `id` from revai_submit_job or revai_list_jobs)."
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴revai_submit_job(media_url, language, metadata, verbatim, skip_diarization, ...)
WRITE: start an asynchronous machine transcription job for an audio or video file at a public URL. It uses Rev.ai credit (free credit first). Returns the job with status in_progress; then poll revai_get_job and read the result with revai_get_transcript. Human transcription is not offered. POST /jobs.
輸入結構描述
{
"type": "object",
"properties": {
"media_url": {
"type": "string",
"maxLength": 4096,
"pattern": "^https?:\\/\\/\\S+$",
"description": "Direct download URL of the audio or video file. Rev.ai fetches it; it must be reachable without login."
},
"language": {
"type": "string",
"pattern": "^[a-z]{2,3}(-[a-z]{2})?(\\/[a-z]{2})?$|^auto$",
"description": "Spoken language as an ISO 639-1 code (en, en-us, en-gb, es, fr, de, ...). Default en."
},
"metadata": {
"description": "A note stored with the job and returned with it (for example your own reference).",
"type": "string",
"maxLength": 512
},
"verbatim": {
"description": "Keep every false start and disfluency (default true for machine jobs).",
"type": "boolean"
},
"skip_diarization": {
"description": "Do not label speakers.",
"type": "boolean"
},
"speakers_count": {
"description": "Number of speakers, if known (English, Spanish, French); improves speaker labels.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"speaker_channels_count": {
"description": "Number of audio channels with one speaker each. Billed per channel.",
"type": "integer",
"minimum": 1,
"maximum": 8
},
"filter_profanity": {
"description": "Mask profanity in the transcript.",
"type": "boolean"
},
"remove_disfluencies": {
"description": "Drop 'ums' and similar fillers.",
"type": "boolean"
},
"skip_punctuation": {
"description": "Return words without punctuation.",
"type": "boolean"
},
"forced_alignment": {
"description": "More accurate per-word timestamps (en, fr, it, de, es).",
"type": "boolean"
},
"summarization_type": {
"description": "Also create a summary, read later with revai_get_summary.",
"type": "string",
"enum": [
"paragraph",
"bullets"
]
},
"delete_after_seconds": {
"description": "Delete the job and its data this many seconds after it completes.",
"type": "integer",
"minimum": 0,
"maximum": 2592000
}
},
"required": [
"media_url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴revai_delete_job(job_id)
WRITE: permanently delete a finished (transcribed or failed) job with its media and transcript. This cannot be undone. A job still in progress cannot be deleted. DELETE /jobs/{id}.
輸入結構描述
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Rev.ai job id (the `id` from revai_submit_job or revai_list_jobs)."
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revai_get_transcript(job_id, format, offset, max_chars, group_channels_by)
The transcript of a transcribed job. format=text (default) is plain text with speaker labels and timestamps; format=segments is a list of {speaker, start, end, text} per speaker turn (seconds). Long transcripts are paged: repeat with next_offset until it is null. GET /jobs/{id}/transcript.
輸入結構描述
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Rev.ai job id (the `id` from revai_submit_job or revai_list_jobs)."
},
"format": {
"description": "text (default) or segments.",
"type": "string",
"enum": [
"text",
"segments"
]
},
"offset": {
"description": "text: character position; segments: segment index. Use the previous reply's next_offset (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
"max_chars": {
"description": "Most characters to return in one reply, 1000-20000 (default 15000).",
"type": "integer",
"minimum": 1000,
"maximum": 20000
},
"group_channels_by": {
"description": "Multichannel jobs only: how to group words into turns.",
"type": "string",
"enum": [
"speaker",
"sentence",
"word"
]
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revai_get_summary(job_id, offset, max_chars)
The summary of a transcribed job. It exists only if the job was submitted with summarization_type. Paged by character like revai_get_transcript. GET /jobs/{id}/transcript/summary.
輸入結構描述
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Rev.ai job id (the `id` from revai_submit_job or revai_list_jobs)."
},
"offset": {
"description": "Start position from the previous reply's next_offset (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
"max_chars": {
"description": "Most characters to return in one reply, 1000-20000 (default 15000).",
"type": "integer",
"minimum": 1000,
"maximum": 20000
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢revai_get_captions(job_id, format, speaker_channel, offset, max_chars)
Captions for a transcribed job as SRT (default) or WebVTT. Long files are paged by character: repeat with next_offset until it is null. For multichannel jobs pass speaker_channel. GET /jobs/{id}/captions.
輸入結構描述
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Rev.ai job id (the `id` from revai_submit_job or revai_list_jobs)."
},
"format": {
"description": "srt (default) or vtt.",
"type": "string",
"enum": [
"srt",
"vtt"
]
},
"speaker_channel": {
"description": "Channel to caption, for jobs submitted with speaker_channels_count.",
"type": "integer",
"minimum": 0,
"maximum": 32
},
"offset": {
"description": "Start position from the previous reply's next_offset (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
"max_chars": {
"description": "Most characters to return in one reply, 1000-20000 (default 15000).",
"type": "integer",
"minimum": 1000,
"maximum": 20000
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社群
證據