fylings
Server Details
Search, verify & screen 1M+ African companies + their government contracts across 18 registries.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
4 toolsget_companyGet a company recordAInspect
Fetch one company's full record by country code and registration number, legal name, status, entity type, incorporation date, registry source, and any officers held.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ISO-2 country code, e.g. NG. | |
| registration_no | Yes | The registry number (RC / RCCM / file no.). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The verb 'fetch' implies a read operation, and the description lists returned fields, which is useful. With no annotations, it does not explicitly state read-only nature, error behavior, or permissions, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that front-loads the action. The field list adds length but provides valuable output context, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with two parameters and no output schema, the description adequately covers invocation and return fields. It lacks explicit error/not-found behavior but is sufficient for basic selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with meaningful descriptions for both parameters. The description restates 'by country code and registration number' without adding deeper parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Fetch one company's full record' with specific identifiers (country code and registration number) and lists the returned fields, distinguishing it from siblings like search_companies and get_company_procurement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context by requiring country code and registration number, implying use when these identifiers are known. However, it does not explicitly mention when not to use or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_procurementGet a company's government contractsAInspect
List the government procurement contracts a company has won (from open-contracting data): the awarding body, contract title, value and date. Strong signal of what a company actually does.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ISO-2 country code, e.g. NG. | |
| registration_no | Yes | The registry number. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the data source ('open-contracting data') and the returned fields (awarding body, contract title, value, date), which is useful. However, it does not mention pagination, limits on results, or how missing contracts are handled, leaving gaps in behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences that front-load the action and fields, then add a value proposition. Every sentence earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two parameters and no output schema, the description provides enough context: it lists the key return fields and data source. However, it could be more complete by noting edge cases like companies with no contracts or geographic coverage, but overall it is sufficient for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for both parameters (country and registration_no) with 100% coverage. The description does not add any additional meaning about the parameters, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb 'List' and the resource 'government procurement contracts a company has won', with a data source and return fields. This distinguishes it from sibling tools like get_company and search_companies, which focus on company details or search rather than procurement contracts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: 'Strong signal of what a company actually does.' However, it does not explicitly state when not to use this tool or mention alternatives by name, though the sibling list implies context. It gives clear context but no exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_sanctionsSanctions screeningAInspect
Screen a company or person name against the OFAC SDN, OFAC Consolidated and UN Security Council lists. Returns any matches with a name-match confidence.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name to screen. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly states the tool screens against specific lists and returns matches with a name-match confidence, providing useful behavioral context about data sources and output. It does not mention side effects, authentication, or false-positive caveats, but the core behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, begins with the verb 'Screen', and immediately establishes what the tool does and what it returns. There is no redundant or extraneous information, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is sufficiently complete: it explains the purpose, the exact lists queried, and the return value (matches with confidence). It does not delve into fuzzy matching or edge cases, but these are not essential for initial selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single 'name' parameter, so the description does not need to add much. The description repeats the parameter name amd purpose but does not introduce any additional semantic detail beyond the schema, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Screen' and explicitly names the resources (company/person name) and the three sanctions lists (OFAC SDN, OFAC Consolidated, UN Security Council). This clearly differentiates the tool from sibling tools like get_company and search_companies, which handle company data but not sanctions screening.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for sanctions screening but does not explicitly state when to use it versus alternatives or when not to use it. The siblings are about company information, so the context is somewhat clear, but there is no explicit guidance or mention of exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_companiesSearch African companiesAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 10). | |
| query | Yes | Company name or registration number to search for. | |
| country | No | Optional ISO-2 country code to scope the search (e.g. NG, KE, SN). |
TDQS
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.
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.
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.
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.
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.
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.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Search 12M+ verified businesses across 10 countries via government registers.
License-clean African & EM data as citable agent tools: company fundamentals, tenders (OCDS), macro.
Verified company profiles, financials, ownership, registry records and business contacts.
Live data from 27 official national company registries. Unmodified. For KYB and due diligence.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceSearch, verify and screen over 1 million African companies across 18 official government registries, along with the public contracts they have won and OFAC/UN sanctions screening. Every result carries its registry source, date and a confidence signal, and the server returns nulls rather than fabricating data.MIT
- AlicenseAqualityCmaintenanceStructured business intelligence for AI agents. 5.5M verified entities across 34 countries, 40.3M BORME mercantile acts, EU VAT validation, GLEIF, healthcare registries. 20 tools.61MIT
- AlicenseAqualityBmaintenanceExposes 29 official business-registry actors as MCP tools for KYC/AML, beneficial-owner (UBO), credit-risk and adverse-media workflows across 11 jurisdictions (EU, US, UAE). Sourced via Apify; pay-per-result.386MIT
- AlicenseAqualityAmaintenanceEnables AI agents to investigate corporate ownership, trace ultimate beneficial owners, screen sanctions, detect offshore exposure, and access fully cited dossiers from 130M+ entities across 31 global registries.213691MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
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.
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.
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.
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.