Content
# Praat-MCP (Praat ↔ Claude Integration)
A Model Context Protocol (MCP) server that connects the phonetics analysis tool **Praat** to Claude and other Large Language Models (LLMs) for seamless execution.
## Table of Contents
1. [What is this?](#1-what-is-this)
2. [Prerequisites (one-time installation)](#2-prerequisites-one-time-installation)
3. [Folder structure](#3-folder-structure)
4. [.env file creation (required)](#4-env-file-creation-required)
5. [Connecting to Claude Desktop](#5-connecting-to-claude-desktop)
6. [Usage (actual analysis)](#6-usage-actual-analysis)
## 1. What is this?
This program is a bridge between the phonetics analysis tool Praat and Large Language Models (LLMs) like Claude. Technically, it is a Model Context Protocol (MCP) server.
### Praat direct usage vs. MCP usage
Praat itself can perform all analyses. This MCP adds an interface for interacting with Claude, making certain tasks more convenient.
| Task | Direct Praat usage | MCP (+Claude) usage |
| --- | --- | --- |
| Analysis execution | Menu click → Object selection → Command execution | Natural language request (e.g., "Analyze this audio for jitter/shimmer") → Claude finds and executes the script |
| Script creation/modification | Learning Praat scripting and writing | Describe the analysis, and Claude creates/modifies the script |
| Parameter settings | Manual input in settings window | Claude asks for and sets parameters (e.g., pitch range, CPPS options) |
| Result interpretation | Reading Info window/saved txt files | Claude summarizes and interprets results with you |
| Visual/audio output | Saving pictures/sounds separately | Receiving PNG/WAV outputs directly in the conversation |
| Batch processing | Running headless scripts and monitoring console/log | Starting long tasks in the background and checking status with Claude |
These features are implemented using 9 MCP tools:
- `list_praat_scripts` / `get_praat_script` / `get_praat_script_params`: Exploring available scripts, checking contents, and confirming parameters
- `run_praat_script` / `run_praat_script_background` / `get_praat_job_status`: Immediate or background execution, and job status inquiry
- `create_praat_script` / `update_praat_script` / `delete_praat_script`: Script creation, modification, and deletion (with automatic backup)
Claude determines or asks for script and parameter choices based on the context.
## 2. Prerequisites (one-time installation)
The following two items must be installed on your PC.
| Item | Why needed? | Installation |
| --- | --- | --- |
| Python 3.12.x | Execution environment | https://www.python.org/ |
| uv | Package/execution tool | https://www.0x00.kr/development/python/python-uv-simple-usage-and-example |
Verification method (in Windows cmd):
```cmd
python -V
uv -V
```
If versions are displayed, the installations are successful.
## 3. Folder structure
Create the following folders within the project folder (e.g., `C:\Users\Your-Name\Desktop\mcp-praat`).
- `script`: Folder for Praat scripts (`.praat` files)
- `result`: Folder for analysis results (`.txt` files)
```text
mcp-praat/
├─ main.py
├─ praat_analysis.py
├─ Other .py files...
├─ uv.lock
├─ pyproject.toml
├─ .python-version
├─ .venv/
├─ script/
└─ result/
```
## 4. .env file creation (required)
Create a `.env` file in the project folder (`mcp-praat`). The file name is `.env` without any extension.
```text
mcp-praat/
├─ main.py
├─ praat_analysis.py
├─ Other .py files...
├─ uv.lock
├─ pyproject.toml
├─ .python-version
├─ .env
├─ .venv/
├─ script/
└─ result/
```
Variables for `.env`:
| Variable | Meaning |
| --- | --- |
| `MCP_ROOT_DIR` | Project folder path |
| `PRAAT_EXE_DIR` | Path to `Praat.exe` folder (or full path to `Praat.exe`) |
| `SCRIPT_DIR` | Path to `.praat` script folder |
| `RESULT_DIR` | Path to result `.txt` folder |
For Windows, enclose paths in quotes to avoid issues with backslashes.
```env
MCP_ROOT_DIR="C:\Users\Your-Name\Desktop\mcp-praat"
PRAAT_EXE_DIR="C:\Program Files\Praat"
SCRIPT_DIR="C:\Users\Your-Name\Desktop\mcp-praat\script"
RESULT_DIR="C:\Users\Your-Name\Desktop\mcp-praat\result"
```
- If Praat is installed in a different location, update `PRAAT_EXE_DIR` accordingly.
- Avoid duplicating paths (e.g., `\result`) in `RESULT_DIR`.
## 5. Connecting to Claude Desktop
Modify the Claude Desktop configuration file (`claude_desktop_config.json`) to connect Claude to this program.
**Caution**
- `--directory` must be the absolute path to the project folder.
- In JSON strings, Windows paths require double escaping for backslashes (`\\`).
```json
{
"mcpServers": {
"praat-mcp": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\Your-Name\\Desktop\\mcp-praat",
"run",
"main.py"
]
}
}
}
```
Restart Claude Desktop after making changes.
## 6. Usage (actual analysis)
Inform Claude about the audio file's absolute path and request analysis.
```text
Analyze this audio file: C:\Users\Your-Name\Desktop\audio\sample.wav.
Perform jitter / shimmer / HNR analysis.
Show available scripts and choose an appropriate one.
```
```text
Extract CPPs from the audio file in this folder: C:\Users\Your-Name\Desktop\mcp-praat\audio.
Parameter settings:
- Pitch Floor: 60 Hz
- Pitch Ceiling: 330 Hz
- Time Step: 0.002s
- Max Frequency: 5000 Hz
- Pre-emphasis: 50 Hz
- Smoothing: Straight, Robust
```
```text
Create a Praat script for batch CPPs analysis.
Conditions:
- Process all .wav files in the input folder
- Apply Watts et al. (2017) standard parameters
- Output as tab-separated text file
Save the completed script as cpps_batch.praat.
```
Claude will display results and save them as `.txt` files in the `result` folder.
## How to Cite
If you use **Praat-MCP** in your research or pipeline, please cite it as:
### APA (7th Edition)
> Jeong, D. H. (2026). *Praat-MCP* (Version 1.0.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.20965380
### BibTeX
```bibtex
@software{praat_mcp_2026,
author = {Jeong, Do Hyeon},
title = {Praat-MCP},
month = jun,
year = 2026,
publisher = {Zenodo},
version = {v1.0.0},
doi = {10.5281/zenodo.20965380},
url = {[https://doi.org/10.5281/zenodo.20965380](https://doi.org/10.5281/zenodo.20965380)}
}
## Disclaimer
*Praat* is a phonetics software developed by Paul Boersma and David Weenink at the University of Amsterdam. **Praat-MCP** is an independent, third-party analysis pipeline and is not officially affiliated with or endorsed by the original Praat authors.