Skip to main content
Glama

ARL-CMS MCP Server

Exposes the AKIJ Resources Compliance Management System knowledge base to MCP clients (opencode, Claude, etc.) over stdio JSON-RPC 2.0.

Data served (self-contained, bundled in data/)

Data

Content

requirements-full.csv

584 compliance requirements — 80 domains, 11 categories, 13 fields each (what it is, why, minimum requirements, evidence, pass criteria, non-compliance triggers, owner)

requirements-index.csv

584 quick index rows (name, domain, category, applicability, owner)

risk-register.csv

2,612 Bangladesh legal risks (SBU, area, scenario, legal basis, penalty, level: Critical 340 / High 1,016 / Medium 881 / Low 375)

document-compliance.csv

55 ERP document types → Tier1 internal policy / Tier2 BD law / Tier3 global standard + owner

business-documents.csv

42 ERP business documents (schema/table + process + tax flag)

bdlaws.json

20 core Bangladesh acts + official bdlaws.minlaw.gov.bd links

Related MCP server: bidda-mcp

Resolution rule (3-tier, strict order)

  1. TIER 1 — Internal ARL policy/SOP/manual library (primary source)

  2. TIER 2 — Bangladesh law (risk register + bdlaws portal) — mandatory floor

  3. TIER 3 — Global standard (584-requirement catalog)

Every "not found" at an earlier tier is reported as a coverage gap before moving on. Bangladesh law is non-negotiable and governs even if an internal document is silent or weaker. Evidence before verdict: no evidence = NOT DEMONSTRATED, not COMPLIANT.

Tools

Tool

Purpose

cms_list_requirements

Filter the 584-requirement catalog (query/domain/category/owner/applicability)

cms_get_requirement

Full 13-field detail of one requirement

cms_check_compliance

Orchestrated 3-tier compliance resolver for a topic

cms_search_policy

Tier-1 library search (live Drive embedded view) — reports coverage gap if none found

cms_risk_lookup

Bangladesh legal risks by SBU/area/topic with legal basis + penalty + level

cms_bdlaws_act

Official bdlaws link + metadata for the 20 core acts

cms_document_compliance

55 ERP document types → 3-tier compliance mapping + owner

cms_business_documents

42 ERP business documents inventory

cms_coverage_scan

Catalog coverage by domain/category + registered asset counts

cms_gap_report

Coverage gap rows + risk-register summary

cms_stats

CMS inventory statistics

Run

node server-arl-cms.js

Environment variables:

  • ARL_CMS_DRIVE_FOLDER — override the Tier-1 policy library Drive folder id (default 1F_OGk1yzP_nf_TD8NbInJOpS-MYLR3xX)

  • ARL_CMS_DMS_TREE — path to the ARL-DMS tree.json (Hybrid integration). When set, cms_search_policy / Tier-1 resolution searches the shared 14,535-entry DMS index and returns real documents (name, path, drive id, url, source). Default lookup order: env → sibling ../arl-dms/data/tree.json → bundled data/dms-tree.json → skill library paths.

  • ARL_CMS_DRIVE_FOLDER — fallback live-Drive root when no shared index found.

Notes

  • Read-only by design. Bundles the catalog data; no external DB required.

  • Hybrid integration (Option 5): the CMS MCP reads the shared ARL-DMS index for Tier-1 document search; document text/OCR is fetched via the ARL-DMS MCP (dms_fetch). The ARL-CMS skill and ARL-DMS skill document this cross-reference.

  • Shareable as a single npm package (.tgz) via npx -y <github-release-url>.

Available Tools

11 tools
cms_bdlaws_actA

Return the official Bangladesh law link and metadata for the 20 registered core business/corporate acts from bdlaws.minlaw.gov.bd (Tier 2 mandatory statutory floor).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional act name filter (e.g. Labour, Companies, VAT)

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are present, so the description must carry the full burden. It discloses the tool is read-only ('Return'), the data source (bdlaws.minlaw.gov.bd), and the scope (20 acts). However, it omits behavioral details such as authentication requirements, rate limits, data freshness, or whether it returns a single result or multiple matches.

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 a single sentence with no wasted words. The main action and key constraints are front-loaded, achieving maximum information density in minimal space.

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

Completeness4/5

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

Given the tool's simplicity (one optional parameter, no output schema), the description adequately covers what it returns and its scope. It could mention whether the return is a list or single object, but overall it provides enough context for correct invocation.

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

Parameters4/5

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

The schema covers 100% of the single optional parameter with a description. The description adds context by framing the filter within the '20 registered core business/corporate acts' and provides concrete examples, enhancing the semantic value beyond the schema alone.

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?

Description clearly states the verb 'Return' and the specific resource: 'official Bangladesh law link and metadata for the 20 registered core business/corporate acts'. It distinguishes from sibling tools by being uniquely focused on Bangladeshi statutory laws and a fixed set of 20 acts.

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

Usage Guidelines3/5

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

The phrase 'Tier 2 mandatory statutory floor' implies a regulatory context, but the description does not explicitly state when to use this tool versus siblings like cms_search_policy or cms_risk_lookup. No when-not or alternative guidance is provided.

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

cms_business_documentsB

Inventory of ERP business documents (42 types) with schema/table and ERP process mapping; filter by module, process, tax.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 50)
queryNoFree-text search across document type / table / process
moduleNoModule filter (e.g. "Order-to-Cash", "Tax", "Finance", "Warehouse")
processNoERP process filter (e.g. "order-to-cash", "procure-to-pay")
tax_onlyNoReturn only tax-related documents

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that it is an 'inventory' which suggests read-only behavior, and the four filter parameters (module, process, tax, query, limit) imply a query/listing operation. However, it does not disclose whether the tool is idempotent, whether results are paginated, or if there are rate limits. The description offers some context but lacks behavioral specifics.

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

Conciseness4/5

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

The description is a single sentence that conveys the core functionality and filtering options efficiently. It is front-loaded with the key purpose ('Inventory of ERP business documents') and lists the filters. It could be slightly more concise by removing parenthetical '(42 types)' or reframing, but overall it is well-structured and not verbose.

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

Completeness3/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 should explain what the tool returns. It mentions 'schema/table and ERP process mapping' but does not detail the structure of results (e.g., a list of document objects). The tool has 5 parameters but none are required, and the description doesn't clarify default behavior (e.g., what happens if no filters are provided). It is adequate for a simple filtered listing tool but leaves gaps in return value expectations.

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

Parameters4/5

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

Schema description coverage is 100%, so all 5 parameters (limit, query, module, process, tax_only) already have descriptions in the input schema. The tool description adds value by providing context for the filters (e.g., 'free-text search across document type / table / process' for query, and example values like 'Order-to-Cash' for module), which enriches the schema's minimal descriptions. However, it could further clarify interactions between parameters (e.g., how query and module combine).

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

Purpose4/5

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

The description clearly states that the tool is an inventory of ERP business documents with filtering capabilities by module, process, and tax. It specifies the resource (business documents) with details like 42 types, schema/table, and ERP process mapping, which distinguishes it from sibling tools like cms_list_requirements or cms_search_policy. However, it could be more explicit about the primary action (e.g., 'list' or 'search') as the verb is implied rather than stated.

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

Usage Guidelines2/5

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

No explicit guidance is provided on when to use this tool versus alternatives. The sibling tools include similar list/search operations (e.g., cms_search_policy, cms_list_requirements), but the description does not explain how this tool is different or when to choose it. For example, it could clarify that this is for ERP document metadata, not compliance checks or risk lookup, but it doesn't.

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

cms_check_complianceA

3-tier compliance resolver: (1) internal policy/SOP library, (2) Bangladesh law (risk register + bdlaws), (3) global standard (584-requirement catalog). Reports coverage gaps explicitly. Tier 2 (Bangladesh law) is the mandatory floor.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesActivity/process/method to check, e.g. "are we compliant on AML training for Finance"

TDQS

A3.7/5.0
Behavior4/5

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

No annotations were provided, so the description must fully carry behavioral transparency. It clearly discloses the multi-tier resolution strategy and explicitly states that it reports coverage gaps. This gives the agent good understanding of what to expect.

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

Conciseness4/5

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

The description is two sentences long and front-loads the key information about the three tiers. The first sentence is dense but clear. Every phrase earns its place. Could be slightly more concise by removing the parenthetical list details.

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

Completeness4/5

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

Given the single parameter, no output schema, and no annotations, the description provides a complete picture of what this tool does and its output (coverage gaps). It explains the multi-tier approach sufficiently for an agent to decide when to invoke it.

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 schema description coverage is 100%, so baseline is 3. The description adds value by explaining the topic parameter as 'Activity/process/method to check' and provides an example, but does not add additional semantics about format or constraints beyond the schema.

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

Purpose4/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 as a '3-tier compliance resolver' with explicit coverage reporting. It distinguishes from sibling tools like cms_gap_report and cms_coverage_scan by specifying the specific three tiers of sources checked.

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

Usage Guidelines3/5

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

The description gives context on when to use (to check compliance against multiple sources) and which tier is mandatory (Tier 2). However, it does not clarify when one might prefer this over the specific single-source tools like cms_bdlaws_act or cms_risk_lookup, nor does it explain when not to use it.

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

cms_coverage_scanB

Library-to-standard coverage scan: maps the 584-requirement catalog domains/categories and reports counts and registered assets.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It mentions 'reports counts and registered assets' but doesn't state whether the scan is read-only or destructive, how long it might take (e.g., a large scan could be slow), or whether it modifies state. The lack of behavioral detail is a gap.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose. It could be slightly improved by breaking into two sentences or adding a comma after 'scan', but overall it is concise and direct.

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

Completeness3/5

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

Given the tool has no parameters and no output schema, the description provides a reasonable overview. However, it doesn't mention return format (e.g., JSON structure of counts and assets) or behavior when the catalog is empty, which would help the agent understand what to expect.

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

Parameters4/5

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

The tool has zero parameters, and schema description coverage is 100% (empty schema). The description explains the fixed scope (584-requirement catalog) and what the scan produces, adding sufficient context beyond the empty schema. There is nothing more to document.

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

Purpose4/5

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

The description clearly states it performs a coverage scan mapping 584-requirement catalog domains/categories and reporting counts/assets. This distinguishes it from sibling tools like cms_list_requirements and cms_check_compliance, though the exact output structure is vague.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus siblings. For example, cms_gap_report and cms_stats might overlap; the description doesn't clarify when coverage_scan is preferred or what prerequisites exist (e.g., scanning requires pre-loaded data).

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

cms_document_complianceB

Compliance mapping for ERP document types (55 types) in 3-tier order - T1 internal policy/SOP/manual, T2 Bangladesh law, T3 global standard, plus indicative owner.

ParametersJSON Schema
NameRequiredDescriptionDefault
tierNoSearch within a compliance tier value (e.g. "Labour Act", "ISO 9001")
limitNoMax rows (default 100)
ownerNoFilter by Indicative Owner (e.g. "Head of Tax", "Chief HR Officer")
document_typeNoDocument type filter (e.g. "Trade License", "BIN", "NID", "Employment Contract")

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully convey behavioral traits. It mentions data structure (55 types, 3 tiers) but does not disclose whether the operation is read-only, what side effects occur, authentication requirements, or return format. For a tool with zero annotation coverage, this is insufficient.

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

Conciseness4/5

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

The description is a single, dense sentence that packs significant information (55 types, 3-tier hierarchy, owner) without redundancy. It is efficiently front-loaded, though splitting into two sentences might improve readability slightly.

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

Completeness2/5

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

Given the tool has 4 optional parameters, no output schema, and no annotations, the description is too brief. It does not explain what the tool returns (list or single mapping), how the tiers are ordered, or what 'indicative owner' means in practice. For a compliance mapping tool, more context about output structure is essential.

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

Parameters4/5

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

Schema description coverage is 100% via parameter descriptions, providing good examples for each parameter. The tool description adds extra value by explaining the tier structure (T1 internal policy, T2 Bangladesh law, T3 global standard) and the 'indicative owner' concept, which is not present in the schema. This enriches understanding beyond the basic parameter descriptions.

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 it is a 'compliance mapping for ERP document types (55 types) in 3-tier order', specifying the resource (document types), verb (mapping), and unique context (three-tier hierarchy including T1, T2, T3). This distinguishes it from sibling tools like cms_check_compliance or cms_list_requirements, which serve different purposes.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. While the description implies it's for finding which compliance tier a document type belongs to, it does not clarify when to prefer this over cms_check_compliance or cms_search_policy, nor does it provide exclusion criteria or context.

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

cms_gap_reportC

Coverage gap report: requirements whose domain has no candidate internal document match, plus Bangladesh risk-register summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 50)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description is the sole source of behavioral context. It reveals it produces a report combining two data sources, but omits crucial details: read-only or mutating? Pagination behavior? Does it require prior calls to other tools? The lack of side-effect, auth, or response-format disclosure limits the agent's ability to predict usage consequences.

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

Conciseness4/5

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

The description is a single sentence—efficient and to the point. It could be slightly restructured to separate the two report components, but overall it avoids wordiness. No wasted content.

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

Completeness2/5

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

Despite having only one simple parameter, the tool's purpose is compound (gap analysis + risk register) and there is no output schema. The description does not explain what the returned data looks like, how rows are organized, or how the two parts interrelate. For a report-generating tool that seems to combine two distinct outputs, a more detailed description is warranted for correct invocation and interpretation.

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 single 'limit' parameter is fully described in the schema ('Max rows (default 50)'), so schema coverage is 100%. The description adds no additional meaning—it doesn't clarify which part of the report the limit applies to (gap rows, risk rows, or combined). Baseline of 3 is appropriate since the schema already documents the parameter adequately.

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

Purpose4/5

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

The description clearly states the tool produces a 'coverage gap report' combining requirements with no candidate document match and a Bangladesh risk-register summary. This distinguishes it from simpler listing tools (cms_list_requirements) and single-purpose tools (cms_risk_lookup), though it does not explicitly name alternatives.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus sibling tools like cms_coverage_scan or cms_risk_lookup. The description does not mention prerequisites, ordering, or scenarios where the gap report is appropriate/inappropriate.

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

cms_get_requirementA

Get full 13-field detail of a single compliance requirement by name (what it is, why, how it should work, minimum requirements, evidence, pass criteria, non-compliance triggers, owner).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesRequirement name (e.g. "Companies Act Compliance")

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description bears the full burden. It describes the tool as a 'Get' operation (read-only), which is consistent with its purpose. However, it does not disclose any behavioral traits such as whether the requirement must exist, error handling (e.g., if name not found), permissions required, or performance implications. The description is adequate but not rich beyond the obvious.

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

Conciseness4/5

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

The description is a single sentence of moderate length. It is front-loaded with the action and resource, then lists the fields concisely. No wasted words. However, it could be slightly shorter by omitting the field list (which is implied by 'full detail') or moving to a structured format, but this is not a significant issue.

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

Completeness4/5

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

Given the tool's low complexity (1 simple parameter, no output schema, no nested objects), the description is complete enough. It tells the agent what the tool does, what it returns (13 fields with examples), and how to use it (by name). While no output schema exists, the description compensates by listing the field categories. Siblings provide context for differentiation.

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?

Schema coverage is 100% with only one parameter ('name'). The schema already describes it as 'Requirement name (e.g. "Companies Act Compliance")'. The description adds no additional meaning beyond the schema—it only reiterates that the tool gets details 'by name'. For a single parameter with full schema coverage, a baseline of 3 is appropriate.

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 uses a specific verb ('Get') and a clear resource ('full 13-field detail of a single compliance requirement by name'). It also enumerates the fields included (what it is, why, how it should work, minimum requirements, evidence, pass criteria, non-compliance triggers, owner), which distinguishes it from sibling tools like cms_list_requirements (which likely returns a list) and cms_check_compliance (which likely checks status).

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 implicitly states when to use this tool: to retrieve full detail of a single requirement by name. It does not explicitly say when not to use it or name alternatives, but the context of sibling tools (e.g., cms_list_requirements for a list, cms_check_compliance for a compliance check) provides implicit differentiation. The 'by name' constraint is clear.

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

cms_list_requirementsA

List/filter compliance requirements from the CMS catalog (584 requirements / 80 domains / 11 categories). Filters: query, domain, category, owner, applicability. Returns up to 200 rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (default 50, max 200)
ownerNoFilter by Indicative Process Owner (e.g. "Company Secretary")
queryNoFree-text search across name, domain, category, applicability, owner
domainNoFilter by Domain Name (e.g. "Corporate Governance Compliance")
categoryNoFilter by Category (e.g. "Governance, Legal & Integrity")
applicabilityNoFilter by Typical Applicability / SBU

TDQS

A4/5.0
Behavior4/5

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

Since no annotations are provided, the description must fully disclose behavioral traits. It reveals the max return limit (200 rows) and the free-text search behavior ('across name, domain, category, applicability, owner'), which gives the agent a good understanding of the tool's scope and constraints. It does not mention pagination or ordering, but given the complexity (filtering tool with no destructive impact), the disclosure is strong.

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 extremely concise: two sentences. The first sentence defines the action, resource, and catalog scope. The second sentence lists the filters and the max return. Every piece of information earns its place—there is no redundant or filler content. Perfectly front-loaded and scannable.

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

Completeness4/5

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

Given the parameter count (6, all optional), no output schema, and the straightforward nature of a filtering/list tool, the description provides sufficient context. It tells the agent what the tool does, what filters are available, and the max result count. A 5 would require additional details like default sorting, behavior when limit is exceeded, or whether filters are case-sensitive, but overall the description is complete for the tool's complexity.

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?

Schema description coverage is 100%, meaning all 6 parameters are already documented in the input schema. The description adds minimal value beyond the schema—it lists the filter parameters but provides no additional semantic context (e.g., how filters combine—AND or OR? can multiple owners be specified?). Since schema coverage is high, baseline is 3, and the description does not earn a higher score by adding meaningful extra detail.

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 verb ('List/filter') and the resource ('compliance requirements from the CMS catalog'), and provides specific scope details (584 requirements / 80 domains / 11 categories). It distinguishes itself from siblings by explicitly naming all filterable fields and the max return limit, making it clear this is a general listing tool, unlike sibling tools like 'cms_get_requirement' (single item) or 'cms_gap_report' (analysis).

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

Usage Guidelines3/5

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

The description lists the available filters (query, domain, category, owner, applicability), which implies when to use this tool (e.g., when you need to browse or filter requirements). However, it does not provide explicit guidance on when NOT to use this tool (e.g., when you need a single specific requirement by ID—that would be cms_get_requirement) or when alternatives like cms_search_policy or cms_risk_lookup might be more appropriate. Implied usage is adequate but not explicit.

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

cms_risk_lookupB

Look up Bangladesh legal risks from the risk register (2,612 rows) by SBU, area, or topic, with specific legal basis, possible liability/penalty, and risk level.

ParametersJSON Schema
NameRequiredDescriptionDefault
sbuNoBusiness activity / SBU category (e.g. "A. CORPORATE, TAXATION & FINANCE")
areaNoFunctional / business area (e.g. "Tax (VAT)")
limitNoMax rows (default 20)
topicNoRisk scenario keyword (e.g. "cheque dishonor" or "sanctions screening")
minLevelNoMinimum risk level to return: Critical, High, Medium, Low

TDQS

B3.1/5.0
Behavior2/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 mentions the data source and output fields but omits critical details: whether filters are AND/OR, what happens when no filter is given (return all 2,612 rows?), and default pagination behavior (limit defaults to 20 per schema but not stated). This ambiguity hinders safe invocation.

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

Conciseness4/5

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

The description is a single concise sentence that front-loads the core action and resource. It wastes no words, but it could be improved by structuring into distinct purpose and usage sections. Still, it is efficient and immediately scannable.

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

Completeness2/5

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

Given the tool's complexity (5 optional parameters, no output schema, 10 siblings, no annotations), the description is incomplete. It lacks explanation of default behavior with no filters, output format, and whether filters are inclusive or exclusive. The mention of output fields is vague. A more complete description would cover these aspects to ensure correct agent invocation.

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?

Schema description coverage is 100% with each parameter's purpose already clear. The description adds minimal value beyond the schema, only restating that filtering is by 'SBU, area, or topic' and listing output fields. It does not clarify parameter interactions (e.g., can they be combined?) or provide additional syntax context. Baseline 3 is appropriate.

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 function: 'Look up Bangladesh legal risks from the risk register (2,612 rows) by SBU, area, or topic, with specific legal basis, possible liability/penalty, and risk level.' It uses a specific verb ('look up'), identifies the resource ('risk register'), and distinguishes the tool from siblings like 'cms_search_policy' or 'cms_check_compliance' by focusing on a risk register with legal details.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus its siblings. It does not mention prerequisites, when to avoid, or alternative tools. The use case is implied but not explicitly compared to other cms tools, leaving the agent to infer context from the tool name alone.

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

cms_search_policyA

Search the internal ARL policy/SOP/manual library (Tier 1) for a topic. Hybrid integration: resolves real documents from the shared ARL-DMS index (14,535 entries) first, falls back to live Drive. Returns matched documents with name, path, drive id, url, source. For document text/OCR use ARL-DMS MCP dms_fetch.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax documents (default 5)
topicYesTopic to search, e.g. "anti bribery" or "food safety" or "leave policy"

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description fully carries the burden of behavioral disclosure. It clearly explains the hybrid integration (tries index first, falls back to Drive) and the return format (name, path, drive id, url, source). While it doesn't explicitly state that this is a read-only operation, the search nature and fallback mechanism strongly imply no destructive side effects. A minimal score deduction for not explicitly stating read-only or potential delays from fallback.

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

Conciseness4/5

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

The description is concise (3 sentences) and front-loaded with the core purpose. The key instruction about document text/OCR is placed at the end, which is logical context but could be more prominent to prevent misuse. No redundant information.

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

Completeness4/5

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

The tool has 2 simple params and no output schema. Given the complexity, the description adequately covers the search behavior, source, and output fields. It might benefit from noting any rate limits or document count expectations, but this is a minor gap for a relatively straightforward search tool.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by providing context for the 'topic' parameter ('e.g. "anti bribery" or "food safety" or "leave policy"'), clarifying its semantics beyond the schema's minimal description. For 'limit', it adds a default value ('5') not present in the schema. This elevates the score to 4.

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 uses specific verbs ('search', 'resolves', 'returns') and identifies the resource precisely: 'internal ARL policy/SOP/manual library (Tier 1)'. It clearly distinguishes itself from sibling tools like cms_bdlaws_act or cms_business_documents by specifying the source (ARL-DMS index) and fallback (Drive).

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

Usage Guidelines5/5

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

The description explicitly states the tool's scope ('internal ARL policy/SOP/manual library'), the hybrid search mechanism, and crucially tells the agent when NOT to use it: 'For document text/OCR use ARL-DMS MCP dms_fetch'. This clear redirection provides excellent decision guidance.

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

cms_statsA

Return CMS inventory statistics: total requirements, domains, categories, risk register rows, document types, business documents, BD laws.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description must carry the full burden. It clearly indicates this is a read-only operation returning statistics, which is appropriate. However, it does not disclose any potential limitations such as caching, data freshness, or whether the statistics reflect real-time or snapshot data. The description is straightforward but lacks depth on behavioral details.

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

Conciseness4/5

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

The description is a single sentence that clearly lists the output categories. It is concise and front-loaded with the tool's purpose. However, the list of categories is somewhat packed together without separators (commas or bullets), which slightly reduces readability. No redundant information.

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

Completeness3/5

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

The tool has zero parameters and no output schema, so the description is the sole source of behavioral information. It adequately explains the return content, but it does not describe output format, pagination, or potential errors. Given the tool's simplicity, the description is minimally complete but could be improved by adding a note about the data being aggregated or representative.

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

Parameters4/5

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

The input schema has zero parameters, so the description does not need to explain parameter behavior. The description adds value by specifying what statistics are returned, which is meaningful context beyond the schema. With 100% schema coverage (effectively no params), a baseline of 4 is appropriate, and the description provides relevant detail.

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

Purpose4/5

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

The description clearly states it returns CMS inventory statistics, listing specific categories like requirements, domains, categories, risk register rows, etc. This is a specific verb ('Return') and resource ('CMS inventory statistics'), and while it doesn't explicitly differentiate from siblings, the list of statistics distinguishes it well.

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

Usage Guidelines3/5

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

The description implies this is the tool to use for aggregated counts or summaries rather than detailed lists. However, it provides no explicit guidance on when to use this tool versus, e.g., cms_list_requirements for a list of all requirements or cms_gap_report for a report. No alternative tools are mentioned, and no prerequisites or constraints are given.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 11 tool updatesv1.1.0
    • First observedcms_bdlaws_act
    • First observedcms_business_documents
    • First observedcms_check_compliance
    • First observedcms_coverage_scan
    • First observedcms_document_compliance
    • First observedcms_gap_report
    • First observedcms_get_requirement
    • First observedcms_list_requirements
    • First observedcms_risk_lookup
    • First observedcms_search_policy
    • First observedcms_stats

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have distinct purposes (listing requirements, getting detail, checking compliance, searching policy, etc.). However, cms_list_requirements and cms_coverage_scan both deal with the 584-requirement catalog and domains, which could cause some confusion—cms_coverage_scan specifically reports domain/category counts and assets, but the distinction may not be immediately clear to an agent.

Naming Consistency5/5

All tools follow a consistent and informative prefix pattern: cms_ followed by a verb_underscore_noun (e.g., cms_list_requirements, cms_check_compliance, cms_get_requirement). This makes it easy to predict tool behavior from the name alone.

Tool Count5/5

With 11 tools, the server is well-scoped. Each tool addresses a specific compliance-related task or query, and the number feels appropriate for the domain—neither too sparse nor overwhelming. The tool count supports effective navigation without redundancy.

Completeness4/5

The tool surface covers the main compliance workflow: listing/fetching requirements, checking compliance against multiple tiers, searching internal policies, looking up risks, and mapping documents. Minor gaps exist—for example, there is no tool to add or update requirements or internal policies, and no direct way to fetch full document content (but that is handled by another MCP server).

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sakibntanmoy006/arl-cms-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server