Skip to main content
Glama

Search African companies

search_companies

Search verified companies across 18 African registries by name or registration number, results are ranked by quality (listed and best-detailed companies first). Matching is tolerant: parent or brand names (Nestlé S.A., AB InBev), typos and word order resolve to the local registered name, and each result carries match_type (id, prefix, contains, normalized, alias, fuzzy) with a 0-1 match_score. An empty result includes suggestions (closest names held). Returns each match's legal name, registration_no, country, status and registry source, plus the total count. To get the full record of any result, call get_company with that result's country and registration_no.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10).
queryYesCompany name or registration number to search for.
countryNoOptional ISO-2 country code to scope the search (e.g. NG, KE, SN).

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It does this thoroughly: results are ranked by quality, matching is tolerant with detailed match types and scores, empty results contain suggestions, and return fields are listed. This gives the agent a clear picture of what to expect, including edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is 4 sentences long, front-loaded with the primary purpose and scope. Every sentence earns its place: purpose, matching behavior, return details, and follow-up guidance. No fluff or repetition. It is efficiently structured for quick agent consumption.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains the return structure (fields like legal name, registration_no, match_type, etc.) and behavior for empty results. It covers ranking, matching tolerance, and total count. The only minor absence is pagination details, but the limit parameter and total count suffice for basic usage. Overall, it is complete for an agent to understand inputs, outputs, and expected behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes all three parameters with clear descriptions (100% coverage). The description adds behavioral context around the query parameter (tolerant matching) but does not introduce new semantics for the parameters themselves. The limit and country parameters are already well-described in the schema, so the description adds marginal value beyond baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: searching verified companies across 18 African registries by name or registration number. It is specific about the verb (search), resource (companies), and scope (18 African registries). It distinguishes itself from siblings by noting that for full records one must call get_company, and it is not about procurement or sanctions screening.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (to search companies by name/registration number) and provides context about result ranking and tolerant matching. It explicitly directs users to get_company for full records, giving an alternative. However, it does not explicitly state when not to use this tool versus the other siblings (e.g., screen_sanctions), though the purpose is sufficiently distinct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation5/5

Each tool has a distinct purpose: search_companies finds companies, get_company fetches full records, get_company_procurement retrieves contract history, and screen_sanctions checks sanctions lists. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: get_company, get_company_procurement, screen_sanctions, search_companies. The naming is uniform and predictable.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose of company data lookup and compliance screening. Each tool covers a distinct, necessary function without redundancy or bloat.

Completeness5/5

The tool set covers the full lifecycle of company research: search, retrieve full record, retrieve procurement history, and screen against sanctions. Since this is a read-only data service, there are no obvious gaps unless additional compliance features (e.g., list screening) are expected, but the current coverage is sufficient for typical use cases.

Resources