MCP 오디오 필사기
AssemblyAI API를 통해 모델 컨텍스트 프로토콜(MCP)을 구현하는 Docker화된 Python 도구입니다. 오디오 파일을 업로드하거나 가리키면 구조화된 JSON 텍스트 변환을 받을 수 있습니다.
특징
- AssemblyMCP : AssemblyAI의 REST API를 사용하는 구체적인 MCP 구현
- 명령줄 인터페이스 (
app.py
):지엑스피1 - Streamlit 웹 UI (
streamlit_app.py
):- 로컬 파일 업로드 또는 URL 붙여넣기
- 클릭해서 필사하세요
- 대본을 미리 보고 JSON을 다운로드하세요
- 환경 일관성 및 이식성을 위한 Docker 지원
필수 조건
- 파이썬 3.10+
- AssemblyAI API 키
- ffmpeg(로컬 파일을 사용하는 경우 로컬 디코딩용)
- (선택 사항) Docker Desktop/Engine
- (선택 사항) Streamlit (
pip install streamlit
)
🔧 설치
- 저장소를 복제합니다
git clone https://github.com/ShreyasTembhare/MCP---Audio-Transcriber.git
cd MCP---Audio-Transcriber
.env
생성합니다ASSEMBLYAI_API_KEY=your_assemblyai_api_key_here
.gitignore
에 다음이 포함되어 있는지 확인하세요.- Python 종속성 설치
pip install --upgrade pip
pip install -r requirements.txt
- ffmpeg 설치
- Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg -y
- Windows: https://ffmpeg.org 에서 다운로드하고
bin/
을 PATH에 추가하세요.
용법
1. CLI 전사
python app.py <input_audio> <output_json>
<input_audio>
: AssemblyAI에서 지원하는 모든 파일 또는 URL<output_json>
: 생성된 JSON의 경로
예:
python app.py data/input.ogg data/output.json
cat data/output.json
2. 간소화된 웹 UI
streamlit run streamlit_app.py
3. 도커
이미지 빌드:
docker build -t mcp-transcriber .
실행하세요(데이터/폴더를 마운트하세요):
docker run --rm \
-e ASSEMBLYAI_API_KEY="$ASSEMBLYAI_API_KEY" \
-v "$(pwd)/data:/data" \
mcp-transcriber:latest \
/data/input.ogg /data/output.json
그런 다음 검사하세요.
ls data/output.json
cat data/output.json
윈도우 PowerShell:
docker run --rm `
-e ASSEMBLYAI_API_KEY=$env:ASSEMBLYAI_API_KEY `
-v "${PWD}\data:/data" `
mcp-transcriber:latest `
/data/input.ogg /data/output.json
프로젝트 구조
MCP-Audio-Transcriber/
├── app.py # CLI entrypoint (AssemblyMCP only)
├── mcp.py # ModelContextProtocol + AssemblyMCP
├── streamlit_app.py # Streamlit interface
├── requirements.txt # assemblyai, python-dotenv, streamlit, etc.
├── Dockerfile # builds the container
├── .gitignore # ignores .env, __pycache__, etc.
├── LICENSE # MIT license
└── data/ # sample input and output
├── input.ogg
└── output.json