Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

FastCAC

REMOTE · API.FASTCAC.COM

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

Available components

63 Trust /100

Last scanned (2 hours ago)

Scores higher than 44% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Finance and Payments

Recent critical change

Authorization (4 Nov 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

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. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability68
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 4027 tokens (~85/item across 47 items; 47 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management7
  • Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage83
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 42% of tool parameters carry a description.Partial
  • Structured output schemas are declared (23% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 48 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1
    • 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 security
    • Schema quality: 69 → 85 ▼ functional
    • Tool coverage: 30% → 42% ▲ functional
    • New tool “search_knowledge_base” functional
    • “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” cosmetic
  • 4 Nov 26 −8
    • Authorization: partial → fail ▼ critical
    • 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 security
    • Tool coverage: 81% → 30% ▼ functional
    • Tool coverage: 100% → 22% ▼ functional
    • Stability: unverified → 0.03 ▲ functional
    • 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” functional
  • 3 Nov 26 70

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://api.fastcac.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=api.fastcac.com CN=YE1,O=Let's Encrypt,C=US 16 Oct 2026 14 Jan 2027 ECDSA 256 ECDSA-SHA384 62b0d2737d173517debe4416785acae846d
SANs: api.fastcac.com
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.fastcac.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
fastcac.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.fastcac.com/mcp Verified 200
http (plaintext) http://api.fastcac.com/mcp HTTPS enforced 308 https://api.fastcac.com/mcp
MCP tools · 47 exposed · ~3,798 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
apply_discount_code ~40

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

NameTypeReqDescription
business_idstringyes–
codestringyes–

No output schema declared.

No examples provided.

calculate_cac_fees ~101

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.

NameTypeReqDescription
entitystringyes–
share_capitalnumber–Companies only: authorised share capital in naira.
NameTypeReqDescription
extraobject–NGOs only: the newspaper notice, a range in naira, not a CAC fee.
linesarrayyes–
totalnumberyesNaira, CAC's fees only.

No examples provided.

check_annual_returns ~88

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.

NameTypeReqDescription
registration_datestringyesYYYY-MM-DD, from the CAC certificate.
NameTypeReqDescription
cac_fee_per_yearnumberyesNaira.
estimated_cac_totalnumber–Naira, if none were filed.
next_returnobjectyes–
registered_onstring––
returns_duearrayyes–

No examples provided.

check_business_name_compliance ~287

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.

NameTypeReqDescription
line_of_businessstringyesAn exact entry from CAC's line-of-business picklist (search_line_of_business).
name_typestring–Optional: business name or company (Ltd). Inferred from the name's ending when left out.
proposed_namestringyes–
NameTypeReqDescription
alternativesarrayyesNames to offer instead, each already passing CAC's rules.
certificate_requiredboolean––
codestring|null–CAC's 00-14 code; null when one of CAC's naming rules blocked it.
line_of_businessstring|null–The exact CAC entry the name was checked with.
messagestringyesThe reason, in plain words, to show the person.
most_similar_namestring|null––
name_typestring––
proposed_namestring––
similar_namesarray––
similarity_scorenumber|null––
sourcestring–heuristics (CAC's naming rules) or bulkupload (CAC's engine).
tonestringyesok: CAC would accept it; caveat: accepted, but a certificate is needed; blocked: not accepted.

No examples provided.

check_name_availability ~233

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.

NameTypeReqDescription
namestringyesThe business name to check.
NameTypeReqDescription
close_matchesarrayyesNames that put this one at risk, best first.
exact_matchstring|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_availablebooleanyesTrue 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_countinteger––
other_matchesarray–Names sharing only generic words.
results_cappedboolean–CAC's search hit its 50-result cap.
searchedstring––

No examples provided.

create_business ~97

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

NameTypeReqDescription
namestringyesThe business name they want to register.
workspacestring––

No output schema declared.

No examples provided.

create_share_link ~82

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.

NameTypeReqDescription
business_idstringyes–
purposestring––
review_enabledboolean––

No output schema declared.

No examples provided.

delete_business ~94

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.

NameTypeReqDescription
business_idstringyes–

No output schema declared.

No examples provided.

fetch_nin_slip ~73

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.

NameTypeReqDescription
business_idstringyes–

No output schema declared.

No examples provided.

generate_business_names ~113

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

NameTypeReqDescription
ideastringyesShort description of the business.
line_of_businessstring–Optional CAC line of business to keep every name in.
name_typestring–Optional: company (Ltd) names end in Limited; business names (the default) in a word like Ventures.
NameTypeReqDescription
namesarrayyes–

No examples provided.

get_action_status ~87

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.

NameTypeReqDescription
action_idstringyesFrom the tool's result.

No output schema declared.

No examples provided.

get_cac_documents ~39

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

NameTypeReqDescription
business_idstringyes–

No output schema declared.

No examples provided.

get_cac_tax_id ~120

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.

NameTypeReqDescription
classification_idintegeryesclassification_id from search_cac_register.
company_idintegeryescompany_id from search_cac_register.
rc_numberstringyesrc_number from search_cac_register, e.g. '1234567'.
NameTypeReqDescription
namestring|null––
rc_numberstring|null––
tax_idstringyesThe TIN.

No examples provided.

get_capabilities ~75

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_credits ~36

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_nin_request_status ~86

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.

NameTypeReqDescription
request_handlestringyesFrom start_nin_request.
NameTypeReqDescription
chosen_productstring|null––
next_stepstringyes–
productsarrayyes–
statusstringyes–
urlstring–The link again, while the person hasn't started.

No examples provided.

get_notification_preferences ~29

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_registration_state ~123

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.

NameTypeReqDescription
business_idstringyesA business id from list_my_businesses.

No output schema declared.

No examples provided.

get_subscription ~28

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_my_businesses ~37

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_notifications ~26

Their recent notifications (unread only by default).

NameTypeReqDescription
unread_onlyboolean––

No output schema declared.

No examples provided.

list_share_links ~62

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.

NameTypeReqDescription
business_idstringyes–

No output schema declared.

No examples provided.

manage_subscription ~25

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

mark_notifications_read ~16

Mark all their notifications as read.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

recheck_documents ~61

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.

NameTypeReqDescription
business_idstringyes–

No output schema declared.

No examples provided.

refresh_cac_status ~42

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

NameTypeReqDescription
business_idstringyes–

No output schema declared.

No examples provided.

remove_discount_code ~29

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

NameTypeReqDescription
business_idstringyes–

No output schema declared.

No examples provided.

remove_whatsapp ~21

Remove their WhatsApp number. Shows a Confirm button first.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

rename_business ~38

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

NameTypeReqDescription
business_idstringyes–
namestringyes–

No output schema declared.

No examples provided.

request_credit_purchase ~38

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

NameTypeReqDescription
pack_idstringyes–

No output schema declared.

No examples provided.

request_documents ~103

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.

NameTypeReqDescription
business_idstringyes–
document_typesarray––

No output schema declared.

No examples provided.

request_nin ~61

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.

NameTypeReqDescription
business_idstringyes–

No output schema declared.

No examples provided.

request_payment ~62

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.

NameTypeReqDescription
business_idstringyes–

No output schema declared.

No examples provided.

request_subscription ~37

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

request_whatsapp_verification ~37

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

revoke_share_link ~38

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

NameTypeReqDescription
business_idstringyes–
purposestring––

No output schema declared.

No examples provided.

search_cac_register ~211

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.

NameTypeReqDescription
entity_typestring–Limit to one kind of registration. Defaults to ALL.
querystringyesA business name, or an RC/BN number such as '1234567'.
NameTypeReqDescription
resultsarrayyes–

No examples provided.

search_knowledge_base ~346

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.

NameTypeReqDescription
categorystring–Optional: only this category.
documentstring–Optional: one document, by title (or part of it) or document_id.
include_contextboolean–Include the text just before and after each passage.
limitinteger–Passages to return (default 8).
min_scorenumber–Optional: drop passages less similar than this (0-1).
modestring–balanced (default); precise = only close matches; broad = looser matches, weighted to meaning, with each passage's neighbouring text.
offsetinteger–Skip this many (for the next page).
querystringyesThe question or keywords, in plain words.
tagsarray–Optional: documents with any of these tags.
NameTypeReqDescription
has_morebooleanyes–
hintstring––
modestring––
notestring––
offsetinteger––
querystring––
resultsarrayyes–
retrievalstring–keyword_only when search by meaning was unavailable.
total_matchesintegeryes–

No examples provided.

search_line_of_business ~34

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

NameTypeReqDescription
querystringyes–
NameTypeReqDescription
exactboolean––
matchesarrayyesExact CAC options, best first.
notestring––

No examples provided.

set_share_review ~43

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

NameTypeReqDescription
business_idstringyes–
enabledbooleanyes–

No output schema declared.

No examples provided.

show_share_link ~36

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

NameTypeReqDescription
business_idstringyes–
purposestring––

No output schema declared.

No examples provided.

start_nin_request ~192

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.

NameTypeReqDescription
kindstringyes'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).
NameTypeReqDescription
chosen_productstring|null––
next_stepstring––
productsarrayyes–
request_handlestringyesKeep it: get_nin_request_status needs it.
statusstringyes–
urlstringyesThe link again, while the person hasn't started.

No examples provided.

switch_workspace ~43

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

NameTypeReqDescription
workspacestringyes–

No output schema declared.

No examples provided.

update_notification_preferences ~60

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

NameTypeReqDescription
email_enabledboolean––
in_app_enabledboolean––
whatsapp_enabledboolean––
whatsapp_marketing_enabledboolean––

No output schema declared.

No examples provided.

update_profile ~42

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

NameTypeReqDescription
first_namestring––
last_namestring––

No output schema declared.

No examples provided.

update_registration_fields ~174

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.

NameTypeReqDescription
business_idstringyes–
fieldsobjectyesField name -> value.

No output schema declared.

No examples provided.

use_nin_photo_for_passport ~53

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.

NameTypeReqDescription
business_idstringyes–

No output schema declared.

No examples provided.

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.

remote · api.fastcac.com

# add to Claude Code
claude mcp add --transport http com-fastcac-cac 'https://api.fastcac.com/mcp'
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.