African Speech Corpora MCP
African Speech Corpora MCP
Model Context Protocol(Anthropic が作成したオープン標準)を実装した読み取り専用サーバーで、アフリカ言語の公開音声コーパス(まず Wolof、さらに Pulaar と Sereer)を対象としています。
このプロジェクトは Wolof 優先です。2.0 カタログには 14 のバリアントが含まれます:オリジナルソースの 11 バリアントと派生の 3 バリアントです。Pulaar(ful)と Sereer(srr)は、ローカル指標のない Kallaama バリアントのみで表現されています。このプロジェクトは Swahili や Amharic のカバレッジを主張しません。2026年8月26日に生成された同梱の検証ロックにより、6 つの Hugging Face バリアントがクエリ可能になります。その後の検証実行では、当然ながら異なる状態になる可能性があります。
このサーバーはモデルのトレーニング、完全なコーパスのダウンロード、または Hugging Face、OpenSLR、Kaggle、GitHub、その他のリモートソースへの書き込みを行いません。
サーバーが測定するもの
品質パイプラインは以下の段階を分離して保持します:
raw audio → usable audio → transcribed audio → audit-accepted audio → expert-verified audioRaw:観測されたスナップショットに存在するファイル。
Usable:監査の定量化可能な除外基準を経て残ったファイル。
Transcribed:書き起こし(トランスクリプション)に関連付けられた音声。
Audit accepted:専門家による検証済みの素材と、監査によってのみ有効と仮定された素材の、明示的に命名された和集合。
Expert verified:
expert_auditedまたはsource_reported_expertのみ。アプリオリな評価がこのレベルに入ることはありません。
秒が標準的な期間の表現です。小数時間と HH:MM:SS 文字列はシリアライズ時に導出されます。すべての監査済み指標は、そのスコープ、ソース、方法、観測日、信頼度を明記します。欠損値は null のまま残り、ゼロに変換されることはありません。プロジェクトが公開した数値は、ローカル観測とは別に published_metrics の下に残ります。
Related MCP server: dspace-mcp
2026年 Wolof スナップショット
機械可読なソースは assets/wolof-audit-2026.csv です。プロトコル、制限事項、およびソーステーブルの TOTAL セルとの相違点は assets/wolof-audit-2026.md に文書化されています。
7 つの Wolof バリアントにローカル観測があります:ALFFA、FLEURS wo_sn、Kallaama Wolof、Urban Bus、Waxal crowdsource、Wolof TTS Baamtu、WolBanking77 です。合計はこれら 7 行から再計算され、冗長な手動合計として保存されることはありません:148,102 の使用可能ファイル、64,609 の書き起こし済みファイル、50,494 の監査受理ファイル、2,329,382.06 秒の音声、515,185.06 秒の書き起こし済み音声、302,048.06 秒の監査受理音声です。
重要な制限事項:
「アプリオリ」と記述された FLEURS、Urban Bus、Waxal、Wolof TTS、WolBanking77 の観測は
audit_assumed_validであり、専門家検証ではありません;ALFFA はこのスナップショットにおいて専門家検証済みファイルが明示的にゼロです;
153 の Kallaama ファイルは長いラジオまたはインタビュー録音であり、153 の音声ターンではありません。36 ファイルと 12:49:36 がローカルプロトコルの
source_reported_expert基準に帰属します;Urban Bus には定量化された割合のない相当量のフランス語コンテンツが含まれるため、
language_purity=mixed_frとなります;Waxal は 517:38:05 の生音声(特に SSL に有用)を、教師あり ASR 用に書き起こされたわずか 13:41:28 から分離します;
ローカルの Wolof TTS Baamtu スナップショット(36,009 ファイル、37:04:49)は丸められた公開指標とは異なり、この TTS コーパスはデフォルトで ASR から除外されます;
WolBanking77 は、観測された 2,563 の音声ファイルを、他で報告されている 9,791 のテキストフレーズから区別します;
Afrivoice は 530.74 時間の Wolof 音声を公開しており、そのうち 102.96 時間が書き起こし済みです。これらはソース公開の数値であり、2026年ローカル監査の測定値でも、専門家検証の証拠でもありません。このデータセットは Hugging Face で自動ゲートされているため、そのファイル、スキーマ、分割、期間は、アクセス条件を受け入れトークンを提供しない限り独立に確認できません。したがって
audit_status=pendingのままです;正確なソース観測日が利用できないため、
observed_at=2026は意図的に年のみの精度です。
インストール
このパッケージには Python 3.11 以降が必要です。Python 3.12 が推奨され、仮想環境が Python 3.9 などの古いシステムインタプリタを誤って継承しないように、以下で明示的に選択されています:
git clone https://github.com/papasega/african-speech-mcp.git
cd african-speech-mcp
python3.12 --version
python3.12 -m venv .venv
source .venv/bin/activate
python --version
python -m pip install -e .両方のバージョンコマンドが Python 3.12.x を報告する必要があります。python -m venv .venv で環境を作成するのは、その python 実行ファイルがすでに Python 3.11 以降である場合にのみ安全です。インストールが次のようなエラーで失敗した場合:
ERROR: Package 'african-speech-mcp' requires a different Python: 3.9.6 not in '>=3.11'その場合、仮想環境は Python 3.9.6 で作成されています。それを非アクティブ化し、そのローカルの .venv を削除または名前変更し、必要に応じて Python 3.12 をインストールし、python3.12 -m venv .venv で環境を再作成してください。仮想環境は作成時に使用されたインタプリタを保持します。アクティブ化しても Python はアップグレードされません。
stdio サーバーは引数なしで起動します:
african-speech-mcp明示的に起動することもできます:
african-speech-mcp serve --transport stdio
african-speech-mcp serve --transport streamable-httpパッケージインストール後の Claude Desktop 設定例(できれば絶対パスを使用):
{
"mcpServers": {
"african-speech-corpora": {
"command": "/absolute/path/to/.venv/bin/african-speech-mcp"
}
}
}このリファクタリングではパッケージを公開しません。リリースが明示的に公開されるまで、uvx や PyPI 識別子を使用しないでください。
MCP ツール
8 つのツールすべてが read_only_hint=true、destructive_hint=false、idempotent_hint=true を宣言しています。
ツール | 目的 |
| バリアント、監査状態、推奨用途、検証状態を一覧表示します。 |
| カウント、期間、検証基準、警告、および別個の公開数値を返します。 |
| 派生を二重カウントせず、デフォルトでベンチマークを含めずに計画を構築します。 |
| 行レベルのマニフェストが存在する場合にのみフィルタリングし、それ以外の場合は除外を約束することを拒否します。 |
| 品質、ドメイン、言語純度、ライセンス、指標の新しさを比較します。 |
| リモートスキーマが検証されたバリアントの行を検索します。 |
| バリアントの設定のみのサイズを返し、スキーマの不一致を報告します。 |
| 派生のライセンス、引用、親の引用を返します。 |
概念的な例:
audit_corpus(corpus="waxal-crowdsource")
plan_training_set(language="wol", task="asr", quality="transcribed")
plan_training_set(language="wol", task="asr", quality="expert_verified")
plan_training_set(
language="wol",
task="asr",
quality="audit_accepted",
include_mixed_language=true,
)
filter_segments(
corpus="waxal-crowdsource",
exclude_duplicates=true,
exclude_non_wolof=true,
exclude_corrupt=true,
)最後の呼び出しは現在 filter_available=false を返します。集計合計により Waxal に 430 の重複と 22 の破損または非 Wolof ファイルが含まれることが確立されますが、行識別子は提供されません。したがってサーバーはそれらの行を削除したふりをすることを拒否します。
plan_training_set のセマンティクス
quality は以下を受け入れます:
any:書き起こしを要求せず、タスクとライセンスで選択;transcribed:実際に書き起こされた期間を使用;audit_accepted:専門家と仮定有効の素材を含め、可視の内訳と警告を表示;expert_verified:真に専門家の検証基準のみを使用;wolof_only:mixed_fr、mixed、unknown、および十分な言語純度の証拠がないバリアントを除外。
metric_source は latest_audit(デフォルト)または published のいずれかです。既知の期間がないバリアントは hours_unknown_for にリストされたままです。FLEURS はベンチマークであり、include_benchmarks=true でない限りトレーニングから除外されます。Urban Bus は include_mixed_language=true を必要とします。TTS バリアントは明示的に有効にしない限り ASR から除外され、派生が親に追加されることはありません。不明、非商用、継承(share-alike)、または未確認のライセンスは適切な警告を生成します。commercial_use=null が商用互換として提示されることはありません。
永続的な Hugging Face 検証
african-speech-mcp validate
african-speech-mcp validate --write
african-speech-mcp validate --output validation-lock.json検証は、データセット識別子、設定、分割、書き起こし列、および宣言された言語列をチェックします。ロックはアトミック置換を通じて書き込まれ、checked_at、観測されたスキーマ情報、安定したフィンガープリントを記録します。またカタログハッシュにバインドされているため、サーバーは古いロックを拒否します。
デフォルトでは、--write はインストールされたパッケージを変更せずに現在のディレクトリに validation-lock.json を作成します。後で使用するには:
export ASM_VALIDATION_LOCK_PATH="$PWD/validation-lock.json"
african-speech-mcp可能な状態は unverified、verified、gated、unavailable、schema_mismatch、quality_blocked です。応答する識別子は、期待される設定または列が欠落している場合に verified とマークされることはありません。Afrivoice の場合、検証前に ASM_HF_TOKEN をローカルに設定してください。トークンはシリアライズもログ記録もされません。
corpus_stats は設定で厳密にフィルタリングするため、FLEURS wo_sn が他の言語を含むことはありません。別個の設定のない多言語ディストリビューションは、言語列と許容値を宣言する必要があります。サーバーがそのフィルタを保証できない場合、リクエストを拒否するか、明示的な警告を返します。
カタログとアーキテクチャ
src/african_speech_mcp/
├── audit.py # audited CSV, duration formats, deterministic aggregation
├── catalog.py # Pydantic v2 variants and invariants
├── cli.py # serve, validate, catalog-show
├── config.py # ASM_* settings
├── hf_client.py # GET only, retries, bounded concurrency
├── models.py # structured responses
├── server.py # eight MCP tools
├── validation.py # schema inspection and atomic lock files
└── data/
├── corpora.json # single canonical catalog
└── validation-lock.jsonルートレベルの2番目の corpora.json はもうありません。監査 CSV は assets/ の下で正規のままであり、Hatch はそれを決定論的にホイールに含めます。テストは CSV とカタログ間の合計と参照をチェックします。
有用な変数には ASM_CATALOG_PATH、ASM_VALIDATION_LOCK_PATH、ASM_AUDIT_LOG_PATH、ASM_HF_TOKEN、ASM_REQUEST_TIMEOUT_S、ASM_REQUEST_RETRIES、ASM_VALIDATION_CONCURRENCY があります。ランタイムログは stderr に出力され、stdout は stdio プロトコル用に予約されます。
監査またはマニフェストの貢献
新しい監査は以下を行う必要があります:
手動の TOTAL 行ではなく、ユニット行を CSV に追加する;
audit_id、observed_at、source_reference、方法、信頼度、検証基準を提供する;観測されたゼロと欠損値を区別する;
一致するバリアントから監査を参照する;
制限事項を Markdown で文書化し、整合性テストを追加する。
実際のフィルタリングを有効にするには、少なくとも以下を含むバージョン管理されたマニフェストを提供します:
audit_id,corpus_key,revision,row_id,audio_path,is_duplicate,is_empty,is_corrupt,is_wolof,transcript_quality,reason識別子は監査されたスナップショットから取得する必要があります。集計カウントから発明されてはなりません。
開発とリリース準備
python -m pip install -e ".[dev]"
ruff check src tests scripts
pytest -q
python -m buildCI は Python 3.11 と 3.12 でこれらのチェックを実行し、クリーンな環境にビルドされたホイールをインストールし、CLI と実際の MCP stdio 交換の両方をテストします。バージョン 2.0.0 は文書化された破壊的リリースです:公開ユニットは現在、より構造化された品質応答を持つ単一言語、単一タスク、単一設定のバリアントです。
ライセンス
サーバーコードは Apache-2.0 の下でライセンスされています。各コーパスは独自のライセンスを保持します。TO BE CONFIRMED または SEE DATASET ... とマークされたカタログエントリは意図的に不確実なままであり、特に商用利用の前に、一次ソースに対して確認する必要があります。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA read-only MCP connector for searching, fetching, and citing provenance-tracked legal corpora with verifiable content hashes.Apache 2.0
- AlicenseNot gradedqualityAmaintenanceA read-only MCP server that enables natural language querying of DSpace 7+ repositories via the REST API, allowing users to search, retrieve items, and analyze repository data.2MIT
- AlicenseAqualityBmaintenanceEnables automated audio restoration, transcription, and speaker diarization via MCP tools for queuing files, monitoring progress, and retrieving speaker-labeled transcripts.9MIT
- AlicenseAqualityCmaintenanceProvides read access to community-written summaries, scores, and reviews of open-source repositories via the RepoCritics corpus. Enables search and retrieval of wiki pages, reviews, metadata, and AI reports for repositories.7280MIT
Related MCP Connectors
Read-only access to the Islam West Africa Collection via Hugging Face datasets.
AI-manageable audio CDN: upload, transcode, normalize, stream & deliver audio, plus grounded docs.
Multi-engine scholarly research server for search, traversal, full text, and reading lists.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/papasega/african-speech-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server