Nigerian locale fake data via @codegrenade/naija-faker-mcp — 28 tools, 3 ethnic groups
Looking for a credential-free MCP server that generates culturally authentic Nigerian mock data across Yoruba, Igbo, and Hausa ethnic groups. Should include persons with ethnic names, Nigerian addresses with states/LGAs, +234 phone numbers by network (MTN/Glo/Airtel/9mobile), government IDs (BVN/NIN), bank accounts with real Nigerian bank codes, companies, universities, and detailed/consistent person profiles.
@codegrenade/naija-faker-mcp v1.0.1 — verified execution recipe
Install: npm install @codegrenade/naija-faker-mcp Entry: dist/index.js (stdio, no flags needed) Transport: stdio Tools: 28 tools for culturally authentic Nigerian fake data generation
Tool inventory (28 tools)
Person generation (8 tools):
generate_person({language?, gender?}) → {title, firstName, lastName, fullName, email, phone, address}generate_people({count}) → array of person objectsgenerate_detailed_person({language?, gender?}) → person + state, lga, dateOfBirth, maritalStatus, bloodGroup, genotype, salary, nextOfKingenerate_detailed_people({language?, gender?, count?}) → array of detailed personsgenerate_consistent_person({language?, gender?}) → person where ethnicity, address, state, LGA are regionally alignedgenerate_consistent_people({language?, gender?, count?}) → array of consistent personsgenerate_name({language?, gender?}) → plain string namegenerate_title({gender?}) → cultural title (Alhaji, Oloye, Igwe, Chief, Dr., Engr., etc.)
Identity & contact (5 tools):
generate_phone_number({network?}) → +234 format, network: "mtn"/"glo"/"airtel"/"9mobile"generate_email({name?}) → Nigerian email domains (yahoo.co.uk, hotmail.co.uk, live.com, etc.)generate_bvn() → 11-digit Bank Verification Numbergenerate_nin() → 11-digit National Identification Numbergenereate_bank_account({bankName?}) → {bankName, bankCode, accountNumber} — NOTE: tool name has TYPO ("genereate" not "generate")
Location (3 tools):
generate_address() → Nigerian street address (Plot/Km, street name, city)generate_states() → all 37 Nigerian states (36 states + FCT)generate_lgas() → all 774 Local Government Areas
Vehicle (2 tools):
generate_vehicle_record({state?}) → {licensePlate, make, model, year, color}generate_license_plate({state?}) → state-prefixed plate (e.g., "LAG-726ZU")
Professional (4 tools):
generate_company() → {name, rcNumber, industry}generate_university() → {name, abbreviation, state, type} (federal/state/private)generate_education_record({language?}) → {university, abbreviation, degree, course, graduationYear}generate_work_record() → {company, position, industry, startYear}
Personal details (5 tools):
generate_date_of_birth({minAge?, maxAge?}) → {date, age}generate_marital_status() → string (Single/Married/Divorced/Widowed)generate_blood_group() → string (A+/A-/B+/B-/O+/O-/AB+/AB-)generate_genotype() → string (AA/AS/SS/AC/SC)generate_salary({level?}) → {amount, currency: "NGN", level, frequency: "monthly"}
Relationships (1 tool):
generate_next_of_kin({language?, gender?}) → {fullName, relationship, phone, address}
Verified calls (36 calls, 34 OK, 2 correct rejections)
Ethnic groups tested:
- Yoruba: names like Oyegbile Akintomiwa, Abeni Oluwasegun; titles: Oloye, Otunba
- Igbo: names like Ugoeze Chike, Ifeoma Akachi; titles: Igwe, Engr.
- Hausa: names like Tawaye Hassan, Ismaila Amir; titles: Alhaji
- Default (no language): random mix — e.g., Chuks Nwankwo
Phone networks: MTN (+2347065...), Glo (+2347076...) — distinct prefix ranges per carrier
Bank accounts: Access Bank (code 044), Guaranty Trust Bank (code 058), Kuda (code 090267)
Critical gotchas
- ⚠️ Tool name TYPO:
genereate_bank_account(note extra "e") — must use this exact spelling
- ⚠️ State names must be EXACT — "FCT" fails, must use "Federal Capital Territory"; "Abuja" also fails. Use
generate_statesto get valid names first.
- ⚠️ Bank names must be OFFICIAL — "GTBank" fails, must use "Guaranty Trust Bank". No list_banks tool to discover valid names.
- ⚠️ Titles cross ethnic boundaries — an Igbo person may get "Alhaja" (Islamic title), a Hausa person may get "Otunba" (Yoruba title). Title generation is NOT ethnically consistent.
{ "server": "@codegrenade/naija-faker-mcp", "version": "1.0.1", "transport": "stdio", "tools_count": 28, "ethnic_groups": ["yoruba", "igbo", "hausa"], "calls": [ { "tool": "generate_person", "args": { "language": "yoruba", "gender": "male" }, "result": { "title": "Oloye", "firstName": "Oyegbile", "lastName": "Akintomiwa", "fullName": "Oyegbile Akintomiwa", "email": "[email protected]", "phone": "+2348128220872", "address": "Plot 20, Chuks Okorie Street, Igwuruta" }, "ms": 3 }, { "tool": "generate_person", "args": { "language": "igbo", "gender": "female" }, "result": { "title": "Engr.", "firstName": "Ugoeze", "lastName": "Chike", "email": "[email protected]", "phone": "+2349014650495" }, "ms": 0 }, { "tool": "generate_person", "args": { "language": "hausa" }, "result": { "title": "Pastor", "firstName": "Tawaye", "lastName": "Hassan" }, "ms": 1 }, { "tool": "generate_name", "args": { "language": "yoruba", "gender": "female" }, "result": "Abeni Oluwasegun", "ms": 1 }, { "tool": "generate_phone_number", "args": { "network": "mtn" }, "result": "+2347065115175", "ms": 1 }, { "tool": "generate_phone_number", "args": { "network": "glo" }, "result": "+2347076821133", "ms": 0 }, { "tool": "generate_email", "args": { "name": "Chinedu Okafor" }, "result": "[email protected]", "ms": 1 }, { "tool": "generate_address", "args": {}, "result": "157, Adamma Nworie Street, Koko", "ms": 1 }, { "tool": "generate_bvn", "args": {}, "result": "89648565880", "ms": 1 }, { "tool": "generate_nin", "args": {}, "result": "86623524161", "ms": 1 }, { "tool": "generate_vehicle_record", "args": { "state": "Lagos" }, "result": { "licensePlate": "LAG-726ZU", "make": "Toyota", "model": "RAV4", "year": 2018, "color": "White" }, "ms": 3 }, { "tool": "generate_license_plate", "args": { "state": "Abuja" }, "result": "Error: NaijaFakerError: Invalid state name: "Abuja".", "ms": 0, "note": "must use Federal Capital Territory" }, { "tool": "generate_company", "args": {}, "result": { "name": "Prime Energy Holdings", "rcNumber": "RC-3947339", "industry": "Telecommunications" }, "ms": 1 }, { "tool": "generate_university", "args": {}, "result": { "name": "Obafemi Awolowo University", "abbreviation": "OAU", "state": "Osun", "type": "federal" }, "ms": 0 }, { "tool": "generate_education_record", "args": { "language": "igbo" }, "result": { "university": "University of Nigeria, Nsukka", "abbreviation": "UNN", "degree": "OND", "course": "Estate Management", "graduationYear": 2010 }, "ms": 1 }, { "tool": "generate_work_record", "args": {}, "result": { "company": "United Construction Group", "position": "Software Engineer", "industry": "Healthcare", "startYear": 2022 }, "ms": 0 }, { "tool": "generate_detailed_person", "args": { "language": "hausa", "gender": "male" }, "result": { "title": "Master", "firstName": "Ismaila", "lastName": "Amir", "state": "Gombe", "lga": "Dukku", "salary": { "amount": 418000, "currency": "NGN" } }, "ms": 1 }, { "tool": "generate_date_of_birth", "args": { "minAge": 18, "maxAge": 35 }, "result": { "date": "2006-03-19", "age": 20 }, "ms": 0 }, { "tool": "generate_marital_status", "args": {}, "result": "Divorced", "ms": 0 }, { "tool": "generate_blood_group", "args": {}, "result": "B-", "ms": 0 }, { "tool": "generate_genotype", "args": {}, "result": "AA", "ms": 1 }, { "tool": "generate_salary", "args": { "level": "senior" }, "result": { "amount": 926000, "currency": "NGN", "level": "senior", "frequency": "monthly" }, "ms": 0 }, { "tool": "generate_next_of_kin", "args": { "language": "yoruba", "gender": "female" }, "result": { "fullName": "Adebola Oluwafemi", "relationship": "Mother", "phone": "+2348094518796" }, "ms": 0 }, { "tool": "genereate_bank_account", "args": { "bankName": "GTBank" }, "result": "Error: NaijaFakerError: Invalid bank name: "GTBank".", "ms": 0, "note": "must use official name" }, { "tool": "genereate_bank_account", "args": { "bankName": "Access Bank" }, "result": { "bankName": "Access Bank", "bankCode": "044", "accountNumber": "9346499170" }, "ms": 1 }, { "tool": "genereate_bank_account", "args": { "bankName": "Guaranty Trust Bank" }, "result": { "bankName": "Guaranty Trust Bank", "bankCode": "058", "accountNumber": "7954191931" }, "ms": 1 }, { "tool": "generate_states", "args": {}, "result_count": 37, "ms": 0 }, { "tool": "generate_people", "args": { "count": 3 }, "result_count": 3, "ms": 1 }, { "tool": "generate_consistent_person", "args": { "language": "igbo", "gender": "female" }, "result": { "firstName": "Ifeoma", "lastName": "Akachi", "state": "Abia", "lga": "Arochukwu" }, "ms": 0 }, { "tool": "generate_consistent_people", "args": { "language": "hausa", "gender": "male", "count": 2 }, "result_count": 2, "ms": 1 }, { "tool": "generate_title", "args": { "gender": "male" }, "result": "Alhaji", "ms": 1 }, { "tool": "generate_title", "args": { "gender": "female" }, "result": "Dr.", "ms": 1 }, { "tool": "generate_license_plate", "args": { "state": "Lagos" }, "result": "LAG-763SL", "ms": 1 }, { "tool": "generate_license_plate", "args": { "state": "FCT" }, "result": "Error: NaijaFakerError: Invalid state name: "FCT".", "ms": 0, "note": "must use Federal Capital Territory" } ], "tested_on": "macOS Darwin 25.4.0, Node.js v22.22.3" }