Content
# Notta MCP Desktop Extension
Notta MCP is a local Model Context Protocol server for Claude Desktop. It lets Claude upload allowed local audio/video files to Notta for transcription, then list, search, check, and view Notta transcription records.
This project is packaged as a Claude Desktop Extension (`.mcpb`). It uses local `stdio` transport, so Claude Desktop starts the server as a local Node.js process.
## Desktop Extension Installation
Build and package the extension:
```bash
npm ci
npm run build
npm run mcpb:pack
```
Install the generated `.mcpb` file in Claude Desktop from Settings > Extensions > Install Extension.
During installation, choose the local folders that Notta is allowed to read files from. The `transcribe` tool rejects file paths outside those folders and rejects files larger than 2 GB or longer than 4 hours.
## First-Time Authentication
After installing the extension, ask Claude to run the `auth_setup` tool. It opens the Notta authorization page in your browser and saves credentials locally at:
```text
~/.config/notta_cli/credentials.json
```
The credentials directory is restricted to `0700`, the credentials file is restricted to `0600`, and temporary S3 upload credentials are kept only in memory.
After authorization succeeds, retry the Notta action.
## Available Tools
| Tool | Access | Description | Parameters |
|------|--------|-------------|------------|
| `auth_setup` | Write local credentials | Start the Notta OAuth flow in a browser. | `port` |
| `transcribe` | Upload/create | Upload an allowed local audio/video file and start transcription. | `file`, `language` |
| `status` | Read-only | Check transcription status for a Notta record. | `record_id`, `wait` |
| `view` | Read-only | Get transcription result for a Notta record. | `record_id` |
| `search` | Read-only | Search Notta records by keyword. | `keyword`, `page`, `page_size` |
| `list` | Read-only | List Notta records and folders. | `group_id`, `page`, `page_size`, `order_by`, `order_type` |
## Supported Media Formats
`wav`, `mp3`, `m4a`, `caf`, `aiff`, `avi`, `rmvb`, `flv`, `mp4`, `mov`, `wmv`, `wma`, `webm`, `3gp`, `ogg`, `mts`
Maximum upload size is 2 GB. Maximum upload duration is 4 hours.
## Supported Languages
`zh-CN` `zh-TW` `zh-HK` `en-US` `ja-JP` `ko-KR` `vi-VN` `th-TH` `hi-IN` `id-ID` `jv-ID` `ms-MY` `fil-PH` `ne-NP` `pt-PT` `es-ES` `fr-FR` `de-DE` `it-IT` `nl-NL` `ru-RU` `uk-UA` `pl-PL` `cs-CZ` `sk-SK` `sl-SI` `hr-HR` `sr-RS` `bg-BG` `ro-RO` `hu-HU` `lt-LT` `lv-LV` `da-DK` `nb-NO` `sv-SE` `fi-FI` `is-IS` `tr-TR` `ar-AE` `ar-EG` `fa-IR` `he-IL` `hy-AM` `az-AZ` `ka-GE` `el-GR` `gu-IN` `kn-IN` `ta-IN` `te-IN` `ur-IN` `bn-IN` `km-KH` `lo-LA` `si-LK` `sw-KE` `zu-ZA` `af-ZA` `am-ET` `eu-ES` `ca-ES` `gl-ES` `su-ID`
Default language is `ja-JP`.
## Example Prompts
- "Authorize Notta."
- "Transcribe `/Users/me/Documents/meeting.mp4` with Notta."
- "Check the Notta status for record `12345`."
- "Show the transcription for record `12345`."
- "Search my Notta recordings for `quarterly review`."
- "List my Notta recordings."
## Manual MCP Configuration
For local development without MCPB, build the server and add this to Claude Desktop's MCP config:
```json
{
"mcpServers": {
"notta": {
"command": "node",
"args": [
"/absolute/path/to/notta_mcp/dist/notta-mcp.js",
"/absolute/path/to/allowed/media/folder"
]
}
}
}
```
At least one allowed folder is required. The server does not allow Desktop, Documents, Downloads, or any other local folder by default. You may pass multiple allowed folders as additional arguments.
## Privacy
This extension processes data through Notta services. When you use `transcribe`, the extension reads the selected local media file from an allowed folder, enforces the 2 GB and 4 hour client-side upload limits, uploads it using Notta-provided S3 upload credentials, and creates a Notta transcription record. Record listing, search, status, and view tools call Notta's public API using your local Notta credentials.
Notta privacy policy: https://www.notta.ai/en/privacy
## Release Notes
See `docs/RELEASE.md` for the release checklist and security controls.