Skip to main content

MCP server for audio transcription using SiliconFlow API

Project description

MCP-Audio Plugin

mcp-audio is an AIO-2030 compliant MCP plugin that performs voice-to-text transcription using the Audio speech recognition API.

It exposes the identify_voice method via both multipart/form-data and base64 formats, supports the AIO tools.call protocol, and returns JSON-RPC structured outputs.


Features

  • Fully AIO-compliant MCP plugin (/tools.call, /help)
  • Converts .wav/.mp3 audio files to transcripts using SiliconFlow
  • API key managed securely via .env file
  • Docker-compatible and minimal dependencies
  • Registration-ready for AIO endpoint registry

Setup (Local)

1. Clone and Install

git clone git@github.com:AIO-2030/mcp-audio.git
cd mcp-audio
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt

2. Add .env file

cp .env.example .env

Set your audio URL and API key:

AUDIO_URL=https--xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

3. Run the MCP server

python src/mcp_server.py

4. Docker

4.1 Build and Run

docker build -t mcp-audio .
docker run --env-file .env -p 8080:8080 mcp-audio

API Overview

POST /api/v1/mcp/voice_model

Upload audio file directly. Response:

{
  "transcript": "hello world",
  "confidence": 0.91,
  "audio_hash": "a1b2c3..."
}

POST /api/v1/mcp/tools.call (AIO Protocol)

JSON-RPC format with base64-encoded audio. Response:

{
  "method": "tools.call",
  "params": {
    "method": "identify_voice",
    "inputs": [
      {
        "type": "audio",
        "value": "<base64-audio>"
      }
    ]
  }
}

GET /api/v1/mcp/help

Auto-serves contents of mcp_audio_registration.json. Used by Queen AI for MCP discovery and service indexing.

Testing Tools

Base64 Voice Test

python test/test_audio_base64.py

Health Check

python health_check.py

MCP Registration (to AIO Endpoint Canister)

./register_mcp.sh

Requires jq, dfx, and a running endpoint_registry canister.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_mcp_audio-0.1.0.tar.gz (790.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_mcp_audio-0.1.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_mcp_audio-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_mcp_audio-0.1.0.tar.gz
  • Upload date:
  • Size: 790.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_mcp_audio-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ce4ee3ddb163d28a6266ca3ccd6fbebe98439ae67d34e609e7b943f1971e78c1
MD5 647f696525034724544e07c70a64f6c4
BLAKE2b-256 5f326bfaadf1f8e91fe346c62d5f8c9dd08d37f3b63f468a0b32654e26f20d43

See more details on using hashes here.

File details

Details for the file iflow_mcp_mcp_audio-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_mcp_audio-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_mcp_audio-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c26b98a4b79f84430049ff56f7e3e97cbf6718e28720713fe399fdacc8b71eab
MD5 4c2d0aee1cb9c715ae990aa1fad905e5
BLAKE2b-256 8667e921c042f4f01d476c91f63b41123072424adcfdf86bf189f368a1ed41f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page