# FastCAC (remote · api.fastcac.com)

Register a Nigerian business with CAC: name checks, fees, register search, TIN. Sign in when needed.

- Trust score: 63/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

> **Recent critical change**: Authorization (2026-11-04). See the changelog below before you install this server.

## Components

- remote · `api.fastcac.com`: 63/100 (this document), [markdown](https://verifymcp.io/servers/com-fastcac-cac/api.md), [page](https://verifymcp.io/servers/com-fastcac-cac/api)

## Channel facts

- Endpoint: `https://api.fastcac.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (create_share_link).
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 4027 tokens (~85/item across 47 items; 47 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 7/100
  - Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 83/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 42% of tool parameters carry a description.
  - Structured output schemas are declared (23% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 48 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the FastCAC MCP server?

FastCAC is a hosted endpoint at https://api.fastcac.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-fastcac-cac 'https://api.fastcac.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-fastcac-cac": {
      "url": "https://api.fastcac.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-fastcac-cac": {
      "type": "http",
      "url": "https://api.fastcac.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-fastcac-cac]
url = "https://api.fastcac.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-fastcac-cac": {
      "type": "remote",
      "url": "https://api.fastcac.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-fastcac-cac --url 'https://api.fastcac.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-fastcac-cac:
    url: "https://api.fastcac.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-fastcac-cac": {
      "Transport": "http",
      "Url": "https://api.fastcac.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-fastcac-cac -t streamable-http -u 'https://api.fastcac.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-fastcac-cac": {
      "type": "http",
      "url": "https://api.fastcac.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 63, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “check_business_name_compliance” rewrote its description, which is the text the model reads
- [security] Tool “check_name_availability” rewrote its description, which is the text the model reads
- [security] Tool “search_cac_register” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 69 → 85
- [functional improvement] Tool coverage: 30% → 42%
- [functional] New tool “search_knowledge_base”
- [cosmetic] “check_business_name_compliance” added an optional parameter “name_type”
- [cosmetic] “generate_business_names” added an optional parameter “name_type”
- [cosmetic] “check_business_name_compliance” reworded the description of “line_of_business”

### 2026-11-04 (score 62, −8)

- [critical regression] Authorization: partial → fail
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] New tool “create_share_link”, which the server declares destructive
- [security] New tool “delete_business”, which the server declares destructive
- [security] New tool “remove_whatsapp”, which the server declares destructive
- [security] New tool “revoke_share_link”, which the server declares destructive
- [security] New tool “update_registration_fields”, which the server declares destructive
- [functional regression] Tool coverage: 81% → 30%
- [functional regression] Tool coverage: 100% → 22%
- [functional improvement] Stability: unverified → 0.03
- [functional improvement] Schema quality: fail → pass
- [functional] Destructive annotations: pass → 100
- [functional] New tool “apply_discount_code”
- [functional] New tool “create_business”
- [functional] New tool “fetch_nin_slip”
- [functional] New tool “get_action_status”
- [functional] New tool “get_cac_documents”
- [functional] New tool “get_capabilities”
- [functional] New tool “get_credits”
- [functional] New tool “get_notification_preferences”
- [functional] New tool “get_registration_state”
- [functional] New tool “get_subscription”
- [functional] New tool “list_my_businesses”
- [functional] New tool “list_notifications”
- [functional] New tool “list_share_links”
- [functional] New tool “manage_subscription”
- [functional] New tool “mark_notifications_read”
- [functional] New tool “recheck_documents”
- [functional] New tool “refresh_cac_status”
- [functional] New tool “remove_discount_code”
- [functional] New tool “rename_business”
- [functional] New tool “request_credit_purchase”
- [functional] New tool “request_documents”
- [functional] New tool “request_nin”
- [functional] New tool “request_payment”
- [functional] New tool “request_subscription”
- [functional] New tool “request_whatsapp_verification”
- [functional] New tool “set_share_review”
- [functional] New tool “show_share_link”
- [functional] New tool “switch_workspace”
- [functional] New tool “update_notification_preferences”
- [functional] New tool “update_profile”
- [functional] New tool “use_nin_photo_for_passport”

### 2026-11-03 (score 70)

First indexed and scored.

## MCP tools (47)

### `calculate_cac_fees` (~101 tokens)

Calculate CAC registration fees

CAC's official registration fees, line by line, for a business name, a limited company (by authorised share capital, default ₦1,000,000) or an NGO (Incorporated Trustees). Use it for any question about what CAC charges to register. These are government fees, not FastCAC's price.

Input parameters:

- `entity` (string, required)
- `share_capital` (number): Companies only: authorised share capital in naira.

Output parameters:

- `extra` (object): NGOs only: the newspaper notice, a range in naira, not a CAC fee.
- `lines` (array)
- `total` (number): Naira, CAC's fees only.

### `check_annual_returns` (~88 tokens)

Work out annual returns due

For a CAC business name: which annual returns are due from its registration date, which are overdue, CAC's estimated charge, and when the next one is due. Needs the registration date (it's on the certificate). Without it, the annual returns checker on fastcac.com looks the date up by BN number.

Input parameters:

- `registration_date` (string, required): YYYY-MM-DD, from the CAC certificate.

Output parameters:

- `cac_fee_per_year` (number): Naira.
- `estimated_cac_total` (number): Naira, if none were filed.
- `next_return` (object)
- `registered_on` (string)
- `returns_due` (array)

### `check_business_name_compliance` (~287 tokens)

Run CAC's name compliance check

CAC's verdict on a proposed name, the same check fastcac.com's name checker runs: CAC's naming rules first, then CAC's own compliance and similarity engine. Returns `tone` (ok, caveat = a certificate is needed, blocked), a plain `message`, `code` (CAC's 00-14; none when one of CAC's naming rules blocked it), `similar_names`/`most_similar_name`/`similarity_score`, and `alternatives`: names to offer, each already passing the rules (for a name missing its ending, the name with each accepted ending: Ventures, Enterprises, Services, Concepts, Hub, Fashion, Beauty, Biz, or Limited/Ltd for a company). `line_of_business` must be one of CAC's entries; anything else returns error line_of_business_invalid with `choices` to ask about, never a guess. A name ending in Limited/Ltd/PLC is checked as a company unless `name_type` says otherwise. An `error` is never a verdict: say CAC didn't answer.

Input parameters:

- `line_of_business` (string, required): An exact entry from CAC's line-of-business picklist (search_line_of_business).
- `name_type` (string): Optional: business name or company (Ltd). Inferred from the name's ending when left out.
- `proposed_name` (string, required)

Output parameters:

- `alternatives` (array): Names to offer instead, each already passing CAC's rules.
- `certificate_required` (boolean)
- `code` (string|null): CAC's 00-14 code; null when one of CAC's naming rules blocked it.
- `line_of_business` (string|null): The exact CAC entry the name was checked with.
- `message` (string): The reason, in plain words, to show the person.
- `most_similar_name` (string|null)
- `name_type` (string)
- `proposed_name` (string)
- `similar_names` (array)
- `similarity_score` (number|null)
- `source` (string): heuristics (CAC's naming rules) or bulkupload (CAC's engine).
- `tone` (string): ok: CAC would accept it; caveat: accepted, but a certificate is needed; blocked: not accepted.

### `check_name_availability` (~233 tokens)

Check a name against CAC's register

Search CAC's public register for names matching or similar to a name, across every registration type (business names, companies, LLPs, trustees), ranked like fastcac.com's public search. CAC rejects a new name that's too close to any of them, active or inactive. `exact_match` is the registered name that is this name (case, spacing and the legal form like Ltd ignored), or null. close_matches come best first, each with `match` (exact, close, similar, or null when it only shares a distinctive word); a close match is often the same name with another ending (ADAEZE ENTERPRISES for "Adaeze Ventures"), which CAC treats as a clash. Lead with exact_match when there is one; when it's null, say nothing is registered under this exact name and lead with the closest matches as the clash they are. Any close match means the name is at risk; CAC makes the final call (check_business_name_compliance asks it). For an RC/BN number use search_cac_register instead.

Input parameters:

- `name` (string, required): The business name to check.

Output parameters:

- `close_matches` (array): Names that put this one at risk, best first.
- `exact_match` (string|null): The registered name that IS this name (case, spacing and the legal form like Ltd ignored), or null. Lead with it when present; a close match is often the same name with another ending, which CAC trea…
- `likely_available` (boolean): True when nothing on CAC's register is close (no exact, close or similar match, and none sharing a distinctive word). CAC still decides: check_business_name_compliance asks it.
- `other_match_count` (integer)
- `other_matches` (array): Names sharing only generic words.
- `results_capped` (boolean): CAC's search hit its 50-result cap.
- `searched` (string)

### `generate_business_names` (~113 tokens)

Suggest business names

Brainstorm CAC-registrable business names for an idea. Each name comes back already checked against CAC's registry, with `availability`: likely_available, similar_names_exist, or unchecked (CAC's search was busy).

Input parameters:

- `idea` (string, required): Short description of the business.
- `line_of_business` (string): Optional CAC line of business to keep every name in.
- `name_type` (string): Optional: company (Ltd) names end in Limited; business names (the default) in a word like Ventures.

Output parameters:

- `names` (array)

### `get_cac_tax_id` (~120 tokens)

Get a registered business's Tax ID

Get the Tax ID (TIN) CAC's public search shows for a registered business. Takes company_id, rc_number and classification_id from a search_cac_register result. Returns { name, rc_number, tax_id }, or an error 'not_found' when CAC has none.

Input parameters:

- `classification_id` (integer, required): classification_id from search_cac_register.
- `company_id` (integer, required): company_id from search_cac_register.
- `rc_number` (string, required): rc_number from search_cac_register, e.g. '1234567'.

Output parameters:

- `name` (string|null)
- `rc_number` (string|null)
- `tax_id` (string): The TIN.

### `get_nin_request_status` (~86 tokens)

Check a NIN request

Where a request from start_nin_request stands: status (waiting_for_person, started, settling, verified, failed, expired, paid, delivered, delivery_failed), next_step in words, the products and their naira prices. Never the NIN or the person's details: those go only to the person.

Input parameters:

- `request_handle` (string, required): From start_nin_request.

Output parameters:

- `chosen_product` (string|null)
- `next_step` (string)
- `products` (array)
- `status` (string)
- `url` (string): The link again, while the person hasn't started.

### `search_cac_register` (~211 tokens)

Search CAC's public register

Search the Corporate Affairs Commission's (CAC) public register for businesses already registered in Nigeria, by name or by RC/BN number. Returns `results`: name, rc_number (the BN number for a business name), registration_date, classification, nature_of_business, status (e.g. ACTIVE or INACTIVE), company_id, classification_id and match (exact, close, similar or null), best match first; RC/BN numbers ("RC 8911267") are read as numbers. Lead with the result whose match is exact; when none is, say plainly that nothing is registered under that exact name before listing the closest. This lists what exists; it isn't an availability check (check_name_availability and check_business_name_compliance are). An `error` never means there's no match.

Input parameters:

- `entity_type` (string): Limit to one kind of registration. Defaults to ALL.
- `query` (string, required): A business name, or an RC/BN number such as '1234567'.

Output parameters:

- `results` (array)

### `search_knowledge_base` (~346 tokens)

Search FastCAC's knowledge base

Search FastCAC's knowledge base: the articles, policies, guides and how-tos FastCAC's team has written (pricing and what it includes, refunds, timelines, documents, what happens after payment, CAC rules and procedures, post-registration steps). Use it before answering a question about FastCAC's service or CAC process that the instructions above don't settle, and answer from the passages, not memory. Returns passages best first, each with its document title, heading, updated_at, a 0-1 rank score and a 0-1 similarity (how close in meaning; about 0.7 and up answers the question), plus total_matches and has_more. Weak or no results: try mode 'broad', reword the query, or page on with offset. If it still has nothing, say plainly that you don't have that information.

Input parameters:

- `category` (string): Optional: only this category.
- `document` (string): Optional: one document, by title (or part of it) or document_id.
- `include_context` (boolean): Include the text just before and after each passage.
- `limit` (integer): Passages to return (default 8).
- `min_score` (number): Optional: drop passages less similar than this (0-1).
- `mode` (string): balanced (default); precise = only close matches; broad = looser matches, weighted to meaning, with each passage's neighbouring text.
- `offset` (integer): Skip this many (for the next page).
- `query` (string, required): The question or keywords, in plain words.
- `tags` (array): Optional: documents with any of these tags.

Output parameters:

- `has_more` (boolean)
- `hint` (string)
- `mode` (string)
- `note` (string)
- `offset` (integer)
- `query` (string)
- `results` (array)
- `retrieval` (string): keyword_only when search by meaning was unavailable.
- `total_matches` (integer)

### `search_line_of_business` (~34 tokens)

Find a CAC line of business

Find exact entries in CAC's line-of-business picklist matching what the business does.

Input parameters:

- `query` (string, required)

Output parameters:

- `exact` (boolean)
- `matches` (array): Exact CAC options, best first.
- `note` (string)

### `start_nin_request` (~192 tokens)

Start a NIN or NIN slip request

Start a paid request on fastcac.com for: 'slip' = the person's NIMC NIN slip (PDF and print-ready image), using their NIN; 'phone' = the person's NIN, found with the phone number they registered with NIMC (on fastcac.com they can add the slip; you can't request it here). Returns a link for the person and a request_handle for you. The person does a live face check and pays on fastcac.com (₦1,000 for the slip; ₦500 for the NIN, ₦1,200 with the slip); the result goes only to them. Starting is free and charges nothing.

Input parameters:

- `kind` (string, required): 'slip' if they know their NIN and want the slip; 'phone' to find their NIN (the person chooses whether to add the slip on fastcac.com).

Output parameters:

- `chosen_product` (string|null)
- `next_step` (string)
- `products` (array)
- `request_handle` (string): Keep it: get_nin_request_status needs it.
- `status` (string)
- `url` (string): The link again, while the person hasn't started.

### `apply_discount_code` (~40 tokens)

Apply a discount code

Apply a discount code the user gives you to a registration that isn't paid yet.

Input parameters:

- `business_id` (string, required)
- `code` (string, required)

### `create_business` (~97 tokens)

Start a business registration

Start a new registration: creates the business (as a draft) with the name the user wants to register, in the workspace they're in (pass `workspace` only when they ask for the other one). A personal registration needs a verified WhatsApp number: without one it returns whatsapp_unverified (request_whatsapp_verification sets it up).

Input parameters:

- `name` (string, required): The business name they want to register.
- `workspace` (string)

### `create_share_link` (~82 tokens)

Create a share link

Make a share link and show it as a Copy button. If one is already live, this replaces it (the old one stops working), so it shows a Confirm button first. review_enabled (status links) lets the viewer review the registration details.

Input parameters:

- `business_id` (string, required)
- `purpose` (string)
- `review_enabled` (boolean)

### `delete_business` (~94 tokens)

Delete a business

Delete one of their businesses that hasn't been paid for (draft or pending_payment) with its registration details and documents. If it can be deleted, a Confirm button is shown and nothing is deleted until they tap it; if not, you get the reason (e.g. it's been paid for). Call it only when they ask to delete it - not when they just ask whether they can.

Input parameters:

- `business_id` (string, required)

### `fetch_nin_slip` (~73 tokens)

Fetch the NIN slip for a registration

Get their NIN slip for them from NIMC's record for their confirmed NIN, instead of them uploading a photo of it. Free to them. Only after they agree, and only once their NIN is confirmed. The slip is never shown to them.

Input parameters:

- `business_id` (string, required)

### `get_action_status` (~87 tokens)

Check a step on FastCAC

Whether the person finished a step you handed them on FastCAC (a tool returned status 'action_required' with an action_id): confirming a change, paying, uploading documents, entering their NIN or verifying WhatsApp. Returns status (pending, started, completed, failed, cancelled, expired) and next_step in words.

Input parameters:

- `action_id` (string, required): From the tool's result.

### `get_cac_documents` (~39 tokens)

Get the CAC certificate and status report

For an approved registration: show Download buttons for the CAC certificate and status report, once we have them.

Input parameters:

- `business_id` (string, required)

### `get_capabilities` (~75 tokens)

Check what the account can do

What they can do right now and why not: the workspace they're in and who they register for, the Agent subscription (status, renewal, days left), credits, WhatsApp, personal drafts, whether a registration can start in each workspace (and the tool that unblocks it), credit purchases, and features switched on for them.

### `get_credits` (~36 tokens)

Check credit balance

Their credit balance, recent credit activity, Agent subscription status, and the credit packs they can buy (pack_id for request_credit_purchase).

### `get_notification_preferences` (~29 tokens)

Check notification settings

How they get updates: in-app, email, WhatsApp, and WhatsApp tips and offers.

### `get_registration_state` (~123 tokens)

Check a registration's progress

Read where one of the user's registrations stands: status, stage, next action and action_path, which form sections are done, missing or invalid fields (names only), each document's status and what's wrong with it, payment status, whether their NIN is confirmed, and for a queried registration CAC's reason plus each flagged item with its fix_path and whether it's resolved. It never includes personal details (NIN, date of birth, phone, addresses); those are on the registration page.

Input parameters:

- `business_id` (string, required): A business id from list_my_businesses.

### `get_subscription` (~28 tokens)

Check the subscription

Their Agent subscription: status (none, trialing, active, past_due...) and period end.

### `list_my_businesses` (~37 tokens)

List my businesses

List the signed-in user's businesses with each registration's stage, the next action, and action_path (the dashboard page for that action).

### `list_notifications` (~26 tokens)

List notifications

Their recent notifications (unread only by default).

Input parameters:

- `unread_only` (boolean)

### `list_share_links` (~62 tokens)

List a business's share links

A business's share links: the status link (anyone with it sees progress) and the details form link (the owner fills in their own details). Whether each is live, when it expires. Never the link itself.

Input parameters:

- `business_id` (string, required)

### `manage_subscription` (~25 tokens)

Open subscription billing

Show a button to Paystack's page for changing their card or cancelling the subscription.

### `mark_notifications_read` (~16 tokens)

Mark notifications read

Mark all their notifications as read.

### `recheck_documents` (~61 tokens)

Recheck uploaded documents

Run the checks again on documents that are stuck (e.g. the check service was down, or the NIN slip is waiting on the passport photo). Not for a document that failed - that needs a new upload.

Input parameters:

- `business_id` (string, required)

### `refresh_cac_status` (~42 tokens)

Refresh a registration's CAC status

Ask CAC now for the latest on a registration that's with them (submitted or queried). Changes arrive as system events too.

Input parameters:

- `business_id` (string, required)

### `remove_discount_code` (~29 tokens)

Remove a discount code

Remove the discount code from a registration that isn't paid yet.

Input parameters:

- `business_id` (string, required)

### `remove_whatsapp` (~21 tokens)

Remove the WhatsApp number

Remove their WhatsApp number. Shows a Confirm button first.

### `rename_business` (~38 tokens)

Rename a business

Rename a business (its display name; not allowed once CAC approved it).

Input parameters:

- `business_id` (string, required)
- `name` (string, required)

### `request_credit_purchase` (~38 tokens)

Ask the person to buy credits

Show a Pay button for a credit pack (Agent subscribers). Use a pack_id from get_credits.

Input parameters:

- `pack_id` (string, required)

### `request_documents` (~103 tokens)

Ask the person to upload documents

Show an Upload button for a registration's documents (passport photo, NIN slip, signature, and a supporting document if CAC's name check asked for one). Without document_types it asks for every required document still missing or failed; name document_types to ask for specific ones again (e.g. CAC queried the passport photo). Files never pass through you; each verdict arrives as a system event.

Input parameters:

- `business_id` (string, required)
- `document_types` (array)

### `request_nin` (~61 tokens)

Ask for the person's NIN on FastCAC

Show a secure NIN field for a business so the user can verify their identity. Their name, date of birth and gender are filled from it. The NIN is typed into that field, not into the conversation.

Input parameters:

- `business_id` (string, required)

### `request_payment` (~62 tokens)

Ask the person to pay for a registration

Show a Pay button for a registration once its form is complete. The amount comes from FastCAC's pricing (less any discount code applied). You never see card details or the payment link; the outcome arrives as a system event.

Input parameters:

- `business_id` (string, required)

### `request_subscription` (~37 tokens)

Ask the person to subscribe

Show a Start free trial button for the Agent subscription (for people registering businesses for clients). 14 days free, set up on Paystack.

### `request_whatsapp_verification` (~37 tokens)

Ask the person to verify WhatsApp

Show a Verify on WhatsApp button. Needed before starting a business or paying (create_business / request_payment return whatsapp_unverified).

### `revoke_share_link` (~38 tokens)

Revoke a share link

Turn off a business's share link. Shows a Confirm button first.

Input parameters:

- `business_id` (string, required)
- `purpose` (string)

### `set_share_review` (~43 tokens)

Turn share-link review on or off

Turn on or off the 'review the details' section on a business's live status link.

Input parameters:

- `business_id` (string, required)
- `enabled` (boolean, required)

### `show_share_link` (~36 tokens)

Show a share link

Show a Copy button for a business's live share link.

Input parameters:

- `business_id` (string, required)
- `purpose` (string)

### `switch_workspace` (~43 tokens)

Switch workspace

Switch the dashboard between their Personal workspace (their own businesses) and the Agent workspace (businesses they register for clients; needs the subscription).

Input parameters:

- `workspace` (string, required)

### `update_notification_preferences` (~60 tokens)

Change notification settings

Turn update channels on or off. Only pass the ones they asked to change.

Input parameters:

- `email_enabled` (boolean)
- `in_app_enabled` (boolean)
- `whatsapp_enabled` (boolean)
- `whatsapp_marketing_enabled` (boolean)

### `update_profile` (~42 tokens)

Update the profile name

Change their account name (first and/or last name). Not a registration's proprietor name.

Input parameters:

- `first_name` (string)
- `last_name` (string)

### `update_registration_fields` (~174 tokens)

Fill in the registration form

Save registration form fields from what the user told you. Only these fields can be set: proposedOption1 (Proposed business name), lineOfBusiness (Line of business (exact CAC picklist entry)), proprietorPhonenumber (Phone number (digits only)), proprietorEmail (Email), proprietorState (State), proprietorLga (LGA), proprietorCity (City), proprietorStreetNumber (Street number), proprietorServiceAddress (Street name / address), proprietorPostcode (Postcode (digits only)), companyState (Company state), companyCity (Company city), companyStreetNumber (Company street number), companyAddress (Company street name / address), companyEmail (Company email). Returns what saved, anything invalid, and what's still missing.

Input parameters:

- `business_id` (string, required)
- `fields` (object, required): Field name -> value.

### `use_nin_photo_for_passport` (~53 tokens)

Use the NIN photo as the passport photo

Use the photo from their confirmed NIN record as the passport photograph instead of uploading one. Only after they agree, and only once their NIN is confirmed.

Input parameters:

- `business_id` (string, required)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-fastcac-cac/api#diagnostics

## Score history

- 2026-11-05: 63
- 2026-11-04: 62
- 2026-11-03: 70

## Common questions

### What is the FastCAC MCP server?

FastCAC is an MCP server listed in the public MCP registry as com.fastcac/cac. Register a Nigerian business with CAC: name checks, fees, register search, TIN. Sign in when needed. This page covers its hosted endpoint (https://api.fastcac.com/mcp).

### Is the FastCAC MCP server safe to use?

FastCAC scores 63 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the FastCAC MCP server expose?

FastCAC exposes 47 tools: calculate_cac_fees, check_annual_returns, check_business_name_compliance, check_name_availability, generate_business_names, and 42 more. Their descriptions and schemas cost roughly 3,798 tokens of context every time the server is loaded.

### Does the FastCAC MCP server require authentication?

No. We connected to FastCAC without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the FastCAC MCP server still maintained?

FastCAC is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api.fastcac.com/mcp
- Website: https://fastcac.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-fastcac-cac/api.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-fastcac-cac/api.json
- HTML version of this page: https://verifymcp.io/servers/com-fastcac-cac/api
