Skip to main content
Glama
README.md
# Naija Faker MCP Server

MCP server for [@codegrenade/naija-faker](https://www.npmjs.com/package/@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.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`

```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.

## 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
```bash
git clone https://github.com/kodegrenade/naija-faker-mcp.git
```

Navigate to the project directory
```bash
cd naija-faker-mcp
```

Install dependencies
```bash
npm install
```

Run the server
```bash
npm run dev
```

Debug with inspector
```bash
npx @modelcontextprotocol/inspector npm run dev
```

## License

MIT

TDQS

B3.4/5.0

Scored across 29 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count3/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues