FirmLedger

ke.co.firmledgerPublished by firmledger.co.keOfficial publisherv1.0.2Updated Oct 27, 2026

FirmLedger: search and verify businesses. Free needs no key; Pro adds contacts, news, jobs.

Overview

AI-generated overview

Remote MCP server for FirmLedger, a verified business directory: search and compare companies, check domains, and manage your own listings, leads and account.

What you can do
  • Search, read and compare approved company records, including categories, countries, verification state, scores and relationships
  • Check whether a website domain belongs to an approved record, and read moderated news and open jobs
  • Look up your own listings, audience analytics, leads inbox, watchlist, notifications, support tickets and API status
  • Prepare links for listing submission, claiming, Pro upgrade and sponsored placement, without charging anything
  • Make confirmed changes: reply to leads, set lead status, add or remove watchlist entries, post or manage jobs, refresh scores, tech and news, request removal, create webhooks
When to use it
Useful when an assistant needs to research or vet businesses, answer "is this site legit?" questions, compare companies side by side, or work with a FirmLedger account's own listings, leads and analytics.
Requirements
A remote streamable HTTP endpoint; no local package or runtime. The free tier needs no key. Account-scoped tools (listings, leads, analytics, watchlist, webhooks, API keys) require signing in and an API key; Pro-only tools need a Pro plan or trial.
Before you install
Account tools act on real data: replies, lead status changes, job posts and edits, watchlist changes, score and news refreshes, removal requests and webhook creation all require the user's confirmation and notify or affect other parties. Webhook creation returns a signing secret only once and requires write:account. Upgrade and advertising tools only return checkout links; payments happen on an external checkout. API keys are shown only by prefix.

Installation

In SourceWeft

  1. Open FirmLedger in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ke.co.firmledger%2Ffirmledger/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "firmledger": {
      "type": "http",
      "url": "https://mcp.firmledger.co.ke/mcp"
    }
  }
}

Tools

49

search_listings

Search FirmLedger listings

Search approved FirmLedger company records by name or keyword, category, country, city and verified status. Returns a short list (name, category, location, verified flag, tick, confidence score, one-line description) plus the accurate total, for picking the right company before calling get_listing. Use city for places like "Nairobi" and country for "Kenya".

Parameterscitytypelimitqueryoffsetcountrycategoryverified_only

get_listing

Get a FirmLedger company profile

The public FirmLedger profile of one company: description, category, location, verification state (tick, how ownership was proved, when it was last checked), confidence and health scores, sources, recent moderated news headlines and the open jobs count. With FirmLedger Pro it also includes website, email, phone, social links, key people, timeline and technology — the same line the website draws.

Parameterslistingrequired

get_relationships

Get a company's relationship graph (Pro)

FirmLedger Pro. The recorded relationship graph of one company: founders, investors, parent companies, subsidiaries, products, services and partners — plus the reverse edges (companies it founded or invested in). Only relationships recorded by the verified owner or moderators; nothing is inferred.

Parameterslistingrequired

get_news

Get moderated company news (Pro)

FirmLedger Pro. Recent moderated news headlines about one company with dates, publishers and links — the same accuracy-gated stories shown on the profile's news panel.

Parameterslimitlistingrequired

list_jobs

List open jobs (Pro)

FirmLedger Pro. Open roles at approved FirmLedger companies, filtered by company and/or location and keyword: title, company, location, posted date and where to apply. Jobs on unapproved listings never appear.

Parameterslimitqueryoffsetcompanylocation

check_domain

Check whether a website is listed (Pro)

FirmLedger Pro. Given a website domain or URL, report whether an approved FirmLedger record uses it and return that record — useful for "is this site legit?" questions.

Parametersdomainrequired

list_categories

List FirmLedger categories

Every FirmLedger category with its number of approved listings. Use to pick a valid category for search_listings.

Takes no parameters.

list_countries

List countries on FirmLedger

The countries present in the FirmLedger directory, each with its number of approved listings.

Takes no parameters.

prepare_listing_submission

Prepare a FirmLedger listing submission link

Does NOT create anything. Returns a link to the real FirmLedger submission form with the company name, website and (optional) category, country and city pre-filled. The user opens it, signs in, completes the remaining fields, reviews everything and submits it themselves. Also reports if the company is already listed, so nothing is submitted twice.

Parameterscitynamerequiredcountrywebsitecategory

compare_listings

Compare FirmLedger listings side by side

Compare 2 to 4 approved FirmLedger companies side by side: entity type, category, location, founded, team size, website, tagline, date registered, ownership, tick, confidence and sponsored status — the same rows as the FirmLedger comparison page. Use after search_listings when the user wants to weigh companies against each other.

Parameterslistingsrequired

list_plans

List FirmLedger Pro plans

The current FirmLedger Pro offers with price, billing and duration. With an API key it also says whether this account is already on Pro and whether a free trial is available. Use before prepare_upgrade.

Takes no parameters.

list_ad_packages

List FirmLedger advertising packages

The current Sponsored-placement advertising packages with price, billing and duration. With an API key it also lists the user's own listings and which of them can be advertised or are already sponsored. Use before prepare_advertising.

Takes no parameters.

prepare_upgrade

Prepare a FirmLedger Pro checkout link

Does NOT charge anything. Returns a personal link to FirmLedger's own checkout for the chosen Pro plan (optionally with a promo code). The user opens it, signs in, reviews the order on FirmLedger and pays on the secure Lemon Squeezy checkout themselves. You can never complete or confirm a payment and must never ask for card details; if the user says "yes, do it", give them the link again. Without an API key it returns the pricing page instead.

Parametersplanpromo_code

prepare_advertising

Prepare a FirmLedger advertising checkout link

Does NOT charge anything. Checks that the listing belongs to this account and is approved, then returns a personal link to FirmLedger's own checkout for the chosen Sponsored-placement package. The user reviews and pays there themselves; you can never complete or confirm a payment. If the user says "yes, do it", give them the link again.

Parameterslistingrequiredpackagerequired

get_my_listings

List my FirmLedger listings

The listings this account owns or submitted, with moderation status, tick, scores, Pro perks, sponsorship, jobs and new-lead counts. Use first when the user refers to "my listing".

Takes no parameters.

get_analytics

Read my audience analytics

Audience analytics for the user's own listings — views today/7/30 days/total, distinct hashed visitor signals, profile and website clicks, leads, the 30-day funnel (placements served and browser-measured viewable impressions are separate), top locations and per-listing views. The same numbers as Dashboard → Audience analytics.

Parameterslisting

list_leads

List my leads

The user's FirmLedger Leads inbox: inquiries received on their listings (box "received", the default), archived ones ("archived"), or inquiries they sent to other businesses ("sent"). Filter by status or listing; paginated.

Parametersboxpagelimitstatuslisting

get_lead

Read one lead conversation

One conversation from the Leads inbox with the inquirer's details and every message, oldest first. Use before reply_to_lead so the reply fits the thread.

Parameterslead_idrequired

get_watchlist

Read my watchlist

The companies the user watches on FirmLedger, newest first.

Takes no parameters.

export_watchlist_csv

Export my watchlist as CSV

The user's watchlist as CSV text (name, category, type, location, contact details, tech stack, verified owner, confidence, watched since) — the same file as the dashboard's Export button.

Takes no parameters.

get_notifications

Read my notifications

The user's in-app FirmLedger notifications, newest first, with the unread count. Set unread_only for just the unread ones.

Parameterslimitunread_only

list_my_tickets

Read my support tickets

The user's FirmLedger support tickets. Pass a ticket reference to read that ticket's full conversation.

Parametersticket

get_api_status

REST API v1 status for this key

The state of the FirmLedger REST API for this account and API key, as /api/v1/me and /api/v1/usage answer it: identity, plan and free-trial status, the key's scopes, live per-minute read/write budgets, durable usage aggregates and the endpoint catalogue. Also states plainly that the MCP connector and REST API v1 are the same platform API — one account, one key, one Pro entitlement — and exactly what happens to API and MCP access when a free trial ends.

Parameterskey_prefix

list_webhooks

List my webhook destinations

The account's webhook destinations with events, category filters, active state and signing-secret prefix — plus recent deliveries (status, HTTP code, attempts, last error) when a webhook id is given.

Parameterslimitwebhook_id

list_api_keys

List my API keys

The account's API keys with label, prefix, scopes, usage totals and last use — never a raw key. Use it to name a key before revoking or re-scoping it.

Takes no parameters.

start_lead

Contact a claimed business

Start a new FirmLedger Leads conversation with another approved, claimed business. The signed-in member email is used automatically, the business email stays private, and the owner is notified in their Leads inbox. Requires the user’s confirmation of the exact inquiry.

Parametersnamephonelistingrequiredmessagerequiredlooking_forconfirmation_token

reply_to_lead

Reply to a lead

Send a reply in one of the user's lead conversations, exactly as the Reply box on the website does (the other party is notified). Requires the user's confirmation: the first call returns the exact message for them to approve.

Parameterslead_idrequiredmessagerequiredconfirmation_token

set_lead_status

Change a lead's status

Move a lead in the user's business inbox to new, contacted, qualified, won or lost. Requires the user's confirmation.

Parametersstatusrequiredlead_idrequiredconfirmation_token

watchlist_add

Add a company to my watchlist

Add an approved company to the user's watchlist so they are notified when its record changes. Requires the user's confirmation.

Parameterslistingrequiredconfirmation_token

watchlist_remove

Remove a company from my watchlist

Remove a company from the user's watchlist. Requires the user's confirmation.

Parameterslistingrequiredconfirmation_token

create_support_ticket

Open a support ticket

Open a FirmLedger support ticket for the user. Categories: billing, technical, listing, account, verification, other. Requires the user's confirmation of the exact subject and message.

Parametersbodyrequiredsubjectrequiredcategoryrequiredconfirmation_token

manage_job

Edit, close or remove my job

Manage a job owned by the member: edit its title, type, location, apply link or description, close it, or permanently remove it. Editing a live or closed role returns it to moderation before it is public again. Requires the user’s confirmation.

Parameterstitleactionrequiredjob_idrequiredlocationapply_urlrole_typedescriptionconfirmation_token

post_job

Post a job on my listing

Submit a job opening on one of the user's listings (the listing needs active Pro perks; up to 5 open or pending roles). Like the dashboard form, it goes to moderation first and is published after approval. Requires the user's confirmation.

Parameterstitlerequiredlistingrequiredlocationrequiredapply_urlrequiredrole_typedescriptionrequiredconfirmation_token

mark_notifications_read

Mark notifications as read

Mark one notification (notification_id) or all of them (all: true) as read. Requires the user's confirmation.

Parametersallnotification_idconfirmation_token

refresh_listing_scores

Refresh my listing's scores

Recompute the confidence, health and completeness scores of one of the user's listings from its current record — the dashboard's "Re-align scores". Requires the user's confirmation.

Parameterslistingrequiredconfirmation_token

refresh_listing_tech

Refresh my listing's technology snapshot

Scan the website of one of the user's listings and refresh its technology snapshot — the dashboard's "Refresh tech". Requires the user's confirmation.

Parameterslistingrequiredconfirmation_token

refresh_listing_news

Refresh my listing's news

Look for new coverage of one of the user's approved listings with the same accuracy rules and moderation as the dashboard's "Refresh news" (once a minute per listing). Requires the user's confirmation.

Parameterslistingrequiredconfirmation_token

request_listing_removal

Request removal of my listing

Send a removal request for a listing the user owns or originally submitted. A moderator reviews it; nothing is removed until they accept. Requires the user's confirmation.

Parametersreasonrequiredlistingrequiredconfirmation_token

prepare_listing_claim

Prepare a listing ownership claim

Free. Prepare a link to claim an approved listing using DNS TXT, HTML meta tag or site badge. Creates nothing and never grants ownership. The user signs in, generates a token, installs the proof on the business domain and verifies it on FirmLedger.

Parametersmethodlistingrequired

create_webhook

Create a webhook destination

Register a webhook on the user’s account after explicit confirmation. Listing events will be sent to this URL. Requires Pro (including a free trial) and write:account. The signing secret is returned only once; keep it private.

Parametersurlrequiredlabeleventsrequiredcategoriesconfirmation_token

reply_to_ticket

Reply to an open support ticket

Send a reply in one of the user's own support tickets — the same thread the dashboard shows, and the same message an agent answers. Closed tickets cannot take replies. Requires the user's confirmation of the exact text.

Parametersticketrequiredmessagerequiredconfirmation_token

manage_webhooks

Manage my webhook destinations

Create, update, pause, resume, rotate the signing secret of, test, retry a delivery for, or delete a webhook destination on the user's account — the same operations as Dashboard → Developer API. Secrets come back only for create and rotate. Requires the user's confirmation.

Parametersurllabelactionrequiredeventscategorieswebhook_iddelivery_idconfirmation_token

manage_api_keys

Manage my API keys

Create an API key (the raw key is returned once), revoke a key, or change a key's scopes — the dashboard's Developer API controls. Requires the user's confirmation. Keys can also carry the AI-assistant scopes (read:account / write:account) that this connector uses.

Parameterslabelactionrequiredkey_idscopeskey_prefixconfirmation_token

update_my_listing

Edit one of my listings

Change fields on a listing the user owns (name, tagline, description, website, email, phone, country, city, region, address, logo_url, founded, size, tags, socials) — the same service the dashboard edit form and PUT /api/v1/my/listings/:id use, including the re-moderation rule when the core record changes. Requires the user's confirmation.

Parameterscitynamesizetagsemailphoneregionaddresscountryfoundedlistingrequiredsocials+5 more

manage_lead

Archive, restore or delete a lead conversation

Archive a conversation out of the business inbox, restore it, or delete it permanently — the dashboard's conversation controls. Requires the user's confirmation (deleting is irreversible).

Parametersactionrequiredlead_idrequiredconfirmation_token

connection_status

Check FirmLedger connection access

Report what this FirmLedger connection can do: Free or Pro access, authentication and active free-trial status, and which tools and fields are available. Use when the user asks why something is locked.

Takes no parameters.

get_connection_status

Get FirmLedger connection status

Report how this assistant is connected to FirmLedger: public (no sign-in), an API key, or the member's account through sign-in (OAuth). Shows Free or Pro, the trial status, which tools and fields are available, and whether the sign-in token is about to expire. Use it when the member asks whether they are connected or signed in, or why something is locked.

Takes no parameters.

request_authentication

Connect or renew the FirmLedger account

Connect this assistant to the member's own FirmLedger account by sign-in (OAuth), or renew or replace that connection. Call it when the member says "connect me to my account", "sign me in", or asks to switch accounts. The assistant opens FirmLedger in the browser, the member approves there, and no password or key passes through the chat. mode "connect" (the default) starts sign-in when the connection needs it. mode "reauthenticate" ends the current connection so the member can choose the account again. mode "refresh" renews a sign-in token that is about to expire, and the assistant should then retry.

Parametersmode

revoke_connection

Remove the FirmLedger account connection

Disconnect this assistant from the member's FirmLedger account. The sign-in is revoked on FirmLedger's side at once, and every token it issued stops working. Call it when the member asks to remove, sign out or disconnect their account. It cannot erase the token stored in the member's assistant app, so tell the member to remove the FirmLedger connector there as well.

Takes no parameters.

Version history

2
  1. v1.0.2LatestSep 29, 2026
  2. v1.0.1Sep 28, 2026

Score

72% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts

    Publish an icon in the registry entry.

  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.