Afriset Fintech
Server Details
The operating-reality layer for African fintech regulation — who's licensed for e-money, payments, remittance and switching across markets, normalized across countries, every fact sourced and dated. Callable via MCP.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 4 of 4 tools scored.
Each tool has a distinct purpose: cross-border rules, licensed entities, license equivalence mapping, and license requirements. No overlap.
All names use lowercase and underscores, but the pattern varies: cross_border_rules is noun-based, list_licensed and map_license are verb_noun, requirements is a noun. Minor inconsistency.
Four tools cover the core regulatory domain without being too few or excessive. Well-scoped for the server's purpose.
The tool set covers rules, licensed entities, license mapping, and requirements—comprehensive for African fintech regulation. No obvious gaps.
Available Tools
4 toolscross_border_rulesCross-border money-movement rules (D2)ARead-onlyInspect
The cross-border rulebook: what money may move across an African market's border, and under what rule - export-proceeds repatriation windows, licensed-channel and approval requirements, cash-declaration thresholds, travel/discretionary allowances, outward-capital restrictions, remittance-operator scope (some markets are inbound-only), investor transfer rights, and domestic-FX-use rules - normalized across 38 markets. RULES, NOT RATES (Rule 1): never an FX rate. Every rule carries source + as-of + (in full) the verbatim quote. Honest states are distinct, never conflated: published_rule | documented_absence (structural = a sourced finding that no such rule exists, e.g. a repealed exchange-control regime; not_published = a rule exists but its figure is not officially published) | located_unverified (located but not yet verified - a state only, never a value). Filter by jurisdiction, topic (repatriation, capital_control, approval_required, documentation, limits), facet (the SENSE, e.g. xborder:EXPORT_PROCEEDS_REPATRIATION), scope (intra_union/extra_union), direction (inward/outward/both) or activity. Jurisdictions: 42 African country markets — GH (Ghana), KE (Kenya), NG (Nigeria), RW (Rwanda), TZ (Tanzania), UG (Uganda), ZA (South Africa), ZM (Zambia), ET (Ethiopia), ZW (Zimbabwe), BJ (Benin), BF (Burkina Faso), CI (Côte d'Ivoire), GW (Guinea-Bissau), ML (Mali), NE (Niger), SN (Senegal), TG (Togo), CM (Cameroon), CF (Central African Republic), CG (Congo-Brazzaville), GA (Gabon), GQ (Equatorial Guinea), TD (Chad), MA (Morocco), CD (DR Congo), MZ (Mozambique), AO (Angola), MU (Mauritius), NA (Namibia), LS (Lesotho), SZ (Eswatini), BW (Botswana), MW (Malawi), TN (Tunisia), SO (Somalia), BI (Burundi), DJ (Djibouti), GM (The Gambia), SC (Seychelles), CV (Cabo Verde), SL (Sierra Leone) (plus "WAEMU"/XW, "CEMAC"/XC as union scopes that expand to their member states). format:'compare' returns one facet/topic across jurisdictions side-by-side (the comparison view); 'full' adds the verbatim quote + components; default 'summary'. Paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| facet | No | The sense within a topic, e.g. 'xborder:EXPORT_PROCEEDS_REPATRIATION' or 'export_proceeds_repatriation'. Must be a known facet; an unknown facet is an error (never a silent empty). | |
| limit | No | Max jurisdiction slices per page (default 30). Truncation is explicit: see pagination.has_more / next_offset. | |
| scope | No | The union-boundary scope of a rule (ADR-053): intra_union = within a monetary union (e.g. WAEMU/CEMAC internal); extra_union = crossing the union border. Omit for both. | |
| topic | No | The money-movement rule family. | |
| format | No | summary (default): the normalized rule + source + as_of. full: adds verbatim quote + components. compare: one facet/topic across jurisdictions (requires facet or topic; a union rule appears once, labelled by the union). | |
| offset | No | Skip N jurisdiction slices (id-sorted). | |
| activity | No | A canonical fintech activity, e.g. 'fintech:REMITTANCE_XBORDER' - returns rules that bind that actor class plus the universal rules. | |
| direction | No | Filter to inward / outward flows. A single-direction rule matches its own direction; a rule marked 'both' and a non-directional rule (e.g. the universal licensed channel) match ANY direction filter. direction:'both' therefore returns rules that apply either way, not only rules explicitly marked 'both'. | |
| jurisdiction | No | ISO-2 code or name (NG, Kenya, ZA...) or 'WAEMU'. Omit for all markets. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description thoroughly discloses behavioral traits: it explains honest states (published_rule, documented_absence, not_published, located_unverified), pagination (has_more, next_offset), output variations per format, and the absence of rates. Annotations only provide readOnlyHint=true, so the description adds substantial value.
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 verbose, especially with the full list of 42 jurisdictions which could be trimmed or referenced from the schema. The core purpose is front-loaded, but the length may reduce quick scanning. Overall adequately structured for the tool's complexity.
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?
The description covers pagination, allowed states, filtering options, and format behaviors. Given the lack of output schema and the tool's complexity, it provides sufficient context for correct invocation. Minor gaps: no mention of error responses or how to interpret multiple rule states per jurisdiction.
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?
With 100% schema coverage, baseline is 3. The description adds contextual meaning to parameters like facet (explaining the 'xborder:' prefix), scope (defining union boundaries), format (details on compare vs full vs summary), and direction (special handling of 'both'). This goes beyond the schema descriptions.
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 provides cross-border money-movement rules for African markets, specifying it includes repatriation windows, licensed-channel requirements, etc., and explicitly distinguishes itself from rate queries ('RULES, NOT RATES'). It differentiates from sibling tools by focusing on rules rather than licensing or mapping.
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 how to filter by jurisdiction, topic, facet, scope, direction, and activity, and describes different output formats (summary, full, compare). However, it does not explicitly contrast with sibling tools like list_licensed or map_license, leaving the decision context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_licensedList licensed providersARead-onlyInspect
Who is licensed/authorized for a canonical activity in an African jurisdiction, per the official regulator register. Activities: fintech:EMONEY_ISSUE, fintech:PAYMENT_PROCESSING, fintech:REMITTANCE_XBORDER, fintech:SWITCHING. Jurisdictions: 42 African country markets — GH (Ghana), KE (Kenya), NG (Nigeria), RW (Rwanda), TZ (Tanzania), UG (Uganda), ZA (South Africa), ZM (Zambia), ET (Ethiopia), ZW (Zimbabwe), BJ (Benin), BF (Burkina Faso), CI (Côte d'Ivoire), GW (Guinea-Bissau), ML (Mali), NE (Niger), SN (Senegal), TG (Togo), CM (Cameroon), CF (Central African Republic), CG (Congo-Brazzaville), GA (Gabon), GQ (Equatorial Guinea), TD (Chad), MA (Morocco), CD (DR Congo), MZ (Mozambique), AO (Angola), MU (Mauritius), NA (Namibia), LS (Lesotho), SZ (Eswatini), BW (Botswana), MW (Malawi), TN (Tunisia), SO (Somalia), BI (Burundi), DJ (Djibouti), GM (The Gambia), SC (Seychelles), CV (Cabo Verde), SL (Sierra Leone) (plus "WAEMU"/XW, "CEMAC"/XC as union scopes that expand to their member states). Every entry carries source + as-of; a per-category coverage block reports ingestion status (ingested / empty / not_ingested / register_unavailable), and slices with no entries explain WHY (structural absence vs register unavailable vs not yet ingested vs genuinely empty). Default format is a compact summary that fits the widest slice in one call; format:'full' returns per-row provenance, paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max entities per jurisdiction slice (default: 500 summary, 50 full). Truncation is explicit: see pagination.has_more / next_offset. | |
| format | No | summary (default): compact rows (provider, category, status, as_of) + per-category provenance - the widest slice fits one call. full: complete per-row provenance; paginated (default 50/page). | |
| offset | No | Skip N entities (per jurisdiction slice, name-sorted). | |
| activity | Yes | Canonical activity, e.g. 'fintech:EMONEY_ISSUE' or 'REMITTANCE_XBORDER' | |
| jurisdiction | No | ISO-2 code or name (NG, Kenya, ZA...). Omit for all. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint=true, and the description confirms this by describing a read operation (listing data from a register). It adds behavioral context: data comes from official regulator registers, includes source and as-of date, explains absence reasons (structural, unavailable, not ingested, empty), and details pagination behavior. However, it does not mention rate limits or authentication requirements (assuming they are handled elsewhere), but for a read-only tool this is acceptable.
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 structured with the main purpose first, followed by lists of activities and jurisdictions, then output details. It is somewhat long due to the exhaustive list of jurisdictions, but that is arguably necessary for clarity. Every sentence adds value—there is no fluff. The compactness could be improved by summarizing the jurisdiction list, but it remains readable.
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 the tool's complexity (multiple activities, 42+ jurisdictions, two output formats, pagination, data provenance, absence explanations), the description covers all critical aspects. Since there is no output schema, the description fully explains return values (compact summary vs. full paginated, per-category coverage, and why empty slices occur). The description is complete enough for an agent to invoke the tool correctly without confusion.
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?
All 5 parameters are described in the schema with 100% coverage. The description adds valuable semantics beyond the schema: default limits (500 for summary, 50 for full), explanation of format difference (compact vs. paginated full), offset's name-sorted ordering, activity examples ('fintech:EMONEY_ISSUE'), and jurisdiction omission meaning 'all'. This substantially enriches parameter understanding.
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 verb 'list' and the resource 'licensed providers', and specifies the scope: canonical activities in African jurisdictions per official registers. It explicitly lists all supported activities and 42 country codes, making the tool's purpose unmistakable. The sibling tools (cross_border_rules, map_license, requirements) are sufficiently different, so there is no confusion.
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 when to use the tool (to check who is licensed for a given activity/jurisdiction) but does not explicitly contrast with siblings or provide when-not-to-use guidance. For example, it could mention that cross_border_rules is for cross-border licensing rules rather than provider lists. The lack of explicit usage boundaries keeps this at a 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_licenseMap a licence across jurisdictionsARead-onlyInspect
The cross-country normalization: for a canonical activity, which local licence category is the equivalent in each jurisdiction (e.g. Nigeria MMO ≈ Ghana DEMI ≈ Kenya E-Money Issuer; Nigeria IMTO ≈ Kenya MRP ≈ South Africa ADLA Category 3).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target jurisdiction (ISO-2 or name) | |
| from | Yes | Origin jurisdiction (ISO-2 or name) | |
| activity | Yes | Canonical activity, e.g. 'EMONEY_ISSUE' or 'fintech:REMITTANCE_XBORDER' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so no safety contradiction. The description adds value by explaining the mapping behavior (equivalence lookup) and providing examples, which goes beyond the annotations.
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?
One well-structured sentence with a parenthetical example. Front-loaded with the key concept. Every word earns its place; no redundancy.
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 3-parameter tool with no output schema and simple sibling, the description adequately explains the tool's purpose and concept. It lacks details on output format or edge cases, but the examples compensate sufficiently.
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% and documents all three parameters (activity, from, to). The description does not add parameter-specific meanings beyond the schema's descriptions but provides overall context through examples.
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 specific verbs ('normalization', 'map') and clearly states the resource ('canonical activity to local licence category'), providing concrete examples (Nigeria MMO ≈ Ghana DEMI) that distinguish it from the sibling tool 'list_licensed'.
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 usage for cross-jurisdiction license mapping but does not explicitly state when to use this tool versus 'list_licensed' or what conditions warrant its use. No exclusion criteria or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
requirementsLicence requirementsARead-onlyInspect
The licence-requirements layer: the published requirements to HOLD a licence category - minimum capital, local presence/incorporation, timeline, local ownership, fees, ongoing obligations - for a canonical activity in an African jurisdiction. Every value carries source + as-of + (in full format) the verbatim quote. Honest states are distinct, never conflated: published_value | documented_absence (structural = 'no such requirement exists' vs not_published = 'a requirement exists but no official figure is published') | located_unverified (a value was located but not yet verified - surfaced as a state only, never as a value). Capital and fees are stated in the statute's own currency. Key it by activity (+ optional jurisdiction) or by an exact category id. Activities: fintech:EMONEY_ISSUE, fintech:PAYMENT_PROCESSING, fintech:REMITTANCE_XBORDER, fintech:SWITCHING. Jurisdictions: 42 African country markets — GH (Ghana), KE (Kenya), NG (Nigeria), RW (Rwanda), TZ (Tanzania), UG (Uganda), ZA (South Africa), ZM (Zambia), ET (Ethiopia), ZW (Zimbabwe), BJ (Benin), BF (Burkina Faso), CI (Côte d'Ivoire), GW (Guinea-Bissau), ML (Mali), NE (Niger), SN (Senegal), TG (Togo), CM (Cameroon), CF (Central African Republic), CG (Congo-Brazzaville), GA (Gabon), GQ (Equatorial Guinea), TD (Chad), MA (Morocco), CD (DR Congo), MZ (Mozambique), AO (Angola), MU (Mauritius), NA (Namibia), LS (Lesotho), SZ (Eswatini), BW (Botswana), MW (Malawi), TN (Tunisia), SO (Somalia), BI (Burundi), DJ (Djibouti), GM (The Gambia), SC (Seychelles), CV (Cabo Verde), SL (Sierra Leone) (plus "WAEMU"/XW, "CEMAC"/XC as union scopes that expand to their member states). Default format is summary; format:'full' adds the verbatim quote, computation notes and value components, paginated by category.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max categories per page (default: 30 summary, 10 full). Truncation is explicit: see pagination.has_more / next_offset. | |
| format | No | summary (default): value/absence/held + source + as_of, no quotes. full: adds verbatim quote, notes, components; paginated by category. | |
| offset | No | Skip N categories (id-sorted). | |
| activity | No | Canonical activity, e.g. 'fintech:EMONEY_ISSUE' or 'REMITTANCE_XBORDER'. Required unless 'category' is given. | |
| category | No | Exact license_category_id (e.g. 'NG-CBN-MMO') or local name. Overrides activity/jurisdiction - returns just that category. | |
| jurisdiction | No | ISO-2 code or name (NG, Kenya, ZA...). Filters the activity's categories; omit for all. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description details honest states (published_value, documented_absence, etc.), pagination with explicit truncation and has_more/next_offset, and format differences. It adds significant behavioral context without contradicting annotations.
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 detailed but well-structured, with front-loaded purpose and clear sections. The list of jurisdictions is extensive but necessary for context. Every sentence adds value for a tool with 6 parameters and no output schema.
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?
Without an output schema, the description thoroughly covers return values: honest states, source, as-of, verbatim quotes in full format, and pagination details. It explains capital/fees in statute's currency and the two formats, making the tool self-contained.
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?
With 100% schema coverage, baseline is 3. The description adds meaning beyond the schema by explaining the relationship between activity, jurisdiction, and category, listing valid activities and jurisdictions, and clarifying default limits and truncation behavior.
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 specifies the tool retrieves licence requirements for a canonical activity in an African jurisdiction. It distinguishes itself from sibling tools (cross_border_rules, list_licensed, map_license) by focusing on requirements like capital, fees, and obligations, not licenses or cross-border rules.
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 how to use the tool: key by activity (+ optional jurisdiction) or exact category id. It mentions default and full formats. However, it does not explicitly state when not to use it or provide direct comparisons to alternatives, though the context of sibling tools implies differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
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
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!