ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

African Speech Corpora Quality Audit

โดย papasegaรุ่น 2.0.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.papasega/african-speech-corpora

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Read-only, provenance-aware selection of Wolof speech corpora by measured quality.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ออกแบบ ภาพ และเสียง
  • ต้องใส่ค่าเหล่านี้: ASM_HF_TOKEN

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "african-speech-corpora": {
      "command": "uvx",
      "args": [
        "african-speech-mcp"
      ],
      "env": {
        "ASM_CATALOG_PATH": "ใส่ค่าของคุณ",
        "ASM_AUDIT_LOG_PATH": "ใส่ค่าของคุณ",
        "ASM_HF_TOKEN": "ใส่ค่าของคุณ",
        "ASM_VALIDATION_LOCK_PATH": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add african-speech-corpora --env ASM_CATALOG_PATH='ใส่ค่าของคุณ' --env ASM_AUDIT_LOG_PATH='ใส่ค่าของคุณ' --env ASM_HF_TOKEN='ใส่ค่าของคุณ' --env ASM_VALIDATION_LOCK_PATH='ใส่ค่าของคุณ' -- uvx african-speech-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "african-speech-corpora": {
      "command": "uvx",
      "args": [
        "african-speech-mcp"
      ],
      "env": {
        "ASM_CATALOG_PATH": "ใส่ค่าของคุณ",
        "ASM_AUDIT_LOG_PATH": "ใส่ค่าของคุณ",
        "ASM_HF_TOKEN": "ใส่ค่าของคุณ",
        "ASM_VALIDATION_LOCK_PATH": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "african-speech-corpora": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "african-speech-mcp"
      ],
      "env": {
        "ASM_CATALOG_PATH": "ใส่ค่าของคุณ",
        "ASM_AUDIT_LOG_PATH": "ใส่ค่าของคุณ",
        "ASM_HF_TOKEN": "ใส่ค่าของคุณ",
        "ASM_VALIDATION_LOCK_PATH": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • ASM_CATALOG_PATH env
    Optional path to a custom corpus catalog JSON file.
  • ASM_AUDIT_LOG_PATH env
    Optional path receiving one JSON audit line per tool call.
  • ASM_HF_TOKEN ความลับ env
    Optional Hugging Face token, only needed for gated datasets.
  • ASM_VALIDATION_LOCK_PATH env
    Optional path to a local schema-validation lock bound to the catalog hash.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub papasega ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ออกแบบ ภาพ และเสียงi

  • ดาวมากกว่า 0% ของอีก 2805 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 26% ของอีก 2805 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 2805 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

African Speech Corpora Quality Audit ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: ASM_HF_TOKEN

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.0.0) เข้า registry 2 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Figma Context MCP, Claude Real Video, Figma MCP Server

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Figma Context MCP

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

โดย GLipsใช้กันมาก↓ 161.2K/สัปดาห์★ 16.2Kอัปเดต 5 เดือนที่ผ่านมา

รันบนเครื่อง

Claude Real Video

Let any LLM watch a video locally — and search everything it has ever watched.

โดย HUANGCHIHHUNGLeoใช้กันมาก↓ 1.1K/สัปดาห์★ 2.3Kอัปเดต 2 เดือนที่ผ่านมา

รันบนเครื่อง

Figma MCP Server

server ทางการของ Figma ส่งข้อมูลงานออกแบบให้ AI อ่าน เพื่อเปลี่ยนแบบเป็นโค้ดหรืออธิบายแบบได้ตรงขึ้น ต่อผ่านคลาวด์ของ Figma

โดย figmaใช้กันมาก★ 2.2Kอัปเดต 13 เดือนที่ผ่านมา

รันบนคลาวด์✓ mcp.figma.com

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

African Speech Corpora MCP

A read-only server implementing the Model Context Protocol, an open standard created by Anthropic, over public speech corpora for African languages: Wolof first, plus Pulaar and Sereer.

The project is Wolof-first. The 2.0 catalog contains 14 variants: 11 variants of original sources and 3 derivatives. Pulaar (ful) and Sereer (srr) are represented only by Kallaama variants without local metrics; the project does not claim Swahili or Amharic coverage. The bundled validation lock, generated on August 26, 2026, makes 6 Hugging Face variants queryable. A later validation run may naturally produce a different state.

Version 2.0.0 is distributed on PyPI and published as io.github.papasega/african-speech-corpora in the official MCP Registry.

The server does not train models, download complete corpora, or write to Hugging Face, OpenSLR, Kaggle, GitHub, or any other remote source.

What the server measures

The quality pipeline keeps the following stages separate:

raw audio → usable audio → transcribed audio → audit-accepted audio → expert-verified audio
  • Raw: a file present in the observed snapshot.
  • Usable: a file remaining after the audit's quantifiable exclusions.
  • Transcribed: audio associated with a transcription.
  • Audit accepted: an explicitly named union of expert-verified material and material only assumed valid by the audit.
  • Expert verified: only expert_audited or source_reported_expert. An “a priori” assessment never enters this level.

Seconds are the canonical duration representation. Decimal hours and HH:MM:SS strings are derived at serialization time. Every audited metric states its scope, source, method, observation date, and confidence. A missing value remains null; it is never converted to zero. Figures published by a project remain under published_metrics, separate from local observations.

2026 Wolof snapshot

The machine-readable source is assets/wolof-audit-2026.csv. The protocol, limitations, and discrepancies with the source table's TOTAL cells are documented in assets/wolof-audit-2026.md.

Seven Wolof variants have a local observation: ALFFA, FLEURS wo_sn, Kallaama Wolof, Urban Bus, Waxal crowdsource, Wolof TTS Baamtu, and WolBanking77. Totals are recomputed from these seven rows and are never stored as a redundant manual total: 148,102 usable files, 64,609 transcribed files, 50,494 audit-accepted files, 2,329,382.06 seconds of audio, 515,185.06 transcribed seconds, and 302,048.06 audit-accepted seconds.

Important limitations:

  • the FLEURS, Urban Bus, Waxal, Wolof TTS, and WolBanking77 observations described as “a priori” are audit_assumed_valid, not expert verified;
  • ALFFA explicitly has zero expert-verified files in this snapshot;
  • the 153 Kallaama files are long radio or interview recordings, not 153 speech turns; 36 files and 12:49:36 are attributed to the local protocol's source_reported_expert basis;
  • Urban Bus contains substantial French content without a quantified rate and therefore has language_purity=mixed_fr;
  • Waxal separates 517:38:05 of raw audio, usable notably for SSL, from only 13:41:28 transcribed for supervised ASR;
  • the local Wolof TTS Baamtu snapshot—36,009 files and 37:04:49—is distinct from the rounded public metric, and this TTS corpus is excluded from ASR by default;
  • WolBanking77 distinguishes 2,563 observed audio files from the 9,791 text phrases reported elsewhere;
  • Afrivoice publishes 530.74 hours of Wolof audio, including 102.96 transcribed hours. These are source-published figures, not measurements from the 2026 local audit and not evidence of expert verification. The dataset is auto-gated on Hugging Face, so its files, schema, splits, and durations cannot be independently checked without accepting its access conditions and supplying a token; it therefore remains audit_status=pending;
  • because the exact source observation date is unavailable, observed_at=2026 intentionally has year-only precision.

Installation

The package requires Python 3.11 or newer. Python 3.12 is recommended and is selected explicitly below so that the virtual environment does not accidentally inherit an older system interpreter such as Python 3.9:

Install the published release from PyPI:

python3.12 --version

python3.12 -m venv .venv source .venv/bin/activate python --version python -m pip install "african-speech-mcp==2.0.0"

For development, install an editable checkout with the development dependencies:

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 ".[dev]"

Both version commands should report Python 3.12.x. Creating the environment with python -m venv .venv is safe only when that python executable is already Python 3.11 or newer. If installation fails with an error such as:

ERROR: Package 'african-speech-mcp' requires a different Python: 3.9.6 not in '>=3.11'

then the virtual environment was created with Python 3.9.6. Deactivate it, remove or rename that local .venv, install Python 3.12 if necessary, and recreate the environment with python3.12 -m venv .venv. A virtual environment keeps the interpreter with which it was created; activating it does not upgrade Python.

The stdio server starts with no arguments:

african-speech-mcp

It can also be started explicitly:

african-speech-mcp serve --transport stdio

african-speech-mcp serve --transport streamable-http

Example Claude Desktop configuration after installing the package, preferably using an absolute path:

{

"mcpServers": { "african-speech-corpora": { "command": "/absolute/path/to/.venv/bin/african-speech-mcp" } } }

Version 2.0.0 is published on PyPI and can be installed with pip. The repository installation remains the appropriate choice for development or unreleased changes.

MCP tools

All eight tools declare read_only_hint=true, destructive_hint=false, and idempotent_hint=true.

ToolPurpose
list_corporaList variants, audit state, recommended use, and validation state.
audit_corpusReturn counts, durations, verification basis, warnings, and separate published figures.
plan_training_setBuild a plan without double-counting derivatives or including benchmarks by default.
filter_segmentsFilter only when a row-level manifest exists; otherwise refuse to promise exclusions.
compare_corporaCompare quality, domain, language purity, license, and metric freshness.
search_segmentsSearch rows in a variant whose remote schema has been validated.
corpus_statsReturn sizes for the variant's config only and report schema discrepancies.
cite_corpusReturn the license, citation, and parent citations for a derivative.

Conceptual examples:

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, )

The last call currently returns filter_available=false. Aggregate totals establish that Waxal contains 430 duplicates and 22 corrupt or non-Wolof files, but they provide no row identifiers. The server therefore refuses to pretend that it removed those rows.

plan_training_set semantics

quality accepts:

  • any: select by task and license without requiring transcription;
  • transcribed: use actually transcribed duration;
  • audit_accepted: include expert and assumed-valid material, with a visible breakdown and warning;
  • expert_verified: use only genuinely expert verification bases;
  • wolof_only: exclude mixed_fr, mixed, unknown, and variants without sufficient language-purity evidence.

metric_source is either latest_audit (the default) or published. Variants without a known duration remain listed in hours_unknown_for. FLEURS is a benchmark and stays out of training unless include_benchmarks=true. Urban Bus requires include_mixed_language=true. TTS variants stay out of ASR unless explicitly enabled, and derivatives are never added to their parents. Unknown, non-commercial, share-alike, or unconfirmed licenses produce appropriate warnings; commercial_use=null is never presented as commercially compatible.

Persistent Hugging Face validation

african-speech-mcp validate

african-speech-mcp validate --write african-speech-mcp validate --output validation-lock.json

Validation checks the dataset identifier, config, splits, transcription column, and any declared language column. The lock is written through atomic replacement and records checked_at, observed schema information, and a stable fingerprint. It is also bound to the catalog hash, so the server rejects a stale lock.

By default, --write creates validation-lock.json in the current directory without modifying the installed package. To use it afterward:

export ASM_VALIDATION_LOCK_PATH="$PWD/validation-lock.json"

african-speech-mcp

Possible states are unverified, verified, gated, unavailable, schema_mismatch, and quality_blocked. A responding identifier is never marked verified when the expected config or column is missing. For Afrivoice, set ASM_HF_TOKEN locally before validation; the token is neither serialized nor logged.

corpus_stats filters strictly by config, so FLEURS wo_sn never includes another language. A multilingual distribution without a separate config must declare a language column and accepted values. When the server cannot guarantee that filter, it refuses the request or returns an explicit warning.

Catalog and architecture

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

There is no longer a second root-level corpora.json. The audit CSV remains canonical under assets/, and Hatch includes it deterministically in the wheel. Tests check totals and references between the CSV and catalog.

Useful variables include ASM_CATALOG_PATH, ASM_VALIDATION_LOCK_PATH, ASM_AUDIT_LOG_PATH, ASM_HF_TOKEN, ASM_REQUEST_TIMEOUT_S, ASM_REQUEST_RETRIES, and ASM_VALIDATION_CONCURRENCY. Runtime logs go to stderr so that stdout remains reserved for the stdio protocol.

Contributing an audit or manifest

A new audit must:

  1. add unit rows to the CSV, never a manual TOTAL row;
  2. provide audit_id, observed_at, source_reference, method, confidence, and verification basis;
  3. distinguish an observed zero from a missing value;
  4. reference

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx