Skip to main content
Glama

dutiful

Server Details

Cited company background reports for agents from official registries. $3 per report via x402.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
dutiful-hq/dutiful-mcp
GitHub Stars
0

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool maps to a distinct stage of a linear workflow: free search, order creation/payment setup, and report retrieval/status. The descriptions explicitly link them (check_coverage -> create_order -> get_report), leaving little chance of misselection.

Naming Consistency5/5

All three names follow a clear verb_noun pattern: check_coverage, create_order, get_report. The verbs differ appropriately by action while the convention remains fully consistent.

Tool Count5/5

Three tools are exactly what this narrow search-to-payment-to-report pipeline needs. There is no redundant or filler tool, and the surface is well scoped rather than artificially thin.

Completeness4/5

The core lifecycle is covered: free discovery, entity selection with payment requirements, and status/report retrieval. Minor gaps exist around managing existing orders (e.g., listing or canceling pending orders), but the primary workflow has no dead end.

Available Tools

3 tools
check_coverageCheck coverageA
Idempotent
Inspect

Free. Searches the official company register of the given country for the company name and returns the matching entities (idx, registry reference, name, address), an order id, and what a report covers. Nothing is charged. Supported country codes: GB, FR, NO, FI, CZ, EE, SK, LV, IL, CA, CY, US (CA: federal corporations only; US: SEC reporting companies only).

NameRequiredDescriptionDefault
companyYesCompany name to look up.
countryYesTwo-letter country code: GB, FR, NO, FI, CZ, EE, SK, LV, IL, CA, CY, US.

TDQS

A4.2/5.0
Behavior3/5

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

It adds genuine context beyond the annotations: no charge is incurred, the response includes an order id and report-coverage information, and coverage is limited for CA (federal corporations only) and US (SEC reporting companies only). However, readOnlyHint=false is counterintuitive for something described as a 'search', and the description never explains what the returned order id implies about server-side state or side effects, leaving the most important behavioral question unanswered.

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?

Three sentences, zero waste, with the most decision-relevant fact ('Free') front-loaded and the coverage caveats consolidated at the end. Nothing is repeated from the schema unnecessarily.

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?

With no output schema, the description correctly enumerates the returned fields and the order id, and it documents per-country coverage limits. It does not say what happens when there are zero matches, whether the order id expires, or whether results are paged, which is a modest gap for a two-parameter lookup 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, but the description adds real meaning the schema omits: the country code list is restated and, more importantly, qualified with the CA and US coverage restrictions that materially change what a match means. It adds no format guidance for the company name beyond the schema's length bounds.

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?

Specific verb and resource: it searches an official company register for a given company name in a given country and enumerates exactly what comes back (idx, registry reference, name, address, order id, report coverage). The 'Free / Nothing is charged' framing plus enumerated return fields make it distinguishable from create_order and get_report without opening the schema.

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 makes the usage context clear: a free lookup that also tells you what a report covers and hands back an order id, which strongly implies calling it before create_order. It stops short of an explicit 'use this instead of / before X' sentence and states no exclusions beyond the country coverage list.

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

create_orderCreate orderAInspect

Selects one entity from the check_coverage results (idx, starting at 0) and returns the x402 payment requirements for a report (USDC on Base, exact amount in the requirements). This tool does not pay. To pay, send the signed payment in a PAYMENT-SIGNATURE header to the returned pay_url, then read the report with get_report.

NameRequiredDescriptionDefault
idxYesIndex of the chosen entity in the check_coverage candidates.
companyYesSame company name used in check_coverage.
countryYesSame country code used in check_coverage.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare non-read-only, open-world, non-idempotent, non-destructive behavior. The description adds valuable context: it returns payment requirements in USDC on Base, does not perform payment, and requires a signed PAYMENT-SIGNATURE header to proceed. It does not explain whether the call creates or reserves an order, so it is not fully transparent about write-side effects.

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 short and front-loaded with purpose, followed by the non-payment behavior and next-step workflow. Every sentence contributes useful 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?

With no output schema, the description still explains the return type, currency/network, amount inclusion, and the key pay_url field. It is sufficient to call and proceed, though it could enumerate the full response shape or clarify order creation side effects.

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%, and each parameter already has a description. The description adds only that idx is zero-based and ties the parameters to check_coverage results, so it adds some meaning but mostly restates structured information.

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?

States a specific action: selecting one check_coverage candidate and returning x402 payment requirements. It clearly distinguishes the tool from check_coverage and get_report by describing its role in the workflow.

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?

Explicitly says the tool does not pay, then explains the next step: send the signed payment in a PAYMENT-SIGNATURE header to the returned pay_url, then use get_report. This gives both when to use it and how it relates to alternatives.

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

get_reportGet reportA
Read-onlyIdempotent
Inspect

Returns the status of an order and, once delivered, the report (structured JSON and plain text). Status values: pending_entity, pending_payment, paid, delivered. An unpaid order returns its payment requirements.

NameRequiredDescriptionDefault
order_idYesOrder id (UUID) returned by check_coverage or create_order.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish that this is a read-only, idempotent, non-destructive operation, so the bar is lower. The description adds useful behavior beyond annotations by explaining status values, that the report is returned only once delivered, its formats, and that unpaid orders return payment requirements.

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 three tight sentences with the main purpose front-loaded. The status-value list and unpaid-order caveat each serve a clear behavioral purpose without waste.

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?

For a one-parameter read tool with annotations and no output schema, the description gives enough return-value context: status, report formats, and unpaid-order payment requirements. It does not detail the exact report structure, but it is otherwise sufficient for correct 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%, and the only parameter, order_id, is already documented as a UUID returned by check_coverage or create_order. The description adds no additional parameter semantics, so the baseline score of 3 is appropriate.

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 states a specific verb and resource: returns an order's status and, once delivered, its report. It clearly describes the status states and the unpaid-order behavior, but it does not explicitly distinguish itself from sibling tools such as check_coverage or create_order.

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?

Usage is implied: the tool is for checking an order after it has been created or checked for coverage, and the schema notes that order_id comes from those sibling tools. However, the description does not explicitly say when to use this tool versus alternatives or provide exclusions.

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.

  1. 3 tool updates
    • First observedcheck_coverage
    • First observedcreate_order
    • First observedget_report

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables lookup of licensed US real estate agents on official state license registers by license number or name, returning the brokerage of record along with its active agent count, size band, and the agent's license status and expiry. It also lists every active agent at a given brokerage or every brokerage office in a zip code across 19 states.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides real-time company verification and corporate intelligence by accessing global registries like UK Companies House, Singapore ACRA, and OpenCorporates. It enables AI agents to perform KYC tasks, retrieve company profiles, and conduct automated risk assessments for due diligence workflows.
    80 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables 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.
    21
    96 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.