naija-faker-mcp
This server generates fake, culturally authentic Nigerian data (names, addresses, phones, NIN, BVN, vehicles, education, work, etc.) for testing and development.
Generate basic, geographically consistent, and detailed synthetic person records (single or in bulk).
Generate atomic Nigerian data: names, titles, emails, phone numbers, addresses, NIN, BVN, license plates, bank accounts, etc.
Generate structured records: education, work, salary, next of kin, vehicle, university, company.
Support ethnicity (Yoruba, Igbo, Hausa), gender, age ranges, and region filters.
Export batches as JSON or CSV via the
export_recordstool.Use seeds for reproducible outputs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@naija-faker-mcp Generate a fake Nigerian person with Yoruba background."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Naija Faker MCP Server
MCP server for @codegrenade/naija-faker. Let's AI assistant generates fake typical Nigerian data ranging from name, address, phone number, LGAs and states for you. It supports Yoruba, Igbo, and Hausa ethnic groups with culturally authentic data.
NB: You can invoke the server in any AI assistant that supports MCP.
Quick Start
Add to your Claude Desktop config at:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"naija-faker-mcp": {
"command": "npx",
"args": ["-y", "@codegrenade/naija-faker-mcp@latest"]
}
}
}PS: You can also use the inspector to debug the server. See the development section for more information.
Related MCP server: Mono Banking MCP Server
Available tools
Tool | Description |
generate_person | Generate one basic composite person record with identity and contact fields: title, name, email, phone, and address. Use atomic tools for individual attributes. |
generate_address | Generate a fake Nigerian address. Accepts an optional region (east, west, north, south). |
generate_phone_number | Generate a fake Nigerian phone number. |
generate_lgas | Generate fake Nigerian LGAs. |
generate_states | Generate fake Nigerian states. |
generate_email | Generate a fake Nigerian email. |
generate_nin | Generate a fake Nigerian NIN. |
generate_bvn | Generate a fake Nigerian BVN. |
generate_license_plate | Generate a fake Nigerian license plate. |
generate_people | Generate an array of basic composite person records. Defaults to 10 records. |
generate_title | Generate a fake Nigerian title. |
generate_name | Generate a fake Nigerian name. |
generate_vehicle_record | Generate a fake Nigerian vehicle record. |
generate_company | Generate a fake Nigerian company. |
generate_university | Generate a fake Nigerian university |
generate_education_record | Generate a fake Nigerian education record. Accepts an optional age; returns null when the person is too young to have finished a qualification. |
generate_work_record | Generate a fake Nigerian work record. Accepts an optional age and graduation year, so employment starts after the degree. |
generate_detailed_person | Generate one detailed composite record containing a consistent person plus date of birth, marital, health, financial, kin, education, work, and vehicle fields. Accepts optional minAge and maxAge (defaults to 22-65). |
generate_detailed_people | Generate an array of detailed composite person records. Defaults to 1 record. Accepts optional minAge and maxAge. |
generate_date_of_birth | Generate a fake date of birth |
generate_marital_status | Generate a fake marital status. Accepts an optional age to rule out implausible statuses. |
generate_blood_group | Generate a fake blood group |
generate_genotype | Generate a fake genotype |
generate_salary | Generate a fake salary |
generate_next_of_kin | Generate a fake Nigerian next of kin |
generate_bank_account | Generate a fake Nigerian bank account |
generate_consistent_person | Generate one basic composite person record plus geographically coherent state, LGA, language, and region fields. |
generate_consistent_people | Generate an array of geographically consistent composite person records. Defaults to 10 records. |
export_records | Generate a batch of person records as a single JSON or CSV payload. Use instead of repeated calls when producing a dataset or fixture file. |
Person tools also accept an optional seed for reproducible output — the same seed returns the same record. Seeding is scoped to the single call and reset afterwards.
Development
Clone Repository
git clone https://github.com/kodegrenade/naija-faker-mcp.gitNavigate to the project directory
cd naija-faker-mcpInstall dependencies
npm installRun the server
npm run devDebug with inspector
npx @modelcontextprotocol/inspector npm run devLicense
MIT
Available Tools
29 toolsexport_recordsExport records in bulkARead-only
Generates a batch of synthetic person records as a single JSON or CSV payload. Use this instead of repeated single-record calls when producing a dataset or fixture file. Nested fields are flattened in CSV.
Inputs: seed, type, count, format. Returns: value
generate_addressGenerate a fake addressARead-only
Generates a synthetic Nigerian address. Pass a region to place it in that part of the country.
Inputs: region. Returns: value
generate_bank_accountGenerate a bank accountARead-only
Generates a synthetic bank account for test data.
Inputs: bankName. Returns: value
generate_blood_groupGenerate blood groupARead-only
Generates a synthetic blood group.
Inputs: no named parameters. Returns: value
generate_bvnGenerate a fake BVNARead-only
Generates a synthetic BVN for test data only.
Inputs: no named parameters. Returns: value
generate_companyGenerate a companyARead-only
Generates a synthetic Nigerian company record.
Inputs: no named parameters. Returns: value
generate_consistent_peopleGenerate geographically consistent peopleARead-only
Generates an array of synthetic people with geographically coherent identity, address, state, and LGA fields. Accepts an optional positive count and returns 10 records by default.
Inputs: seed, count, gender, language. Returns: items
generate_consistent_personGenerate a geographically consistent personARead-only
Generates one synthetic person whose identity, address, state, and LGA are geographically coherent. The title is filtered to match the ethnic group. Also returns the language and region the record was drawn from. Accepts optional language and gender.
Inputs: seed, gender, language. Returns: lga, email, phone, state, +7 more
generate_date_of_birthGenerate a date of birthBRead-only
Generates a synthetic date of birth and age.
Inputs: maxAge, minAge. Returns: value
generate_detailed_peopleGenerate detailed peopleARead-only
Generates an array of synthetic detailed people. Each record includes geographically consistent identity data plus health, financial, kin, education, work, and vehicle records. Returns one record by default. Defaults to ages 22-65; widen the range with minAge and maxAge.
Inputs: seed, count, gender, maxAge, +2 more. Returns: items
generate_detailed_personGenerate a detailed personARead-only
Generates one synthetic detailed person, including geographically consistent identity data plus health, financial, kin, education, work, and vehicle records. Every field is derived from one identity, so graduation follows birth and employment follows graduation. Defaults to ages 22-65; widen the range with minAge and maxAge, and education is null for anyone too young to have finished a qualification.
Inputs: seed, gender, maxAge, minAge, +1 more. Returns: lga, work, email, phone, +16 more
generate_education_recordGenerate an education recordARead-only
Generates a synthetic education record. Pass an age and the degree is one the person lived long enough to earn, with a course that fits the degree's discipline. Returns null when the age is too young to have finished a qualification.
Inputs: age, language. Returns: value
generate_emailGenerate a fake emailBRead-only
Generates a synthetic email address.
Inputs: name. Returns: value
generate_genotypeGenerate genotypeARead-only
Generates a synthetic genotype.
Inputs: no named parameters. Returns: value
generate_lgasGenerate Nigerian LGAsARead-only
Returns the available Nigerian LGAs.
Inputs: no named parameters. Returns: value
generate_license_plateGenerate a license plateCRead-only
Generates a synthetic Nigerian license plate.
Inputs: state. Returns: value
generate_marital_statusGenerate marital statusARead-only
Generates a synthetic marital status. Pass an age to rule out statuses implausible for it.
Inputs: age. Returns: value
generate_nameGenerate a fake nameBRead-only
Generates a synthetic Nigerian name.
Inputs: gender, language. Returns: value
generate_next_of_kinGenerate next of kinBRead-only
Generates a synthetic next-of-kin record.
Inputs: gender, language. Returns: value
generate_ninGenerate a fake NINARead-only
Generates a synthetic NIN for test data only.
Inputs: no named parameters. Returns: value
generate_peopleGenerate fake peopleARead-only
Generates an array of basic composite synthetic person records. Accepts an optional positive count and returns 10 records by default.
Inputs: seed, count. Returns: items
generate_personGenerate a fake personARead-only
Generates one basic composite person record with identity and contact fields. Use atomic tools when you need only one attribute. Accepts optional language (hausa, igbo, or yoruba) and gender (male or female). Returns one synthetic object.
Inputs: seed, gender, language. Returns: email, phone, title, address, +3 more
generate_phone_numberGenerate a fake phone numberBRead-only
Generates a synthetic Nigerian phone number.
Inputs: network. Returns: value
generate_salaryGenerate a salary recordBRead-only
Generates a synthetic salary record.
Inputs: level. Returns: value
generate_statesGenerate Nigerian statesARead-only
Returns the available Nigerian states.
Inputs: no named parameters. Returns: value
generate_titleGenerate a fake titleBRead-only
Generates a synthetic Nigerian title.
Inputs: gender. Returns: value
generate_universityGenerate a universityARead-only
Generates a synthetic Nigerian university record.
Inputs: no named parameters. Returns: value
generate_vehicle_recordGenerate a vehicle recordBRead-only
Generates a synthetic Nigerian vehicle record.
Inputs: state. Returns: value
generate_work_recordGenerate a work recordARead-only
Generates a synthetic work record. Pass an age and graduation year and the job starts after the degree, with seniority, position, and salary band following years of experience.
Inputs: age, graduationYear. Returns: value
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 29 tools
Tools like generate_person, generate_consistent_person, and generate_detailed_person have overlapping purposes (all generate a person), though descriptions clarify differences (basic, coherent, detailed). Similarly, generate_people, generate_consistent_people, and generate_detailed_people are distinguishable by their descriptions, but the overlap could cause confusion when selecting the right tool. generate_states and generate_lgas are clearly distinct, but the line between generate_people and generate_consistent_people might be ambiguous.
The vast majority of tools follow a consistent 'generate_' prefix pattern, with some 'export_records' as an exception. The naming is very predictable: generate_<entity> or generate_<attribute>. The only outlier is export_records, which breaks the pattern but is still clear. Minor deviations include the lack of a consistent verb for retrieval (generate vs export), but overall the pattern is strong.
With 29 tools, the server is on the heavier side, but the scope (synthetic Nigerian data generation) justifies many atomic generators for various attributes. However, the presence of both single and plural versions (person/people) and multiple levels of person generation (basic, consistent, detailed) adds redundancy, making the count feel slightly excessive. It borders on 'too many' but remains within a usable range for a specialized data generation server.
The server covers a wide range of data types: identity (name, email, phone, BVN, NIN), demographics (gender, age, marital status), health (blood group, genotype), education, work, address, vehicle, company, and more. It also provides composite generators for full records. Missing operations include updating or deleting records, but for a synthetic data generator, creation is the core function. The set seems complete for its purpose of generating various synthetic records, with minor gaps like no explicit generator for a 'next of kin' with full details (only as part of detailed person).
Maintenance
Related MCP Connectors
Nigerian phone, bank-account and identity-number validation for AI agents. Pay-per-call in USDC.
Generate fictional names and sample identity profiles for prototypes, QA, demos, and creative work.
Open-source API specs for African providers (payments, SMS, KYC, delivery) for AI agents.
Generate synthetic random user data for testing, demos, and development without using real persona.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceNigeria's AI infrastructure server that provides business automation agents including WhatsApp automation, university support, travel management, and legal document processing. Integrates payment processing, text-to-speech capabilities, and webhook handling for Nigerian businesses.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform Nigerian banking operations including account management, payments, and identity verification through the Mono Open Banking API.59MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to generate realistic, synthetic test data on demand, including valid PESELs, NIPs, addresses, and more across 27 EU countries, through two tools: list_generators and generate.283 npmMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to buy airtime and data, check wallet balance, list data plans, and view transactions for Nigerian mobile networks via an Azabill account.651 npmMIT