Ragfeed
Server Details
Web pages, PDFs and search results as LLM-ready Markdown or chunks. Firecrawl-compatible, EU-hosted.
- Status
- Healthy
- Uptime
- 97.8% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 16 tools
Two well-separated families exist: the ragfeed_monitor_* lifecycle tools (each with a distinct verb) and the content-fetching tools (scrape, extract, chunks, crawl, map, search). The only real ambiguity is the single-page fetchers — scrape, extract and chunks all pull one page but return markdown, structured JSON or vector-DB chunks respectively, and crawl vs monitor_run both fetch many pages, though descriptions and the monitor prefix clarify them.
Everything is snake_case behind a uniform ragfeed_ prefix, and the monitor_* family follows a clean noun_verb pattern (monitor_create, monitor_get, monitor_update). The remaining tools are mostly bare nouns/verbs (account, chunks, scrape, search), which is minor deviation but still readable and predictable.
16 tools is at the heavier edge, but the surface splits naturally into a complete 8-tool monitor lifecycle and 8 content/account utilities. Each tool has a distinct job (estimate vs create vs run vs checks; scrape vs extract vs chunks), so nothing feels redundant, though the count is on the high side for the domain.
The monitor family covers full lifecycle (create, get, list, update/pause, delete, run, checks, estimate) with no dead ends. The content side covers search, map, single-page scrape/extract/chunks, multi-page crawl with status, plus account introspection, giving comprehensive coverage.
Available Tools
16 toolsragfeed_accountCredit balanceARead-onlyIdempotentInspect
Show the Ragfeed plan, remaining credits and when the monthly credits renew. Free of charge.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | No | Plan id (free, hobby, standard, growth). |
| error | No | Only on failed calls (isError true). |
| periodEnd | No | Date the current period ends (YYYY-MM-DD). |
| creditsLeft | No | Credits available now. |
| dashboardUrl | No | Usage and plans. |
| monthlyPlanCredits | No | Credits the plan renews each month. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds a genuinely useful behavioral fact beyond them: "Free of charge," which tells an agent that a credit-metered service does not deduct credits for this call. It stops short of stating auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the actionable content and ending with the cost reassurance. Nothing is wasted or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not the description's burden, and the description names the three fields of interest. For a zero-param read-only tool that is nearly complete; only the absence of any auth or freshness/caching note keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case. The description correctly describes the no-argument operation as a pure account summary, and there are no parameters needing explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Show") and precise resource set (plan, remaining credits, renewal date), so an agent knows exactly what it gets back. Siblings are all scraping/crawl/monitor tools in a different domain, so the tool is distinguishable, though the description never explicitly differentiates itself from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied — an agent can infer this is the tool to call for account/credit state, but there is no explicit when-to-use statement or named alternatives. For a zero-parameter informational tool this is adequate but not instructive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_chunksSplit a page into chunksARead-onlyIdempotentInspect
Fetch one page and split it along its headings into chunks ready for a vector database: each chunk has a stable UUID, the text to embed and flat metadata (title, heading path, URL, language). Costs 1 credit per page.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full http(s) address of the page or document (HTML, PDF, Word, Excel, …). | |
| offset | No | Skip this many chunks (to page through long documents). | |
| profile | No | Chunk size: precise ≈250, balanced ≈500, broad ≈1000 tokens. | balanced |
| max_chunks | No | Most chunks to return in this answer. | |
| max_tokens | No | Exact upper limit per chunk instead of the profile. | |
| id_namespace | No | Namespace for the chunk IDs, e.g. a project name. | |
| embedding_model | No | Count tokens for this embedding model so no chunk exceeds its limit. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | Address of the page. |
| error | No | Only on failed calls (isError true). |
| chunks | No | Vector-database records: id (UUID), text to embed and flat metadata. |
| offset | No | Position of the first returned chunk. |
| nextOffset | No | Offset for the next part; null when nothing is left. |
| totalChunks | No | Number of chunks of the whole page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructiveness, so the safety profile is covered. The description adds genuinely new behavioral context the annotations cannot convey: a cost of 1 credit per page and the shape of the produced chunks (stable UUID, embeddable text, flat metadata). It stops short of covering failure modes or credit-refund behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence: the action and output come first, the cost note is last. No filler and nothing repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and annotations cover the safety profile; the description supplies the credit cost and chunk contents that structured fields cannot. The only gap is error/limit behavior for a 7-parameter tool with paging and token-cap interactions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including defaults, ranges and enum meanings for profile and embedding_model, so the schema carries the parameter burden and baseline 3 applies. The description restates output metadata fields but adds no syntax or interaction detail (e.g. how max_tokens overrides profile, or how offset interacts with max_chunks).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource ('Fetch one page and split it along its headings into chunks') plus the destination use case (vector database), which is more specific than the title alone. However, it never distinguishes itself from close siblings like ragfeed_extract or ragfeed_scrape, which also fetch a single page, so the agent must infer the difference from the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Fetch one page' implies the single-page scope versus ragfeed_crawl, and the chunk-oriented output implies a vector-DB ingestion use case. But there is no explicit when-to-use, when-not-to-use, or named alternative; the routing 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.
ragfeed_crawlCrawl a websiteARead-onlyIdempotentInspect
Fetch several pages of one website by following its links, and return their content as compact markdown. Waits up to wait_seconds; larger crawls continue in the background (see ragfeed_crawl_status). Costs 1 credit per page.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Start page. | |
| limit | No | Most pages to fetch. | |
| max_depth | No | How many links deep from the start page. | |
| wait_seconds | No | How long to wait for results before answering; the crawl continues after that. | |
| exclude_paths | No | Skip URL paths matching these regular expressions. | |
| include_paths | No | Only URL paths matching these regular expressions. | |
| max_chars_per_page | No | Longest text per page in the answer. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | Crawl id for ragfeed_crawl_status. |
| error | No | Only on failed calls (isError true). |
| pages | No | Pages in this answer. |
| total | No | Pages found so far. |
| status | No | scraping, queued, completed, failed or cancelled. |
| completed | No | Pages done. |
| nextOffset | No | Offset for ragfeed_crawl_status to get further pages; null when none are waiting. |
| creditsUsed | No | Credits used by the crawl. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description goes beyond them by disclosing the wait-then-background execution model and a per-page credit cost. That cost and async behavior are operationally important and not derivable from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the primary action, then execution semantics, then cost. No filler and every sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the description still characterizes the output as compact markdown. Combined with the async hand-off to ragfeed_crawl_status and the credit cost, it is nearly complete, though the single-page vs. crawl choice is still unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema, setting the baseline at 3. The description restates wait_seconds and adds the consequence that larger crawls continue in the background, but adds no new guidance on limit, max_depth, or the include/exclude filter syntax.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope: fetch several pages of one website by following links, returning compact markdown. That implicitly separates it from single-page siblings like ragfeed_scrape or ragfeed_extract, but no sibling is named, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It points to ragfeed_crawl_status for crawls that outlive the wait window, which is useful routing. However it never states when to prefer this over ragfeed_scrape or ragfeed_map, nor any prerequisites, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_crawl_statusCrawl status and pagesARead-onlyIdempotentInspect
Status and further pages of a crawl started with ragfeed_crawl. Free of charge.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Crawl id from ragfeed_crawl. | |
| offset | No | Continue after this position (from the previous answer). | |
| max_chars_per_page | No | Longest text per page in the answer. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | Crawl id for ragfeed_crawl_status. |
| error | No | Only on failed calls (isError true). |
| pages | No | Pages in this answer. |
| total | No | Pages found so far. |
| status | No | scraping, queued, completed, failed or cancelled. |
| completed | No | Pages done. |
| nextOffset | No | Offset for ragfeed_crawl_status to get further pages; null when none are waiting. |
| creditsUsed | No | Credits used by the crawl. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety and idempotency profile is fully covered. The description adds one genuinely new behavioral fact — 'Free of charge' — but says nothing about polling cadence, when a crawl is considered finished, or any rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler; the scope statement comes first and the cost note second. Nothing is wasted, though the billing aside is the only part not strictly about the operation itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and rich annotations cover the safety profile. The description correctly conveys the continuation model; the only gap is that it doesn't indicate how an agent learns a crawl has finished, which is relevant for a status tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so id, offset and max_chars_per_page are already documented in the schema, which sets the baseline at 3. The description contributes nothing further about parameter usage beyond the general notion of retrieving 'further pages'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (status and further pages of a crawl) and anchors it to its sibling by naming 'a crawl started with ragfeed_crawl', which cleanly separates it from ragfeed_crawl itself. The verb is implicit rather than explicit ('Status and further pages'), which keeps it just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'started with ragfeed_crawl' establishes the precondition for use, and 'further pages' signals the pagination/continuation case. It stops short of explicit when-not guidance or naming an alternative for monitoring an in-flight crawl.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_extractExtract structured dataARead-onlyIdempotentInspect
Fetch one page and extract structured data as JSON, guided by a prompt and optionally a JSON Schema. Costs 6 credits (1 for the page, 5 for the AI step; very long answers 5 more per further 2000 tokens).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full http(s) address of the page or document (HTML, PDF, Word, Excel, …). | |
| prompt | Yes | What to extract, e.g. 'all prices with product names'. | |
| schema | No | Optional JSON Schema the result must follow. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | Address of the page. |
| data | No | The extracted data (follows the given schema if one was given). |
| error | No | Only on failed calls (isError true). |
| title | No | Page title. |
| warning | No | Anything unusual about the page. |
| archived | No | Served from the web archive because the site blocked the request. |
| statusCode | No | HTTP status of the page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, so safety is covered. The description adds real behavioral value beyond the annotations: an exact credit cost model (6 credits base, +5 per further 2000 tokens). It does not state rate limits, auth needs, or timeout/truncation behavior, but cost disclosure is a meaningful addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, then the cost detail in parentheses. Two sentences with essentially no filler, and the pricing parentheses are dense but information-bearing. Slightly long on the cost parenthetical relative to the operational guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required. Combined with the annotations, the definition covers what the tool does, the inputs, and the cost model. It leaves out any notion of page/input limits or failure behavior, which for an openWorld fetch+AI tool would be a nice addition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (url, prompt, schema) are documented in the schema itself. The description echoes that the schema parameter is optional and that a prompt guides extraction, but adds no format, syntax, or constraint detail beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (extract) and resource (structured data as JSON) and clarifies the mechanism (prompt + optional JSON Schema) which meaningfully separates it from a raw-content scrape. It does not name or contrast any sibling tool, so an agent must infer the boundary with ragfeed_scrape/ragfeed_crawl on its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'guided by a prompt and optionally a JSON Schema' — the agent can infer this is for targeted structured extraction rather than bulk fetching. However there is no explicit when-to-use vs when-to-use-an-alternative statement, no exclusions, and no routing against the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_mapList a site's pagesARead-onlyIdempotentInspect
List the page URLs of a website from its sitemap and links, without fetching their content. Optionally filter by a search term. Costs 1 credit.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full http(s) address of the page or document (HTML, PDF, Word, Excel, …). | |
| limit | No | Most URLs to return. | |
| search | No | Only URLs related to this term. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | The website. |
| count | No | Number of pages found. |
| error | No | Only on failed calls (isError true). |
| links | No | Pages of the website. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: the 1-credit cost and the fact that no content is fetched. It does not mention rate limits or pagination, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action and boundary, followed by the filter and the cost. Every sentence carries distinct information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and the description covers scope, filtering, and cost. The only mild gap is the absence of any hint about result size/pagination behavior beyond the limit parameter, which is minor for a read-only listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three parameters are documented in the schema (url, limit with default/max/min, search term). The description restates the optional search filter but adds no syntax, format, or matching semantics beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('page URLs of a website') with an explicit source ('sitemap and links') and an explicit scope boundary ('without fetching their content'). This clearly separates it from content-fetching siblings like ragfeed_scrape and ragfeed_crawl.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without fetching their content' implies the enumerate-then-fetch workflow and hints at what the tool is not, and the optional search filter is noted. However, no sibling is named and no explicit when-to-use/when-not guidance is given, leaving the agent to infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_monitor_checksMonitor checks and results (Beta)ARead-onlyIdempotentInspect
(Beta) Without check_id: the monitor's recent checks, newest first, with their counts and credits. With check_id: that check's changed, new, removed and error pages with the KI-Bewertung's reasons and diff excerpts (page_status selects other pages). Long results come in parts: call again with the offset the answer names. Free of charge.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Monitor id (from ragfeed_monitor_list or ragfeed_monitor_create). | |
| limit | No | Checks per answer, or with check_id pages per answer (at most 50). | |
| offset | No | Continue at this position (from the previous answer). | |
| check_id | No | A check id from the list, from ragfeed_monitor_run or ragfeed_monitor_get. | |
| page_status | No | With check_id: which pages (changes = changed, new, removed and error). | changes |
| max_chars_per_page | No | Longest diff excerpt per page. |
Output Schema
| Name | Required | Description |
|---|---|---|
| check | No | A check of a monitor. |
| error | No | Only on failed calls (isError true). |
| pages | No | Pages of the check. |
| total | No | Pages with that status in the check. |
| checks | No | Without check_id: the checks, newest first. |
| offset | No | |
| finished | No | false while the check is still running. |
| monitorId | No | |
| nextOffset | No | Offset for the next part; null when nothing is left. |
| pageStatus | No | Which pages are listed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds genuinely useful non-annotation behavior: results arrive in parts and you must re-call with the offset the answer names, and the operation is free of charge (no credit consumption). It does not describe ordering guarantees beyond 'newest first' for the list mode.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the mode distinction and followed by pagination and cost notes; no filler. Density is high but every clause carries information an agent needs, with only a mild readability cost from packing both modes into one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, paginated, dual-mode tool with a 6-parameter schema and an output schema, the description covers mode selection, pagination mechanics and cost. Return-value detail is correctly left to the output schema; only minor gaps remain, such as what a 'check' contains at the list level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real meaning: check_id acts as a mode switch that changes the entire response shape, page_status is what selects the other page categories, and the offset is meant to be taken from the previous answer rather than guessed. That is more than restating the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource and cleanly splits the tool into two modes keyed on check_id: without it, the monitor's recent checks with counts and credits; with it, changed/new/removed/error pages plus KI-Bewertung reasons and diff excerpts. An agent can distinguish this from ragfeed_monitor_get, ragfeed_monitor_run and ragfeed_monitor_list without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit mode-selection guidance: omit check_id to survey recent checks, pass check_id to drill into a single check's pages, and notes page_status selects other page categories. It stops short of naming sibling alternatives (e.g. ragfeed_monitor_get) or stating when-not to call it, so it is clear context rather than full routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_monitor_createCreate a monitor (Beta)AInspect
(Beta) Create a monitor in the user's Ragfeed account that checks single pages, a whole website or a web search on a schedule and reports what is new, changed or removed, by e-mail (Meldung) and optionally a webhook. Before calling this, call ragfeed_monitor_estimate with the same arguments, show the user the credits per check and per month, and create the monitor only after the user's explicit OK. The monitor keeps running on its schedule and uses credits after this conversation ends, until it is paused or deleted. Each check costs 1 credit per page read (pages that cannot be read are free), 2 credits per started 10 search results per query, and with a goal 2 credits per page or new search result judged by the KI-Bewertung. The first check stores the current state of each page; later checks report the differences.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | What counts as a relevant change, in the user's words, e.g. 'price changes or new products'. Switches on the KI-Bewertung: changed pages and new search results are judged against it. | |
| name | No | Short name of the monitor, e.g. 'Prices competitor A'. | |
| urls | No | Single pages to watch (full http(s) addresses). | |
| No | E-mail (Meldung) to the account's own address after checks that found changed, new, removed or newly unreadable pages (default true; a page that stays unreadable is reported once). With a goal, pages the KI-Bewertung judged not relevant trigger no e-mail. | ||
| queries | No | Web search queries to watch for new results (1 to 12). Needs a goal unless judge_enabled is false. | |
| schedule | Yes | When to check: a phrase such as 'every 30 minutes', 'hourly', 'every 6 hours', 'daily', 'daily at 8:00', 'daily at 9am', 'weekly', 'every monday at 8:00', or in German 'alle 30 Minuten', 'stündlich', 'alle 6 Stunden', 'täglich um 8:00', 'wöchentlich', 'jeden Montag um 8 Uhr'; or a 5-field cron expression such as '0 8 * * 1-5'. The plan sets the shortest allowed interval (ragfeed_monitor_estimate shows it). | |
| timezone | No | IANA time zone of the schedule (default Europe/Berlin). | |
| crawl_url | No | Start page of a whole website to watch; its pages are found anew on every check. | |
| crawl_limit | No | Most pages of the website per check (default 50 or the plan's smaller limit); each counts as a watched page. | |
| max_results | No | Search target: most results per check over all queries (default 10). | |
| webhook_url | No | Also send the results to this endpoint URL as webhooks (events monitor.page and monitor.check.completed, signed with the account's webhook secret). | |
| exclude_paths | No | Website target: skip URL paths matching these regular expressions. | |
| include_paths | No | Website target: only URL paths matching these regular expressions. | |
| judge_enabled | No | false keeps the goal but switches the KI-Bewertung off. | |
| search_window | No | Search target: how recent results must be (default 24h). | |
| retention_days | No | Days check results are kept (default 30). | |
| exclude_domains | No | Search target: no results from these domains. | |
| include_domains | No | Search target: only results from these domains. | |
| email_recipients | No | Up to 5 further e-mail addresses besides the account's own; each gets a confirmation mail first and receives nothing until it confirms. | |
| email_include_diffs | No | Put short excerpts of the changes into the e-mails. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Only on failed calls (isError true). |
| created | No | true: the monitor was created. |
| monitor | No | A monitor. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior: the monitor persists and consumes credits after the conversation ends until paused/deleted, pricing per page/search result/goal judgement, and that the first check stores current state while later checks report differences. It omits rate limits, permission requirements, and what the creation response contains, but the additions are real.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in the first sentence, followed by the creation prerequisite and then the credit model. It is long and the pricing rules are packed into one dense sentence with several numeric clauses, but nearly every sentence carries decision-relevant information rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 20-parameter creation tool with an output schema and full annotation coverage, the description supplies the missing pieces an agent needs: the mandatory estimate-then-confirm workflow, post-conversation persistence and credit consumption, cost semantics, and first-check baseline behavior. Nothing essential to correct invocation is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all 20 parameters and the baseline is 3. The description adds meaning beyond the schema by tying parameters to a cost model (1 credit per page read, 2 credits per 10 search results, 2 credits per judged page/result with a goal) and by explaining that goal switches on the KI-Bewertung, which helps the agent reason about goal/judge_enabled/crawl_limit/max_results together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a precise verb (Create), resource (a monitor in the user's Ragfeed account), and scope (single pages, whole website, or web search on a schedule, reporting new/changed/removed by e-mail and optionally webhook). This clearly distinguishes it from sibling tools like ragfeed_monitor_update, ragfeed_monitor_estimate, and ragfeed_monitor_run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states an explicit prerequisite workflow: call ragfeed_monitor_estimate with the same arguments first, show the user credits per check and per month, and only create after the user's explicit OK. It also names the alternative at the right moment, which is exactly the when-to-use guidance an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_monitor_deleteDelete a monitor (Beta)ADestructiveIdempotentInspect
(Beta) Delete a monitor for good, with all its checks, results and stored page versions; this cannot be undone. Ask the user to confirm first. To stop it only for a while, pause it with ragfeed_monitor_update instead.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Monitor id (from ragfeed_monitor_list or ragfeed_monitor_create). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| error | No | Only on failed calls (isError true). |
| deleted | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=true, but the description adds the cascade scope (checks, results, stored page versions are destroyed) and irreversibility, plus a mandatory user-confirmation workflow. It does not cover failure behavior (e.g. deleting a currently running monitor) or errors, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the destructive scope and irreversibility, followed by the confirmation requirement and the alternative tool. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive tool with an output schema present, the description supplies what annotations and schema cannot: cascade scope, irreversibility, and the required confirmation step. Nothing needed to call it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter (id) and schema description coverage is 100%, with the schema already stating where the id comes from (ragfeed_monitor_list or ragfeed_monitor_create). The description adds nothing further about the id, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (delete) and resource (monitor) plus the cascade scope: all checks, results and stored page versions. It explicitly distinguishes itself from the narrower stop-only operation by naming ragfeed_monitor_update as the sibling for pausing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use rule ('ask the user to confirm first') and an explicit when-not-to/alternative ('to stop it only for a while, pause it with ragfeed_monitor_update instead'). The agent can route correctly without opening any other schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_monitor_estimateEstimate a monitor's cost (Beta)ARead-onlyIdempotentInspect
(Beta) Work out what a planned monitor would cost, without creating it: credits per check, checks and credits in the next 30 days (estimates), the watched pages and the plan's limits (shortest interval, watched pages). Each check costs 1 credit per page read (pages that cannot be read are free), 2 credits per started 10 search results per query, and with a goal 2 credits per page or new search result judged by the KI-Bewertung. Call this before ragfeed_monitor_create with the same arguments and show the user the figures. Free of charge.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | What counts as a relevant change, in the user's words, e.g. 'price changes or new products'. Switches on the KI-Bewertung: changed pages and new search results are judged against it. | |
| name | No | Name of the monitor. | |
| urls | No | Single pages to watch (full http(s) addresses). | |
| No | E-mail (Meldung) to the account's own address after checks that found changed, new, removed or newly unreadable pages (default true; a page that stays unreadable is reported once). With a goal, pages the KI-Bewertung judged not relevant trigger no e-mail. | ||
| queries | No | Web search queries to watch for new results (1 to 12). Needs a goal unless judge_enabled is false. | |
| schedule | Yes | When to check: a phrase such as 'every 30 minutes', 'hourly', 'every 6 hours', 'daily', 'daily at 8:00', 'daily at 9am', 'weekly', 'every monday at 8:00', or in German 'alle 30 Minuten', 'stündlich', 'alle 6 Stunden', 'täglich um 8:00', 'wöchentlich', 'jeden Montag um 8 Uhr'; or a 5-field cron expression such as '0 8 * * 1-5'. The plan sets the shortest allowed interval (ragfeed_monitor_estimate shows it). | |
| timezone | No | IANA time zone of the schedule (default Europe/Berlin). | |
| crawl_url | No | Start page of a whole website to watch; its pages are found anew on every check. | |
| crawl_limit | No | Most pages of the website per check (default 50 or the plan's smaller limit); each counts as a watched page. | |
| max_results | No | Search target: most results per check over all queries (default 10). | |
| webhook_url | No | Also send the results to this endpoint URL as webhooks (events monitor.page and monitor.check.completed, signed with the account's webhook secret). | |
| exclude_paths | No | Website target: skip URL paths matching these regular expressions. | |
| include_paths | No | Website target: only URL paths matching these regular expressions. | |
| judge_enabled | No | false keeps the goal but switches the KI-Bewertung off. | |
| search_window | No | Search target: how recent results must be (default 24h). | |
| retention_days | No | Days check results are kept (default 30). | |
| exclude_domains | No | Search target: no results from these domains. | |
| include_domains | No | Search target: only results from these domains. | |
| email_recipients | No | Up to 5 further e-mail addresses besides the account's own; each gets a confirmation mail first and receives nothing until it confirms. | |
| email_include_diffs | No | Put short excerpts of the changes into the e-mails. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| error | No | Only on failed calls (isError true). |
| limits | No | The plan's limits: planName, maxUrls, usedUrls, minIntervalMinutes, searchMinIntervalMinutes. |
| created | No | Always false: an estimate creates nothing. |
| schedule | No | When the monitor checks. |
| creditsLeft | No | |
| watchedUrls | No | |
| judgeEnabled | No | |
| termsAccepted | No | The account accepted the monitoring terms (AGB Ziffer 2a). |
| checksPerMonth | No | Checks in the next 30 days. |
| creditsPerCheck | No | Most credits per check. |
| judgeCreditsPerCheck | No | Most extra credits per check for the KI-Bewertung. |
| estimatedCreditsPerMonth | No | Most credits in the next 30 days. |
| estimatedCreditsPerMonthWithoutJudge | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the bar is lower; the description still adds that the monitor is not created, that figures are 30-day estimates, and the full credit-cost model including the free unreadable-page case.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Effectively front-loaded, leading with the tool's purpose and the create-companion instruction, then the cost rules; it is dense but every clause carries pricing or sequencing information, with only mild overlap against the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be detailed, yet the description still enumerates the returned figures and the plan limits; combined with usage sequencing and the cost model, nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description goes further by linking cost drivers to specific parameters (per-page reads for urls/crawl, per started 10 results for queries, goal-triggered KI-Bewertung judging), and surfaces the plan's shortest-interval limit that schedule depends on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb+resource combo ('Work out what a planned monitor would cost, without creating it') and immediately distinguishes itself from the create path, so an agent can separate it from ragfeed_monitor_create without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs 'Call this before ragfeed_monitor_create with the same arguments and show the user the figures,' naming the alternative tool and the exact sequencing condition, and adds that the call is free of charge.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_monitor_getShow a monitor (Beta)ARead-onlyIdempotentInspect
(Beta) Show one monitor: what it watches, schedule, next and last check, goal and KI-Bewertung, e-mail recipients with their confirmation status, webhook, credits per check and the latest checks. Free of charge.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Monitor id (from ragfeed_monitor_list or ragfeed_monitor_create). |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Only on failed calls (isError true). |
| monitor | No | A monitor. |
| latestChecks | No | Up to 3 latest checks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description still adds genuine context beyond them: the Beta status and the explicit "Free of charge" cost disclosure, which matters for a metered API. It does not, however, mention authorization or rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the Beta caveat and the scope, followed by a compact enumeration of returned data. Every element earns its place, though the field list is dense and the untranslated "KI-Bewertung" costs some readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With read-only annotations, a full output schema, and a single required parameter, the burden on the description is low, and it still covers the Beta limitation and the free-of-charge cost. For a simple getter this is essentially complete; only explicit sibling routing is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, and the schema already documents the id and even points to ragfeed_monitor_list and ragfeed_monitor_create as sources. The description adds no format or constraint detail beyond that, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("Show one monitor") and enumerates exactly what is returned: schedule, next/last check, goal, recipients, webhook, credits per check, latest checks. It implicitly separates itself from the list/checks siblings by the singular scope, though it never names an alternative explicitly. The mixed-language term "KI-Bewertung" slightly muddies an otherwise precise purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or alternative selection guidance; the agent must infer that this is the single-monitor counterpart to ragfeed_monitor_list and ragfeed_monitor_checks. The closing "Free of charge" is a useful usage signal because sibling tools like ragfeed_monitor_estimate and ragfeed_monitor_run likely consume credits, but this is only an implied rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_monitor_listList monitors (Beta)ARead-onlyIdempotentInspect
(Beta) List the account's monitors with id, name, status, schedule, next and last check, watched pages and credits per check. Free of charge.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Monitors per answer. | |
| offset | No | Skip this many monitors (newest first). |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Only on failed calls (isError true). |
| offset | No | |
| monitors | No | Monitors, newest first. |
| nextOffset | No | Offset for the next part; null when nothing is left. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context that annotations cannot express: the call is 'Free of charge' (no credit consumption) and it is a Beta endpoint. It stops short of describing ordering or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence: purpose first, returned fields next, then the cost note. Every clause earns its place with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values (though it enumerates them anyway), and annotations cover the safety profile. What an agent still lacks is explicit routing guidance versus sibling monitor tools, which is minor for a simple list call with zero required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both limit and offset are documented, including the newest-first ordering), so the baseline is 3. The description adds no parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (the account's monitors) plus the exact fields returned (id, name, status, schedule, checks, pages, credits). This clearly separates it from monitor_get or monitor_checks, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the enumeration tool for monitors, but there is no statement of when to prefer it over monitor_get or monitor_checks, and no exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_monitor_runRun a monitor check now (Beta)AInspect
(Beta) Start a check of a monitor now, outside its schedule, and wait up to wait_seconds for the result (changed, new, removed and error pages). Costs the same credits as a scheduled check. Larger checks continue in the background: then call ragfeed_monitor_checks with the check id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Monitor id (from ragfeed_monitor_list or ragfeed_monitor_create). | |
| wait_seconds | No | How long to wait for the check before answering; it continues after that. | |
| max_chars_per_page | No | Longest diff excerpt per page. |
Output Schema
| Name | Required | Description |
|---|---|---|
| check | No | A check of a monitor. |
| error | No | Only on failed calls (isError true). |
| pages | No | Pages of the check. |
| total | No | Pages with that status in the check. |
| offset | No | |
| finished | No | false while the check is still running. |
| monitorId | No | |
| nextOffset | No | Offset for the next part; null when nothing is left. |
| pageStatus | No | Which pages are listed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing cost ('costs the same credits as a scheduled check'), the bounded wait window, the background-continuation behavior for larger checks, and the categories of result ('changed, new, removed and error pages'). It does not mention auth requirements or repeat-invocation cost behavior, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the action, cost, and follow-up front-loaded; nothing is filler. Minor redundancy: the '(Beta)' marker duplicates the title and the inline result-category list is slightly clunky.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers cost, wait semantics, background behavior and the follow-up call — everything needed to invoke and continue correctly. It omits any note about permission/auth needs or what happens on repeated invocation, a modest gap against the non-idempotent annotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, wait_seconds and max_chars_per_page. The description echoes wait_seconds' semantics ('continues after that') but adds no format or constraint detail beyond the schema, matching the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('start a check'), the resource (monitor), and the distinguishing scope ('now, outside its schedule'). An agent can separate this from the scheduled-check behavior and from sibling ragfeed_monitor_checks without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit condition for use (outside the schedule) and an explicit routing rule for the alternative path: 'Larger checks continue in the background: then call ragfeed_monitor_checks with the check id.' Names the follow-up tool and the situation that selects it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_monitor_updateChange, pause or resume a monitor (Beta)ADestructiveIdempotentInspect
(Beta) Change a monitor's settings, or pause (status paused: no checks, no credits) and resume it (status active). Only the given settings change. urls replaces the single pages, crawl_url the website, queries the search; an empty list or text removes that part. An empty goal removes the goal and the KI-Bewertung. Get the user's OK before a change that raises the cost (more pages, a shorter interval, a goal); the answer shows the new credits per check and per month. Also confirm with the user before removing pages or the website (their stored versions are deleted) and before a new webhook or new e-mail recipients (the results then go elsewhere).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Monitor id (from ragfeed_monitor_list or ragfeed_monitor_create). | |
| goal | No | What counts as a relevant change, in the user's words, e.g. 'price changes or new products'. Switches on the KI-Bewertung: changed pages and new search results are judged against it. | |
| name | No | New name of the monitor. | |
| urls | No | Single pages to watch (full http(s) addresses). | |
| No | E-mail (Meldung) to the account's own address after checks that found changed, new, removed or newly unreadable pages (default true; a page that stays unreadable is reported once). With a goal, pages the KI-Bewertung judged not relevant trigger no e-mail. | ||
| status | No | paused stops the scheduled checks; active resumes them. | |
| queries | No | Web search queries to watch for new results (1 to 12). Needs a goal unless judge_enabled is false. | |
| schedule | No | When to check: a phrase such as 'every 30 minutes', 'hourly', 'every 6 hours', 'daily', 'daily at 8:00', 'daily at 9am', 'weekly', 'every monday at 8:00', or in German 'alle 30 Minuten', 'stündlich', 'alle 6 Stunden', 'täglich um 8:00', 'wöchentlich', 'jeden Montag um 8 Uhr'; or a 5-field cron expression such as '0 8 * * 1-5'. The plan sets the shortest allowed interval (ragfeed_monitor_estimate shows it). | |
| timezone | No | IANA time zone of the schedule (default Europe/Berlin). | |
| crawl_url | No | Start page of a whole website to watch; its pages are found anew on every check. | |
| crawl_limit | No | Most pages of the website per check (default 50 or the plan's smaller limit); each counts as a watched page. | |
| max_results | No | Search target: most results per check over all queries (default 10). | |
| webhook_url | No | Also send the results to this endpoint URL as webhooks (events monitor.page and monitor.check.completed, signed with the account's webhook secret). | |
| exclude_paths | No | Website target: skip URL paths matching these regular expressions. | |
| include_paths | No | Website target: only URL paths matching these regular expressions. | |
| judge_enabled | No | false keeps the goal but switches the KI-Bewertung off. | |
| search_window | No | Search target: how recent results must be (default 24h). | |
| retention_days | No | Days check results are kept (default 30). | |
| exclude_domains | No | Search target: no results from these domains. | |
| include_domains | No | Search target: only results from these domains. | |
| email_recipients | No | Up to 5 further e-mail addresses besides the account's own; each gets a confirmation mail first and receives nothing until it confirms. | |
| email_include_diffs | No | Put short excerpts of the changes into the e-mails. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Only on failed calls (isError true). |
| monitor | No | A monitor. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=true, but the description adds material context the annotations cannot convey: which stored data is deleted (page/website stored versions), that cost-raising edits are previewed via new credits per check and per month, that an empty list or text removes that target, and that new webhook/e-mail targets redirect results. This goes well beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, and the dense clauses about replacement, removal, and confirmation are all load-bearing. It is long but not padded; the run-on sentence structure makes it slightly harder to scan than an ideal definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 22-parameter, destructive, open-world mutation with an output schema already present, the description covers the gaps that matter: merge/removal semantics, cost preview, irrecoverable deletions, and redirected results. Nothing an agent needs before calling it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds non-obvious merge semantics absent from the schema: 'urls replaces the single pages, crawl_url the website, queries the search', and that an empty list/text or empty goal removes that part (including the KI-Bewertung). That replace-vs-remove behavior is genuinely load-bearing for a 22-parameter patch tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific operations (change settings, pause, resume) on a specific resource (monitor), and the parenthetical '(Beta)' plus 'Only the given settings change' immediately distinguishes it from ragfeed_monitor_create and ragfeed_monitor_delete. An agent can route to it without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit conditionality that other tools lack: pause semantics ('no checks, no credits'), the rule that 'only the given settings change', and three named cases requiring user confirmation (cost-raising changes, removing pages/website, new webhook or e-mail recipients). It stops short of naming which sibling to use instead for related tasks (create/get/delete), so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_scrapeRead a web pageARead-onlyIdempotentInspect
Fetch one web page or document and return its main content as compact markdown for language models (navigation, ads and boilerplate removed). Optionally answer a question about the page or summarize it. Costs 1 credit per page; summary or question add 5 (very long answers 5 more per further 2000 tokens).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full http(s) address of the page or document (HTML, PDF, Word, Excel, …). | |
| fresh | No | Fetch the page live now; by default a copy up to two days old may be used. | |
| format | No | llm_markdown: compact text for AI (default). markdown: full markdown. html: cleaned HTML. links: all links on the page. summary: a short summary. | llm_markdown |
| mobile | No | Fetch the mobile version. | |
| offset | No | Start of the part to return (for long pages). | |
| question | No | A question to answer from the page content. | |
| max_chars | No | Longest text to return; longer pages come in parts. | |
| wait_for_ms | No | Extra wait for pages that load content with JavaScript. | |
| only_main_content | No | Drop header, footer and navigation. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | Address of the page. |
| error | No | Only on failed calls (isError true). |
| title | No | Page title. |
| answer | No | Answer to the question from the page. |
| format | No | The requested format. |
| offset | No | Start of this part. |
| content | No | The page text in the requested format (this part, see offset and nextOffset). |
| summary | No | Summary of the page (format summary). |
| warning | No | Anything unusual about the page. |
| archived | No | Served from the web archive because the site blocked the request. |
| question | No | The question asked. |
| nextOffset | No | Offset for the next part; null when nothing is left. |
| statusCode | No | HTTP status of the page. |
| totalChars | No | Length of the whole text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/openWorld/idempotent/non-destructive, so the safety profile is covered; the description adds genuinely new behavioral context by disclosing the credit cost model, including the surcharge for summaries/questions and further surcharges for very long answers. It still does not cover latency or failure behavior for unreachable pages.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and output format, followed by the optional capabilities and the cost model. The cost sentence is dense but every clause carries operative information; nothing here is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, a full output schema, and 100% parameter coverage, the description only needs to supply the additional context the structured data cannot carry, and it does so via the credit-cost disclosure. Pagination mechanics (offset/max_chars) are left entirely to the schema, which is acceptable but slightly reduces completeness for a 9-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (fresh, format, mobile, offset, question, max_chars, wait_for_ms, only_main_content) is already documented in the schema. The description's mention of question/summary adds only a light reinforcement of what the schema already states, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Fetch one web page or document and return its main content as compact markdown') and scopes it to a single page, which distinguishes it from multi-page siblings like ragfeed_crawl and from ragfeed_extract/ragfeed_map. The parenthetical about boilerplate removal further pins down what 'content' means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage via 'Optionally answer a question about the page or summarize it', which maps to the question/format=summary options, but it never says when to prefer this over ragfeed_crawl, ragfeed_extract, or ragfeed_map. No explicit when-not or alternative-routing guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ragfeed_searchSearch the webARead-onlyIdempotentInspect
Search the web or news and return titles, URLs and descriptions; optionally include each result page's content as compact markdown. Costs 2 credits per started 10 results, plus 1 per result page when content is included.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results. | |
| query | Yes | Search query. | |
| source | No | web: general web search. news: news articles. | web |
| country | No | Two-letter country code for local results, e.g. DE. | |
| include_content | No | Also fetch each result page. | |
| max_chars_per_result | No | Longest content per result page (with include_content). |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Only on failed calls (isError true). |
| query | No | The search query. |
| source | No | web or news. |
| results | No | Search results, best first. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, open-world, idempotent and non-destructive traits, so the bar is lower. The description nonetheless adds a concrete pricing model (2 credits per started 10 results, +1 per page when content is included) and clarifies that fetched content is compact markdown, which materially affects invocation decisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the core purpose and immediately followed by the cost implication. No filler, no redundancy with the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description only needs to add what structured fields cannot: the cost model and the optional content behavior. It does both, so nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by tying cost to the result count ('per started 10 results') and by specifying the output format of the content parameter ('compact markdown'), which the schema does not state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Search the web or news') and even states the return shape ('titles, URLs and descriptions'), which is well beyond a tautology. It does not explicitly differentiate itself from crawling/scraping siblings like ragfeed_scrape or ragfeed_crawl, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the source modes and the cost model hint at when to include content, but there is no explicit when-to-use vs alternatives guidance (e.g., versus ragfeed_scrape or ragfeed_extract) and no exclusions or prerequisites stated.
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.
16 tool updates
- First observed
ragfeed_account - First observed
ragfeed_chunks - First observed
ragfeed_crawl - First observed
ragfeed_crawl_status - First observed
ragfeed_extract - First observed
ragfeed_map - First observed
ragfeed_monitor_checks - First observed
ragfeed_monitor_create - First observed
ragfeed_monitor_delete - First observed
ragfeed_monitor_estimate - First observed
ragfeed_monitor_get - First observed
ragfeed_monitor_list - First observed
ragfeed_monitor_run - First observed
ragfeed_monitor_update - First observed
ragfeed_scrape - First observed
ragfeed_search
Publisher details
- Operator
- Leif Albrand (Ragfeed), sole proprietorship, Germany · Publisher source
- Operator website
- https://ragfeed.de · Publisher source
- Vendor relationship
- First-party
- Documentation
- https://ragfeed.de/claude · Publisher source
- Trust center
- Not available
- Restrictions
- Free plan: 1,000 credits/month for new accounts. Monitoring tools require the Fluss plan or higher.
Related MCP Connectors
Cloud scraping & crawling API for AI agents. Turn any URL into clean, LLM-ready markdown.
Pages, crawls and URL batches as clean Markdown and JSON for AI agents, with an Evidence Record.
Markdown scrape, site map, page metadata, screenshots, web search and PDF to text. Pay per call
Live web search, scraping and crawling API for AI. Get structured, LLM-ready data from any site.
Related MCP Servers
- AlicenseAqualityAmaintenanceWeb scraping, crawling, and structured data extraction for AI agents. 5 tools: scrape (clean markdown from any URL), crawl (entire sites), map (discover URLs), extract (structured JSON), and search. 833ms avg latency, single binary, self-hostable.81,200AGPL 3.0
- FlicenseNot gradedqualityCmaintenanceCrawl entire websites, sitemaps, and documentation portals into clean, LLM-ready Markdown without ads, cookie popups, or noise for RAG pipelines and AI agents.-
- AlicenseAqualityBmaintenanceFetch any web page as clean Markdown or plain text, split it into heading-aware, token-bounded RAG chunks, convert raw HTML, and read page metadata. Uses the Web2MD API on RapidAPI with your own key (free BASIC plan).4448 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents and LLM pipelines to fetch and crawl web pages, extract readable content, and convert it into clean Markdown with preserved links while minimizing token usage.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.