Skip to main content
Glama

Server Details

Extract structured data from a web page, read it as markdown, verify values against the source.

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
Uptime
100.0% over 20 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: read, extract, verify, search, watch, list monitors, read monitor history, stop monitor, and read account. Overlaps like read vs extract are explicitly differentiated by output type and usage, and monitor listing vs history are separated by scope.

Naming Consistency4/5

All tools use a consistent `contrie_` prefix and lowercase snake_case, which is highly predictable. The only minor deviation is that some names are nouns (account, monitors, changes) while others are verbs (extract, read, search, unwatch, verify, watch), rather than a strict verb_noun pattern.

Tool Count5/5

Nine tools is well-scoped for a web data extraction and monitoring service. Each tool earns its place by covering a distinct operation without obvious redundancy or bloat.

Completeness4/5

The surface covers the core lifecycle: account checks, page reading/extraction, search, verification, monitor creation, listing, history, and stopping. Minor gaps include no monitor update operation (e.g., changing cadence or question) and no direct single-monitor get beyond list/history, but these are workable through existing tools.

Available Tools

9 tools
contrie_accountCheck account credits and current restrictionsA
Read-only
Inspect

Read your own account’s used, reserved and unreserved included credits, next allowance reset and current restrictions. Costs zero extraction credits and reserves no capacity. Eligibility is advisory: source, service and request-specific checks still apply. Requires account authorization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only provide readOnlyHint and openWorldHint. The description adds valuable behavioral context: zero extraction credit cost, no capacity reservation, advisory eligibility with source/service/request-specific checks still applying, and an account authorization requirement. This goes well beyond the structured annotations.

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?

Two sentences with no filler. The first sentence front-loads the purpose, and the second adds cost, capacity, eligibility caveats, and authorization requirements. Every clause earns its place.

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

Completeness5/5

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

For a zero-parameter, read-only account status tool, the description is complete: it states what is read, that it is free and non-reserving, that eligibility is advisory, and that authorization is required. No output schema exists, but the description sufficiently indicates the kind of information returned.

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%, so there is nothing for the description to add about parameter semantics. The zero-parameter baseline of 4 applies.

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 names a specific verb ('Read') and a precise resource: the user's own account credits, allowance reset, and restrictions. This clearly distinguishes it from siblings like contrie_extract or contrie_read, which focus on other operations.

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 usage context by noting it costs zero extraction credits, reserves no capacity, and gives advisory eligibility. However, it does not explicitly name alternatives or state when not to use this tool, so the guidance is implied rather than explicit.

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

contrie_changesRead what a monitor has seenA
Read-only
Inspect

Read a monitor's history: its latest answer with evidence status and the last 20 events (baseline, change, error). Pass nextCursor as before for older events, or eventId to recover one exact event; do not combine them. Also returns monitor.runStatus for one current original slot: scheduled (future with no outstanding work), pending (work may still complete or publish), needs_review (reason result_unconfirmed or result_unavailable), or unknown (ambiguous evidence, including a recent stopped claim whose request ownership cannot be proved). Each object includes scheduledFor, the UTC millisecond due time; only needs_review includes reason. Stopped idle runStatus is null only with complete positive no-outstanding current-slot evidence. statusRead {coverage: complete, observedAt} covers the monitor/status database statement observation, not separately read events or fleet/history counts. Pending promises no running process, charge, completion time or recovery; review reasons imply neither refund, failed extraction nor semantic correctness. Snapshot failure is SERVICE_UNAVAILABLE. Reading does not change monitoring or accounting state; ordinary authentication and rate-limit effects apply. Every change carries the full before and after responses with evidence, and a diff of the fields that moved. Charges no credits. Requires authentication: sign in with your Contrie account (OAuth), or send an API key in the Authorization header.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe monitor id
beforeNonextCursor from the previous page; omit for the latest 20 events
eventIdNoAn exact retained event ID from this monitor or its webhook; do not combine with before

TDQS

A4.1/5.0
Behavior5/5

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

Well beyond the readOnly/openWorld annotations, it discloses auth requirements (OAuth or API key in Authorization), rate-limit effects, that reading does not mutate monitoring or accounting state, that it charges no credits, and that snapshot failure surfaces as SERVICE_UNAVAILABLE. It also carefully scopes the statusRead coverage claim to the monitor/status statement only, which prevents over-reading the evidence.

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 core purpose is front-loaded and most sentences carry distinct semantics (runStatus states, statusRead scope, event diff contents). It is dense and includes some defensive hedging ('Pending promises no running process, charge...') that borders on legal boilerplate, keeping it just short of a 5.

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

Completeness5/5

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

With no output schema, the description carries the full burden of explaining the return shape — runStatus values and their meanings, statusRead coverage, and the before/after evidence diff on every change — and it does so thoroughly. An agent has everything needed to call it and interpret the result.

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 already 100%, so the schema documents all three params; the description adds real value on top by clarifying the mutual exclusion of before/eventId and the recovery semantics of each. It stops short of name-level detail but meaningfully augments 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 opens with a specific verb+resource ('Read a monitor's history') and enumerates what comes back (latest answer with evidence status, last 20 events of baseline/change/error). This is far more concrete than its generic-name siblings, but it never names or contrasts with contrie_read, contrie_search, or contrie_verify, so an agent must infer which read tool fits.

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?

It gives clear when-to-use guidance for its own parameters — pass nextCursor as before for older events, or eventId to recover one exact event, and do not combine them. However, it offers no routing advice against the overlapping sibling read tools (contrie_read, contrie_search), so tool-selection guidance is only implied.

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

contrie_extractExtract structured data from a web pageA
Read-only
Inspect

Extract structured data from one public web page. Describe the fields you want in natural language and/or pass a JSON Schema for the exact shape. Returns JSON plus metadata: qualityScore (0-100; structured acceptance also requires success and valid), grounding (value presence, not field attribution), high-level progress and credits charged. Also returns groundingFields, a per-field grounding verdict with page excerpts, so you can see which extracted values have matching source text; this does not establish factual truth or correct field association. metadata.binding, when present, lists the paths of fields whose value is on the page while the passages about that field state a different value. Requires authentication: sign in with your Contrie account (OAuth), or send an API key in the Authorization header. A small set of recorded sample requests works without either. An accepted answer costs 1, 3, 8 or 15 credits; a refused one costs 0. Each plan caps one request's credits, rendering included (Free 3, Builder 5, Pro 17); an answer above the cap is refused and costs 0. Not a crawler or a search engine: one page per call. Eligible JavaScript shells can use bounded browser rendering; successful rendered answers add 2 credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe public web page to extract from
maxAgeNoAccept page bytes from your account fetched up to this many seconds ago; origin expiry may be shorter. Default 0 bypasses cache reads/writes. Query/fragment/user-info URLs and restricted origin responses are never cached.
renderNoauto (default): render in a browser only if the page is a JavaScript shell; always: render first; never: plain fetch only. Only a successful rendered result adds 2 credits.
schemaNoJSON Schema subset, max 10,000 serialized UTF-8 bytes: object/array/string/number/integer/boolean, properties, required, items, enum
extractNoWhat to extract, in natural language (e.g. "product name, price, and stock status")
idempotencyKeyNoStable request ID, 8–200 visible ASCII characters. Reuse the same ID and inputs to recover a completed response for 24 hours without another extraction or charge. Use a new ID for deliberately new work. Requires authentication.

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond readOnlyHint/openWorldHint: discloses credit costs (1/3/8/15), zero cost on refusal, per-plan caps (Free 3, Builder 5, Pro 17), the 2-credit rendering surcharge, auth requirements, sample-request exception, and exactly what the returned grounding verdicts do and do not prove. This is unusually rich behavioral context.

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?

Purpose is front-loaded and each clause carries information, but the description is dense and long – the credits/caps/pricing detail is thorough perhaps beyond what is needed to select and call the tool. Still, little is wasted for a tool with this much behavioral surface.

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

Completeness5/5

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

There is no output schema, so the description carries the return-shape burden and does so thoroughly (qualityScore semantics, grounding meaning and its limits, groundingFields, metadata.binding, progress, credits). Auth, cost, and scope prerequisites are all covered, leaving no gap that would block 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?

Schema coverage is already 100%, so baseline is 3, but the description adds real meaning: it clarifies the interplay of NL fields vs Schema and ties rendering/cost behavior to the render parameter and cache behavior to maxAge. Guidance is useful though not exhaustive on enum edge cases.

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 verb and resource ('Extract structured data from one public web page') and immediately bounds scope with 'Not a crawler or a search engine: one page per call', which cleanly separates it from batch/read/verify siblings. An agent can tell what it does 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?

Explains how to drive it (describe fields in natural language and/or pass a JSON Schema) and gives an explicit when-not ('not a crawler or search engine'), plus auth and cache conditions. It stops short of naming which sibling to use for multi-page or monitoring work, so routing is left to inference.

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

contrie_monitorsList your active monitorsA
Read-only
Inspect

List your active monitors: id, url, question, cadence, next scheduled run, latest answer and current-slot runStatus. Includes one statusRead for the complete account snapshot, even when empty; unavailable snapshots fail. Stopped monitors are not listed; their history stays readable. Status grants no recovery work or financial conclusion. Charges no credits. Requires authentication: sign in with your Contrie account (OAuth), or send an API key in the Authorization header.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior5/5

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

Despite existing readOnlyHint and openWorldHint annotations, the description adds substantial behavioral detail: it performs one statusRead for a complete account snapshot even when empty, unavailable snapshots fail, stopped monitors are not listed but their history remains readable, no credits are charged, and the status output is not a recovery or financial conclusion. It also documents authentication via OAuth or API key. This goes well 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.

Conciseness4/5

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

The description is front-loaded with the core purpose and return fields, followed by concise behavioral notes. It is one dense paragraph rather than a list, but nearly every clause adds useful information and nothing is obviously redundant.

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

Completeness5/5

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

Given no output schema, the description enumerates the returned fields and explains account snapshot behavior, failure conditions, listing scope, cost, authentication, and status limitations. An agent has enough context to call and interpret the tool correctly.

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?

There are zero input parameters, so the schema has nothing to document and the description appropriately focuses on output fields rather than input semantics. The baseline for a zero-parameter tool is 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 opens with a specific verb and resource: 'List your active monitors', then enumerates the exact fields returned (id, url, question, cadence, next scheduled run, latest answer, runStatus). It also scopes the result to active monitors and explicitly excludes stopped monitors, which distinguishes it from sibling tools like contrie_unwatch and contrie_watch.

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 supplies context (active-only scope, authentication requirements, no credit charge) but never names alternative tools or states when to use this tool versus siblings like contrie_account, contrie_read, or contrie_search. Usage is implied rather than explicitly guided.

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

contrie_readRead a web page as markdownA
Read-only
Inspect

Read one public web page as clean, structure-preserving markdown (headings, lists, tables, links) with common page boilerplate removed where recognized. A successful read costs 1 credit; a failed one costs 0. Returns the full REST-shaped JSON response in this tool's text content: data is null, markdown holds the page, and metadata includes credits and evidence status. Returns the page as markdown, not typed fields. Contrie reads at most the first 100,000 characters of the page's markdown; metadata.evidenceCoverage.sourceTruncated is true when it cut. Requires authentication: sign in with your Contrie account (OAuth), or send an API key in the Authorization header. Eligible JavaScript shells can use bounded browser rendering; successful rendered reads add 2 credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe public web page to read
maxAgeNoAccept page bytes from your account fetched up to this many seconds ago; origin expiry may be shorter. Default 0 bypasses cache reads/writes. Query/fragment/user-info URLs and restricted origin responses are never cached.
renderNoauto (default): render in a browser only if the page is a JavaScript shell; always: render first; never: plain fetch only. Only a successful rendered result adds 2 credits.
idempotencyKeyNoStable request ID, 8–200 visible ASCII characters. Reuse the same ID and inputs to recover a completed response for 24 hours without another extraction or charge. Use a new ID for deliberately new work. Requires authentication.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the credit model (1 credit success, 0 failure), the +2 credit rendered-read surcharge, the 100,000-character cap with the sourceTruncated flag, and the authentication options (OAuth sign-in or API key header). This is exactly the behavioral context an agent needs before invoking.

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?

Front-loaded with the purpose in the first clause, and nearly every sentence earns its place (cost, return shape, truncation, auth, rendering). Minor redundancy between 'Returns the full REST-shaped JSON response...' and 'Returns the page as markdown, not typed fields' costs it the top score.

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

Completeness5/5

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

With no output schema, the description compensates by explaining the response envelope (data null, markdown field, metadata with credits and evidence status), so an agent knows what a call returns. Combined with the auth, cost, and truncation notes, nothing needed to invoke correctly is missing.

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 the baseline is 3 and the schema already carries per-parameter detail. The description adds real connective meaning by tying the render pathway to additional credit cost and the truncation flag to evidenceCoverage, going slightly beyond the raw schema text.

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 verb (read), resource (one public web page), and output format (structure-preserving markdown with boilerplate removed). The clause 'Returns the page as markdown, not typed fields' implicitly distinguishes it from a typed-extraction sibling, so an agent can route on the format alone.

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?

Some selection signals are present: 'public web page', 'not typed fields', and the render pathway for JavaScript shells. However, it never names a sibling or states when to prefer contrie_extract over contrie_read, leaving the main routing decision to inference.

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

contrie_unwatchStop a monitorA
DestructiveIdempotent
Inspect

Stop one of your monitors so it makes no further scheduled runs and no further charges; a run already in progress can still finish and be charged. History stays readable. Returns the monitor with active: false; stopping an already stopped monitor returns it unchanged. A stopped monitor cannot be restarted. Charges no credits. Requires authentication: sign in with your Contrie account (OAuth), or send an API key in the Authorization header.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe monitor id

TDQS

A4.5/5.0
Behavior5/5

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

The description goes well beyond the annotations by disclosing that an in-progress run can still finish and be charged, that history remains readable, that the return value is a monitor with active: false, that stopping an already stopped monitor is idempotent, and that the operation is irreversible. It also covers authentication requirements and that no credits are charged.

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?

Every sentence adds a distinct operational fact: stopping behavior, in-flight run behavior, history retention, return shape, idempotency, irreversibility, and authentication. The main action and immediate consequences are front-loaded, and there is no filler.

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

Completeness5/5

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

For a tool with one required param, no output schema, and meaningful side effects, the description is complete. It explains what happens to scheduled runs, charges, history, and the returned object, and it supplies authentication guidance, so an agent has everything needed to invoke it correctly.

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 sole parameter id is already described as 'The monitor id' in the schema. The description adds only the context that it is one of the user's monitors, which is not enough to raise the score above the baseline.

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

Purpose5/5

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

The description states a specific verb and resource: 'Stop one of your monitors', and clarifies the consequence of no further scheduled runs or charges. It clearly distinguishes this from sibling tools like contrie_monitors or contrie_watch by describing the precise stop behavior and irreversibility.

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 gives clear context for when to use the tool: when the user wants to stop a monitor and avoid future runs and charges. It also warns that a stopped monitor cannot be restarted, which implicitly tells the agent not to use it for temporary pauses, though it does not explicitly name alternative sibling tools.

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

contrie_verifyVerify extracted data against its source pageA
Read-only
Inspect

Check data you already have against the page it claims to come from, field by field. Takes data from any source plus a url (or raw html/text) and reports which values actually appear in the source and which do not, with a supporting excerpt for each. This check charges no credits. Requires authentication: sign in with your Contrie account (OAuth), or send an API key in the Authorization header. It answers "is this value present in this page", NOT "does the page say this about that": a value that is correct for a different field still reads as grounded.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoThe page the data claims to come from; omit if passing html or text
dataYesThe extracted data to check, as a JSON object or array
htmlNoRaw HTML of the source, max 5,000,000 UTF-8 bytes
textNoPlain text of the source, max 5,000,000 UTF-8 bytes
baseUrlNoWith html only: the page it came from, to resolve relative links; never fetched

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only provide readOnlyHint and openWorldHint, so the description carries the burden of behavioral context. It adds substantial detail: the check charges no credits, requires OAuth or an API key, accepts URL/HTML/text, reports per-field results with excerpts, and applies literal-match semantics. No contradiction with annotations.

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?

Four sentences, front-loaded with the core purpose, then input modes, cost/auth, and the key semantic caveat. Every sentence adds operational value with no filler or repetition.

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

Completeness5/5

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

With no output schema, the description still tells the agent what the tool returns: which values appear in the source, which do not, and a supporting excerpt for each. Combined with the fully detailed input schema, an agent has enough to invoke this tool correctly.

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 each parameter already has a meaningful description, including max lengths and baseUrl's 'never fetched' behavior. The description adds general context like 'url (or raw html/text)' and field-by-field checking, but not significant new parameter-level meaning beyond the schema, so 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 states a specific verb ('Check') and resource ('data you already have' against 'the page it claims to come from'), with a precise method ('field by field'). This clearly distinguishes it from sibling extraction/read tools by focusing on verification rather than retrieval or extraction.

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?

It implies when to use the tool ('data you already have') and gives a clear scope limitation: it answers 'is this value present in this page', NOT 'does the page say this about that'. It does not explicitly name alternative sibling tools, but the boundary around intended use is clear.

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

contrie_watchWatch a page for changes to an answerAInspect

Watch one public web page for one question and be told when the answer changes. Runs the extraction now as a baseline, then on a schedule with every minutes between slots (minimum 15); delayed or missed slots can occur. On a change Contrie records the before and after responses and their evidence status plus a field diff in the monitor's history, and attempts one POST to webhookUrl if given (signed X-Contrie-Signature; the secret is returned once). Every run with an accepted answer, the baseline included, is charged like one extraction (1, 3, 8 or 15 credits, plus 2 when rendered), so an hourly monitor can make up to 24 charged runs a day until it is stopped. Plans cap active monitors (Free 3, Builder 25, Pro 100). Creation is not idempotent: if a response is lost, list your monitors before retrying, or the retry creates a second monitor that also charges. Requires authentication: sign in with your Contrie account (OAuth), or send an API key in the Authorization header.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe public page to watch
everyNoMinutes between scheduled slots (default 60, minimum 15, maximum 10,080); delays or missed slots can occur
schemaNoJSON Schema of the answer, max 10,000 serialized UTF-8 bytes
extractNoWhat to watch, in plain language
webhookUrlNohttps URL to POST changes to

TDQS

A4.4/5.0
Behavior5/5

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

Goes far beyond the annotations: discloses per-run credit charges (1/3/8/15 plus 2 when rendered), hourly-run cost implications, plan caps on active monitors, schedule slippage, webhook POST with X-Contrie-Signature and one-time secret return, and history recording of before/after with evidence status and field diff. The non-idempotency warning is consistent with idempotentHint=false, so no contradiction.

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?

Purpose is front-loaded in the first sentence and every subsequent sentence carries substantive information (billing, schedule, webhook, caps, auth, idempotency). It is dense and somewhat run-on, but there is little dead weight to cut.

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

Completeness5/5

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

For a 5-parameter, non-idempotent, authenticated, metered creation tool with no output schema, the description covers auth method (OAuth or API key header), cost model, limits, side effects, webhook signing, and retry hazard — everything an agent needs to invoke it safely.

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%, so the schema already documents url, every, schema, extract, and webhookUrl. The description only restates the 'every' minimum and slot-delay behavior rather than adding new semantics for any parameter, which is the expected baseline when the schema does the heavy lifting.

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 verb and resource with scope: 'Watch one public web page for one question and be told when the answer changes.' The 'one page / one question' framing plus the baseline-then-schedule mechanic clearly separates it from contrie_monitors (listing), contrie_unwatch (removal), and contrie_extract (one-off).

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?

Gives clear operating context — creation is not idempotent and the agent should list existing monitors before retrying a lost response — which implicitly routes to the contrie_monitors sibling. It lacks explicit when-not-to-use or alternative-selection guidance (e.g., when to prefer contrie_extract over monitoring).

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. 1 tool update
    • Changedcontrie_search2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"How many results to return, 1-10. Default 5."
      • addedInput schema / properties / query / description
        Added value: +"Search text, 1-200 characters. \"Quoted phrases\", or, and -term (to exclude a word) work."
  2. 1 tool update
    • Addedcontrie_search
  3. 1 tool update
    • Changedcontrie_watch1 field changed
      • changedInput schema / properties / every / description
        Previous value: -"Minutes between scheduled slots (default 60); delays or missed slots can occur"New value: +"Minutes between scheduled slots (default 60, minimum 15, maximum 10,080); delays or missed slots can occur"
  4. 1 tool update
    • Changedcontrie_changes2 fields changed
      • addedInput schema / properties / before
        Added value: +{
        +  "description": "nextCursor from the previous page; omit for the latest 20 events",
        +  "type": "string"
        +}
      • addedInput schema / properties / eventId
        Added value: +{
        +  "description": "An exact retained event ID from this monitor or its webhook; do not combine with before",
        +  "type": "string"
        +}
  5. 2 tool updates
    • Changedcontrie_extract1 field changed
      • changedInput schema / properties / render / description
        Previous value: -"auto (default): render in a browser only if the page is a JavaScript shell; always: render first; never: plain fetch only. Rendering adds 2 credits."New value: +"auto (default): render in a browser only if the page is a JavaScript shell; always: render first; never: plain fetch only. Only a successful rendered result adds 2 credits."
    • Changedcontrie_read1 field changed
      • changedInput schema / properties / render / description
        Previous value: -"auto (default): render in a browser only if the page is a JavaScript shell; always: render first; never: plain fetch only. Rendering adds 2 credits."New value: +"auto (default): render in a browser only if the page is a JavaScript shell; always: render first; never: plain fetch only. Only a successful rendered result adds 2 credits."
  6. 2 tool updates
    • Changedcontrie_changes1 field changed
      • changedInput schema / properties / id / description
        Previous value: -"The monitor id from contrie_watch"New value: +"The monitor id"
    • Changedcontrie_unwatch1 field changed
      • changedInput schema / properties / id / description
        Previous value: -"The monitor id from contrie_watch or contrie_monitors"New value: +"The monitor id"
  7. 1 tool update
    • Changedcontrie_verify1 field changed
      • addedInput schema / properties / data / anyOf
        Added value: +[
        +  {
        +    "additionalProperties": {},
        +    "propertyNames": {
        +      "type": "string"
        +    },
        +    "type": "object"
        +  },
        +  {
        +    "items": {},
        +    "type": "array"
        +  }
        +]
  8. 1 tool update
    • Changedcontrie_verify1 field changed
      • addedInput schema / properties / baseUrl
        Added value: +{
        +  "description": "With html only: the page it came from, to resolve relative links; never fetched",
        +  "format": "uri",
        +  "type": "string"
        +}
  9. 2 tool updates
    • Addedcontrie_monitors
    • Addedcontrie_unwatch
  10. 6 tool updates
    • First observedcontrie_account
    • First observedcontrie_changes
    • First observedcontrie_extract
    • First observedcontrie_read
    • First observedcontrie_verify
    • First observedcontrie_watch

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Scrapes webpages and converts them to markdown using AI-powered interaction to automatically handle cookie banners, CAPTCHAs, paywalls, and other blocking elements before extracting clean content.
    10 npm
    47
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Fetch web pages into clean, RAG-ready Markdown with a verifiable provenance record — source URL, UTC fetch time, SHA-256 of the response body, redirect chain, and an extraction-fidelity metric. Writes WARC archives and honours robots.txt/ai.txt, so every document an agent reads can be re-verified and cited.
    217 PyPI
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources