Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Nigeria's 36 states + FCT and 774 LGAs — list states, get LGAs. Fully offline, no key.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"nigeria-admin-divisions": {
"command": "npx",
"args": [
"-y",
"@braynexservices/nigeria-mcp-admin-divisions"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add nigeria-admin-divisions -- npx -y @braynexservices/nigeria-mcp-admin-divisionsวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"nigeria-admin-divisions": {
"command": "npx",
"args": [
"-y",
"@braynexservices/nigeria-mcp-admin-divisions"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"nigeria-admin-divisions": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@braynexservices/nigeria-mcp-admin-divisions"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Braynexservices ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.1) เข้า registry 4 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Asset Notation
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read and maintain an Asset Notation file on disk: net worth, holdings, valuations, CSV import.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A [Wycord](https://wycord.com) product, built by Braynex Services Ltd. Author: Samuel Orie. License: MIT.
Clean, normalized Nigerian business & local data exposed to AI agents (Claude, Cursor, custom agents) as MCP tools — one server per data source, each behind a typed provider seam.
Status: 12 servers LIVE on npm and on the official MCP Registry. Every server returns live data by default — no env var to set. 10 are keyless; Bank Resolve and Electricity Meter use live data once their free key is set. Without a key they serve built-in sample data, and every such result is labelled `[MOCK DATA]` so it cannot be mistaken for a real figure. (admin-divisions runs fully offline on a bundled dataset — it has no live data source.)
| Server | npm | Tools | Live source | Key? |
|---|---|---|---|---|
| Trade Intel | @wycord/nigeria-mcp-trade-intel | get_trade_stats · classify_hs | UN Comtrade | none |
| FX Rates | @wycord/nigeria-mcp-fx-rates | get_fx_rates | open.er-api.com | none |
| Bank Resolve | @wycord/nigeria-mcp-bank-account | resolve_bank_account · list_banks | Paystack | free key |
| Electricity Meter | @wycord/nigeria-mcp-electricity | validate_meter · list_discos | VTpass (read-only) | free key |
| Admin Boundaries | @wycord/nigeria-mcp-grid3-boundaries | get_boundary · point_in_admin | GRID3 ArcGIS (CC BY 4.0) | none |
| Admin Divisions | @wycord/nigeria-mcp-admin-divisions | list_states · get_lgas | Bundled dataset (offline) | none |
| Health Facilities | @wycord/nigeria-mcp-health-facility | find_facilities_near · get_facility | GRID3 NGA Health Facilities v2.0 (CC BY 4.0) | none |
| World Bank Macro | @wycord/nigeria-mcp-worldbank-macro | get_macro_indicator | World Bank Indicators API | none |
| IMF WEO | @wycord/nigeria-mcp-imf-weo | get_imf_projection | IMF DataMapper API | none |
| UN SDG | @wycord/nigeria-mcp-un-sdg | get_sdg_indicator | UN SDG Global Database | none |
| Crypto Tickers | @wycord/nigeria-mcp-quidax-crypto | get_crypto_ticker · list_crypto_markets | Quidax (read-only) | none |
| Sanctions Screening | @wycord/nigeria-mcp-nigsac-sanctions | screen_sanctions | NIGSAC register | none |
Each server's README has full tool docs, examples and a copy-paste config: see lanes/ /README.md. Real-world applications: [USE_CASES.md](USE_CASES.md).
Download a bundle from the latest release and double-click it. No terminal, no clone — the bundle carries everything it needs, and the keyed servers prompt you for the free API key during install (leave it blank and they serve labelled sample data).
No clone needed (Node.js ≥ 20). Add to your MCP config:
{
"mcpServers": { "nigeria-trade-intel": { "command": "npx", "args": ["-y", "@wycord/nigeria-mcp-trade-intel"] // live data, no key, no env }, "nigeria-fx-rates": { "command": "npx", "args": ["-y", "@wycord/nigeria-mcp-fx-rates"] // live data, no key, no env } } }
Then ask: *"What were Nigeria's top crude-oil export partners in 2023?"* or *"What's the dollar to naira rate right now?"*
The keyed servers take their credentials the same way — see lanes/bank-account/README.md (free Paystack key) and lanes/electricity/README.md (free VTpass keys). Without a key these two servers serve built-in sample data, and every result then starts with a [MOCK DATA: ...] text block and carries _meta.dataSource = "mock". To force sample data on any server (for tests or offline work), set its provider variable to mock, for example FX_PROVIDER=mock.
No .env file is read. Set a variable in your MCP client's env block (or the shell) only when you need to change a default. Every server works with none of them set; the two keyed servers then serve labelled sample data.
| Variable | Server | Default | What it does |
|---|---|---|---|
FX_PROVIDER | FX Rates | free | free = live; mock = labelled sample data |
TRADE_PROVIDER | Trade Intel | opendata | opendata = live UN Comtrade; mock = labelled sample data |
BOUNDARY_PROVIDER | Admin Boundaries | grid3 | grid3 = live; mock = labelled sample data |
HEALTH_PROVIDER | Health Facilities | grid3 | grid3 = live; mock = labelled sample data |
MACRO_PROVIDER | World Bank Macro | worldbank | worldbank = live; mock = labelled sample data |
IMF_PROVIDER | IMF WEO | imf | imf = live; mock = labelled sample data |
SDG_PROVIDER | UN SDG | unsdg | unsdg = live; mock = labelled sample data |
CRYPTO_PROVIDER | Crypto Tickers | quidax | quidax = live; mock = labelled sample data |
SANCTIONS_PROVIDER | Sanctions Screening | nigsac | nigsac = live register; mock = labelled synthetic stub |
ADMIN_DIVISIONS_PROVIDER | Admin Divisions | static | The only value. Bundled dataset, no network |
BANK_PROVIDER | Bank Resolve | paystack if the key is set, else mock | mock forces labelled sample data |
PAYSTACK_SECRET_KEY | Bank Resolve | unset | Paystack secret key (free). Enables live data |
ELECTRICITY_PROVIDER | Electricity Meter | vtpass if all three keys are set, else mock | mock forces labelled sample data |
VTPASS_API_KEY, VTPASS_PUBLIC_KEY, VTPASS_SECRET_KEY | Electricity Meter | unset | VTpass keys (free). All three enable live data |
VTPASS_BASE_URL | Electricity Meter | https://sandbox.vtpass.com/api | https://vtpass.com/api for production |
GRID3_STATE_URL, GRID3_LGA_URL, GRID3_WARD_URL | Admin Boundaries | GRID3 layers | Override a layer URL |
GRID3_HEALTH_URL | Health Facilities | GRID3 layer | Override the layer query URL |
UN_SDG_BASE_URL | UN SDG | https://unstats.un.org/sdgapi | Override the API base URL |
NIGSAC_LIST_URL | Sanctions Screening | https://nigsac.gov.ng/IndSancList | Override the list URL |
Mock results are never silent: every tool result starts with a [MOCK DATA: ...] text block and carries _meta.dataSource = "mock", and the server prints a warning on stderr at start.
Outbound hosts. Every request goes over https to a host the server declares. A URL override (the *_URL variables) that points at any other host is refused before a request is made.
| Server | Hosts |
|---|---|
| FX Rates | open.er-api.com |
| Trade Intel | comtradeapi.un.org |
| Bank Resolve | api.paystack.co |
| Electricity Meter | vtpass.com, sandbox.vtpass.com |
| Admin Boundaries, Health Facilities | services3.arcgis.com |
| World Bank Macro | api.worldbank.org |
| IMF WEO | www.imf.org |
| UN SDG | unstats.un.org |
| Crypto Tickers | app.quidax.io |
| Sanctions Screening | nigsac.gov.ng |
| Admin Divisions | none (offline) |
io.github.wycord/nigeria-{trade-intel,fx-rates,bank-resolve,electricity,grid3-boundaries,admin-divisions,health-facility,worldbank-macro,imf-weo,un-sdg,quidax-crypto,nigsac-sanctions}npm install
npm run build # core first, then each server (npm workspaces) npm run verify # build + smokes + cross-server eval — runs on the mock providers, so no network and no signup
| Path | What it is |
|---|---|
shared/ | Core library — buildServer, normalized Zod schemas, the typed provider seam, fetchJson (timeout + jittered retry), cache + error helpers. |
lanes/ / | One MCP server per data source — the live adapter (the default over npx), an opt-in mock provider, tools, and smoke/live tests. |
eval/ | Cross-server eval harness (npm run eval). |
Tools never call a provider directly: they depend on a typed interface, so selecting a provider is one env var and adding one is one file. Every request identifies itself with the User-Agent wycord-nigeria-mcp/ (+https://wycord.com), and each server reports its real package version in serverInfo. Identity data (account names, meter customer details) is pass-through only — never cached, never logged; API keys travel in headers, never in URLs.
Report vulnerabilities privately — see SECURITY.md. Do not open a public issue.
© 2026 Braynex Services Ltd — MIT licensed (see LICENSE + NOTICE). "Braynex Services Ltd" and the product names are trademarks of Braynex Services Ltd.