Skip to main content
Glama
papasega

African Speech Corpora MCP

by papasega

African Speech Corpora MCP

Model Context ProtocolAnthropic が作成したオープン標準)を実装した読み取り専用サーバーで、アフリカ言語の公開音声コーパス(まず 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 audio
  • Raw:観測されたスナップショットに存在するファイル。

  • Usable:監査の定量化可能な除外基準を経て残ったファイル。

  • Transcribed:書き起こし(トランスクリプション)に関連付けられた音声。

  • Audit accepted:専門家による検証済みの素材と、監査によってのみ有効と仮定された素材の、明示的に命名された和集合。

  • Expert verifiedexpert_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=truedestructive_hint=falseidempotent_hint=true を宣言しています。

ツール

目的

list_corpora

バリアント、監査状態、推奨用途、検証状態を一覧表示します。

audit_corpus

カウント、期間、検証基準、警告、および別個の公開数値を返します。

plan_training_set

派生を二重カウントせず、デフォルトでベンチマークを含めずに計画を構築します。

filter_segments

行レベルのマニフェストが存在する場合にのみフィルタリングし、それ以外の場合は除外を約束することを拒否します。

compare_corpora

品質、ドメイン、言語純度、ライセンス、指標の新しさを比較します。

search_segments

リモートスキーマが検証されたバリアントの行を検索します。

corpus_stats

バリアントの設定のみのサイズを返し、スキーマの不一致を報告します。

cite_corpus

派生のライセンス、引用、親の引用を返します。

概念的な例:

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_onlymixed_frmixedunknown、および十分な言語純度の証拠がないバリアントを除外。

metric_sourcelatest_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

可能な状態は unverifiedverifiedgatedunavailableschema_mismatchquality_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_PATHASM_VALIDATION_LOCK_PATHASM_AUDIT_LOG_PATHASM_HF_TOKENASM_REQUEST_TIMEOUT_SASM_REQUEST_RETRIESASM_VALIDATION_CONCURRENCY があります。ランタイムログは stderr に出力され、stdout は stdio プロトコル用に予約されます。

監査またはマニフェストの貢献

新しい監査は以下を行う必要があります:

  1. 手動の TOTAL 行ではなく、ユニット行を CSV に追加する;

  2. audit_idobserved_atsource_reference、方法、信頼度、検証基準を提供する;

  3. 観測されたゼロと欠損値を区別する;

  4. 一致するバリアントから監査を参照する;

  5. 制限事項を 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 build

CI は Python 3.11 と 3.12 でこれらのチェックを実行し、クリーンな環境にビルドされたホイールをインストールし、CLI と実際の MCP stdio 交換の両方をテストします。バージョン 2.0.0 は文書化された破壊的リリースです:公開ユニットは現在、より構造化された品質応答を持つ単一言語、単一タスク、単一設定のバリアントです。

ライセンス

サーバーコードは Apache-2.0 の下でライセンスされています。各コーパスは独自のライセンスを保持します。TO BE CONFIRMED または SEE DATASET ... とマークされたカタログエントリは意図的に不確実なままであり、特に商用利用の前に、一次ソースに対して確認する必要があります。

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    B
    maintenance
    A read-only MCP connector for searching, fetching, and citing provenance-tracked legal corpora with verifiable content hashes.
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    A 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.
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables automated audio restoration, transcription, and speaker diarization via MCP tools for queuing files, monitoring progress, and retrieving speaker-labeled transcripts.
    9
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides 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.
    7
    280
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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