Local MCP catalog of MateMatic Boutique: find the right legal-data connector or skill and get a local install command. No proxy, no query logging.
Five tools with complete schemas and descriptions. Tool names follow verb_noun pattern (boutique_search, boutique_get, boutique_whats_new, boutique_request_coverage, boutique_coverage). Descriptions are detailed (100-250 chars) and include error codes. Parameters have types and descriptions. However, boutique_request_coverage and boutique_coverage lack parameter constraints (enums, ranges), and output schemas are not explicitly documented in the code. Error handling is structured with [code] prefixes but lacks recovery guidance beyond error names.
Declare what this connector covers, how it is sourced, and what it does not cover. Returns structured coverage metadata with families and known gaps.
Full catalog card for one entry: names, descriptions and card URLs in every available language, install command, version, license, source URL. Args: id: the entry id from boutique_search (e.g. "mcp-saos", "de-eli-mcp", "humanizer-pl"). Errors: [invalid_arg] empty id; [not_found] unknown id (message lists the closest ids); [catalog_unavailable].
Draft a coverage-request issue when the catalog lacks coverage for a need. Returns a DRAFT ONLY: nothing is sent anywhere, a human reviews and submits it.
Search the MateMatic Boutique catalog for connectors and skills. Args: query: keywords in English, Polish or Portuguese (e.g. "case law Poland", "anonimizacja", "German law"). jurisdiction: optional filter, matched against the entry's jurisdiction label (e.g. "Polska", "EU", "Brasil"). entry_type: optional filter: "konektor" (MCP connector), "skill" (MateMatic skill) or "kuratorski" (curated third-party skill). limit: max hits (1-25, default 10). Returns hits with a local install command each, gaps[] naming what the catalog does not cover, and a provenance stamp for the catalog data. Errors: [invalid_arg] empty query or bad filter; [catalog_unavailable].
boutique_coverage has empty input schema (no parameters) and minimal description ('Declare what this connector covers...'). Unclear when/why to call it vs boutique_search.
boutique_request_coverage description lacks detail on what 'coverage-request issue' means and does not explain that it is DRAFT ONLY until explicitly stated in INSTRUCTIONS. Parameter descriptions are minimal.
Output schemas not documented in tool definitions. LLMs cannot infer what fields SearchResult, WhatsNewResult, CoverageDraft contain. Pydantic models exist but are not visible in the tool registration.
entry_type parameter in boutique_search accepts free-form string but should be an enum: ['konektor', 'skill', 'kuratorski']. Invites hallucinated values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
What was added to or updated in the Boutique catalog since a date. Args: since_date: ISO date (YYYY-MM-DD). Default: 30 days before the catalog's generated_at date (deterministic offline - no system clock involved). Errors: [invalid_arg] unparsable since_date; [catalog_unavailable].
Error handling returns [code] prefixes but lacks recovery guidance. E.g. [not_found] should suggest 'Try boutique_search() with a partial query' or list closest_ids in the message.