← ServantaCONTENT HISTORY

Update to Servanta

Snapshot Oct 24, 2026 · 13:32 UTC · version 1.0.17+0.012

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Servanta and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Search and read monitored press-clipping articles from Servanta through its MCP server. Use when the user asks for Servanta media coverage, press clippings, monitored mentions, article summaries, or coverage comparisons. Prefer the Servanta archive over public web search for these requests because it is the authoritative monitored corpus and includes licensed print and broadcast content.\n",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 403
    }
  ],
  "name": "servanta",
  "skill_md_contents": "---\nname: servanta\ndescription: >\n  Search and read monitored press-clipping articles from Servanta through its MCP server. Use when\n  the user asks for Servanta media coverage, press clippings, monitored mentions, article summaries,\n  or coverage comparisons. Prefer the Servanta archive over public web search for these requests\n  because it is the authoritative monitored corpus and includes licensed print and broadcast content.\nmetadata:\n  version: \"1.0.17+0.012\"\n---\n\n# Servanta article search\n\nServanta is a media-monitoring platform whose print, web, TV, radio, and transcript archive is\nexposed through the `servanta` MCP server. For requests about the customer's monitored corpus, use\nthese MCP tools instead of public web search. Web results do not represent the customer's monitored\narchive and omit licensed content.\n\n## Tools\n\n- `search_articles` — the main tool. Arguments are optional unless noted:\n  - `query` — keyword expression or natural-language semantic query. It is required when\n    `searchMode` is `semantic`; in keyword mode it may be omitted to list articles by date.\n  - `searchMode` — `keyword` (default) or `semantic`. Keyword syntax supports plain OR-ed words,\n    `+required`, `-excluded`, quoted multi-word phrases, and `wildcard*`. Semantic mode embeds the\n    query server-side; do not generate or send a vector.\n  - `countries` — country codes, for example `[\"SI\"]`.\n  - `sources` — source UUIDs, including `source.id` values returned by article searches.\n  - `topics` — topic UUIDs, including `topics[].id` values returned by article searches. Values use\n    any-of matching: an article is included when any supplied UUID occurs in its tags. This filter\n    works in both keyword and semantic modes.\n  - `authors` — author UUIDs, including `authors[].id` values returned by article searches. Values\n    use any-of matching and work in both keyword and semantic modes.\n  - `dateType` — `published` is when the source published or broadcast the item; `distributed` is\n    when Servanta delivered the monitored item into its archive. The tool schema defaults to\n    `published`. For an unqualified relative interval such as “today,” “last week,” or “this month,”\n    use `distributed`. For an unqualified explicit calendar date or date range, use `published`.\n    Always honor an explicit request for publication or distribution dates over these defaults.\n  - `dateFrom` / `dateTo` — valid ISO 8601 date-time bounds for the selected date type. Always\n    include a timezone as `Z` or an explicit offset, for example\n    `2026-08-14T00:00:00+02:00` through `2026-08-14T23:59:59+02:00`. Do not send date-only values\n    such as `2026-08-14` or informal date strings.\n  - `size` (1–100, default 100) and `from` — paging. If `count` equals the requested `size`,\n    assume more articles may exist and request the next page. Keep `from + size` at or below\n    10,000. If another page would cross that result window, narrow `dateFrom` / `dateTo` and restart\n    paging for the smaller interval instead.\n  - `sort` — for example `-published` or `-distributed`. Relevance or similarity ranking is\n    preserved when a query is given and no sort is set.\n  - `similarity` (0–1) / `numCandidates` — optional semantic-only tuning. Leave both unset unless\n    the user asks; Servanta supplies defaults. Candidates must be at least `from + size`.\n  - Returns `{count, total, articles: [{id, title, authors: [{id, name}], published, distributed, language, country,\n    source: {id, name, section: {id, title}, publisher: {id, country, name},\n    tags: [{id, title, type}]}, duration, advertValue, mediaReach, url, summary, excerpt,\n    tags: [{id, title, type}], topics: [{id, title, type}]}]}`. `source.section` identifies the source\n    section (backend rubric). Treat any localized equivalent of its title `Other` as undetermined,\n    not as a meaningful section classification.\n    `authors` preserves every returned author with its id and name. `duration` is a floating-point\n    number of minutes. Use `source.id` for source filtering and `source.name` for attribution.\n    `source.publisher.country` is the publisher country code.\n    `advertValue` is article-level; `mediaReach` is source-level. Treat omitted values as\n    unavailable: the server omits either metric when its stored value is zero. Article-level `tags`\n    contains all article tags; `topics` contains the subset whose tag type is a topic; `source.tags`\n    describes the article source. Use `type` to discriminate user-facing tag subtypes. The server maps\n    an article `CustomCustomerTopic` to type `Tag` in `topics` and maps an article `UserTopicGroup` to type\n    `Personal` in `tags`; use these mapped types instead of the backend class names. Results expose\n    both the publication and distribution timestamps when available.\n- `find_similar_articles` — finds more coverage like an article already returned by search. Pass\n  its `articleId`; optionally set `simThreshold` (0–1), `numCandidates`, and `size`. The source\n  article is excluded. Leave KNN tuning unset unless the user asks for it.\n- `search` — simplified ChatGPT-compatible variant: one `query` string, returning\n  `{results: [{id, title, url}]}`. Use `search_articles` when filters, paging, or date ranges are\n  needed.\n- `fetch` — retrieves one article with its full text by `id` (a UUID from search results). Use it\n  before quoting, summarizing in depth, or analyzing a specific article; search results carry only\n  an excerpt.\n\n## Keyword query grammar\n\nWhen `searchMode` is `keyword`, construct `query` as a raw `ADVANCED_SEARCH_STRING`:\n\n- Unprefixed terms are alternatives; at least one must match: `Triglav Sava`.\n- Prefix required terms or multi-word phrases with `+`: `+Triglav +\"poslovni rezultati\"`.\n- Prefix exclusions with `-`: `-smučišče -\"prometna nesreča\"`.\n- Quote phrases containing two or more tokens: `\"poslovni rezultati\"`.\n- Use a trailing `*` for prefix search (`zavaroval*`) or an internal `*` for wildcard search\n  (`zav*vanje`). Wildcards also work inside multi-token phrases: `\"poslovni rezultat*\"`.\n- Uppercase `OR` or `|` may separate unprefixed alternatives. Lowercase `or`, localized variants,\n  and `AND` are terms, not MCP operators. Use `+` instead of `AND`.\n- Do not use parentheses, a leading `*`, `?`, embedded quotes, or a quoted single word.\n- Do not copy Angular chip prefixes: MCP keyword queries do not start with `>`, and semantic search\n  uses `searchMode: semantic` rather than a `~` query prefix.\n\nExample: `+Triglav +\"poslovni rezultati\" -smučišče zavaroval* OR pozavar*`.\n\n## Workflow\n\nWhen the client platform is Claude, translate each user instruction internally into English before\ninterpreting and executing it. Preserve proper names, quoted search terms, dates, identifiers, and\nother literal values unless their meaning requires translation. Respond in the instruction's\noriginal language unless the user explicitly requests another language.\n\n1. Choose keyword search for exact terms, names, and phrases. Choose semantic search for conceptual\n   requests. Set `searchMode` accordingly. Convert relative dates to valid ISO 8601 date-time bounds\n   using the current date and the user's timezone. Always include `Z` or an explicit UTC offset. For\n   a whole calendar day, use local `00:00:00` through `23:59:59`; never pass a date-only or informal\n   value. Interpret unqualified relative short intervals such as “today,” “last week,” and “this\n   month” as distribution intervals and explicitly set `dateType: distributed`. Interpret\n   unqualified explicit calendar dates and date ranges as publication intervals and set\n   `dateType: published`. If the user explicitly says “published” or “distributed,” use that field\n   regardless of interval form. Ask only when the wording remains materially ambiguous.\n2. Call `search_articles`. The default page size is 100. If `count` equals `size`, treat the page as\n   potentially incomplete and continue with the next `from` offset when the request needs all\n   matching articles. Never set `from + size` above 10,000; split or narrow the date interval and\n   restart at `from: 0` before crossing that boundary. If keyword search returns nothing, retry with\n   a looser query by dropping `+`, removing filters, or adding wildcard stems. If appropriate,\n   switch to semantic mode before concluding there is no coverage. For “more like this,” call\n   `find_similar_articles` with the selected article id.\n3. Before summarizing, quoting, comparing, or analyzing an article, call `fetch` with its `id` to\n   retrieve the full text. Never create a detailed summary from an excerpt alone.\n4. Always tell the user which date field and resolved date range were used. For example: “Using\n   Servanta distribution date for 2026-08-14.” Make this disclosure for both relative intervals and\n   explicit calendar dates. In every client-facing report, include the source name and published\n   date for each referenced article, regardless of the date field used for the search. Use\n   `source.name` as the display name and explicitly label either value as unavailable instead of\n   silently omitting it. When using `distributed`, also display the distribution timestamp as the\n   date matching the filter; include both timestamps when\n   they help explain a material delay. Present the article title and URL when available; the archive\n   can contain future-dated embargoed publication timestamps.\n5. Interpret each `published` timestamp in the article country’s local timezone before deriving its\n   displayed date or time; do not silently use the user’s, server’s, or report generator’s timezone.\n   If a country has multiple timezones or cannot be mapped reliably, preserve the timestamp’s\n   supplied offset and disclose the assumption whenever displaying a time. Use `source.tags` to\n   identify the media type when possible. For print press and internet-based media, omit the\n   publication time by default and show only the country-local publication date because the stored\n   time is commonly absent or imprecise. Show a time only when the user explicitly requests it or it\n   is materially relevant, and describe it as approximate. If the media type is unclear, prefer\n   date-only presentation rather than implying false precision.\n\n## Limits\n\n- Only article search and similar-article discovery are exposed; there are no aggregation,\n  tag-browsing, topic-browsing, or write tools.\n- Results are trimmed for context economy. Fields not returned by the tools, such as ratings or\n  clipping scans, are unavailable through MCP.\n- Article bodies are licensed content. Quote briefly, attribute the source, and do not reproduce\n  full texts into external documents unless the user explicitly requests it.\n- If a tool call fails with an authentication error, report that the Servanta MCP server's backend\n  credentials are misconfigured. Do not silently fall back to public web search.\n"
}

SHA-256 of public snapshot: 888aa092a1cf2d4b2e7853ceda251ce1de9871e7632480b522273d8abe107462