Skip to main content
Glama
mickaelxd
by mickaelxd
README.md
# mcp-transkriptor

Local [MCP](https://modelcontextprotocol.io) server wrapping the
[Transkriptor developer API](https://developer.transkriptor.com). Transcribe audio,
video, public URLs (YouTube / Google Drive / Dropbox / OneDrive), and live meetings
(Google Meet / Microsoft Teams / Zoom); fetch transcription content and AI summaries;
export TXT / SRT / PDF / DOCX; manage files, folders, custom vocabulary and webhooks;
text-to-speech; and AI-chat knowledgebases. stdio transport.

## Requirements

- [uv](https://docs.astral.sh/uv/)
- A Transkriptor API key — see https://developer.transkriptor.com (authentication)

## Setup

```bash
git clone https://github.com/mickaelxd/mcp-transkriptor.git
cd mcp-transkriptor
cp .env.example .env      # then paste your TRANSKRIPTOR_API_KEY
uv sync
```

## Run / test

```bash
uv run mcp-transkriptor      # starts the stdio server (Ctrl-C to stop)
```

## Register in Claude Code

```bash
claude mcp add transkriptor -s user -- \
  uv run --directory /absolute/path/to/mcp-transkriptor mcp-transkriptor
```

Use the absolute path to your clone. Other MCP clients: point them at the same
`uv run --directory <path> mcp-transkriptor` command over stdio.

## Configuration

| Env var | Required | Purpose |
|---|---|---|
| `TRANSKRIPTOR_API_KEY` | yes | Sent as `Authorization: Bearer <key>`. |
| `TRANSKRIPTOR_ALLOWED_DIR` | no | Sandbox for `transcribe_local_file`; files outside are rejected. Defaults to the process working directory. |

## Tools

- **Transcribe:** `transcribe_local_file`, `transcribe_url`, `transcribe_meeting`
- **Read:** `get_file_content`, `get_file_detail`, `get_meeting_detail`, `get_summary`, `list_files`, `list_folders`, `get_user_details`
- **Export / edit:** `export_transcription`, `rename_file`, `delete_file`
- **Vocabulary:** `set_custom_vocabulary`, `get_custom_vocabulary`, `delete_custom_vocabulary`
- **Webhooks:** `create_webhook`, `list_webhooks`, `delete_webhook`
- **Text-to-speech:** `text_to_speech`
- **AI chat:** `list_knowledgebases`, `create_knowledgebase`, `add_file_to_knowledgebase`, `create_chat_session`, `chat_with_knowledgebase`

Base URL `https://api.tor.app/developer`, rate limit 1000 req/min. Everything keys
off the `order_id` returned by a transcribe call.

## Security

- **Your API key grants full account access.** `.env` is gitignored — keep it that
  way. Treat the key like a password and rotate it if it leaks.
- This server exposes **destructive** tools (`delete_file`, `delete_webhook`, and
  `set_custom_vocabulary`, which *replaces* existing vocabulary). If you run your MCP
  client without a tool-confirmation gate, an autonomous agent — or **indirect prompt
  injection via transcription content the model reads** — could trigger them. Prefer
  a client that confirms tool calls.
- `transcribe_local_file` uploads file contents to a third party (tor.app). Keep
  `TRANSKRIPTOR_ALLOWED_DIR` narrow; never point it at a directory holding secrets.
- `get_user_details` echoes account fields returned by the API; avoid pasting its raw
  output into shared logs.
- Webhooks require a public HTTP endpoint to *receive* events. This server can
  create / list / delete them, but does not host a receiver.

## License

MIT — see [LICENSE](LICENSE).

TDQS

B3.4/5.0

Scored across 25 tools

Disambiguation5/5

Every tool targets a distinct operation on different entities (transcription, file, vocabulary, webhook, knowledgebase), with no overlapping functionality. The descriptions clearly differentiate their purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., create_knowledgebase, list_files, transcribe_url), with no mixing of conventions or vague verbs.

Tool Count4/5

25 tools is on the higher side but still reasonable given the comprehensive feature set (transcription, file management, export, vocabulary, webhooks, knowledgebase, TTS). Each tool serves a clear purpose without bloat.

Completeness4/5

The tool surface covers core transcription lifecycle, file operations, vocabulary management, webhooks, and knowledgebase chat. Minor gaps like missing cancellation or status polling tools, but overall well-rounded.

Maintenance

ActivityInactive
ResponsivenessNo issues