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.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"nigeria-admin-divisions": {
"command": "npx",
"args": [
"-y",
"@braynexservices/nigeria-mcp-admin-divisions"
]
}
}
}在终端中运行这条命令
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"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"nigeria-admin-divisions": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@braynexservices/nigeria-mcp-admin-divisions"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 Braynexservices 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.1)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Tethered Trust
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
按原文从作者的仓库复制。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.