# CultureLib Discover

> French cultural events search with multi-reseller ticket price comparison (theatre, concerts...)

- name: io.github.tbalcinha/culturelib-discover
- version: 1.1.0
- connection class: R0 (autonomous)
- trust: 87/100
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.tbalcinha%2Fculturelib-discover
- tools: https://api.protogrid.dev/v1/servers/io.github.tbalcinha%2Fculturelib-discover/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "culturelib-discover": {
      "type": "http",
      "url": "https://www.culturelib.fr/api/mcp/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 65
- provenance: 80
- drivers: +repository +namespace-matches-repo +reachable +uptime-100% ~updated-104d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: search (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_show (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); fetch (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 1,050 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 8, about 1,050 tokens to load them all
- tool set hash: 38b1bb94b249229d202e0d85438b102a
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.tbalcinha/culturelib-discover.svg)](https://protogrid.dev/servers/io.github.tbalcinha/culturelib-discover)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://www.culturelib.fr/api/mcp/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (8)

- `compare_offers`: Price comparison for one event across French ticket resellers (Fnac Spectacles, BilletReduc, L'Officiel des spectacles…). Returns each live offer with price, availability, booking URL, and how fresh the price is (verified_at). Recommends the cheapest.
- `fetch`: Fetch the full detail of one CultureLib cultural event by its id (the slug returned by `search`): description, venue, dates, and all live reseller offers with prices, freshness and booking links, as a single citable document.
- `find_venues`: Find French cultural venues (theaters, concert halls, museums…) by name and/or city. Returns canonical venues with coordinates and the number of shows currently playing.
- `get_catalog_meta`: Trust endpoint: how many shows and live offers the catalog currently holds, which resellers are covered, and when the data was last refreshed. Call this to assess data freshness before relying on prices.
- `get_show`: Full detail of one cultural event by slug: description, canonical venue with coordinates, upcoming performance dates, and ALL live reseller offers sorted by price with booking URLs, availability and price freshness timestamps.
- `search`: Search the CultureLib catalog of French cultural events (theater, concerts, exhibitions, kids shows, guided tours) and their multi-reseller ticket offers. Returns matching events as citable documents; use `fetch` with a returned id to get full detail, prices and booking links.
- `search_shows`: Search French cultural events (theater, concerts, exhibitions, kids shows, guided tours) across multiple ticket resellers. Returns canonical shows with cross-reseller offer counts, price ranges, ratings, cities and dates. Query matching tolerates noisy titles (venue/city/tour suffixes are normalized).
- `whats_on`: What is on in a French city on a given date — the typical "find me something to do tonight" query. Returns cultural events (theater, concerts, exhibitions…) with prices and reseller offer counts, cheapest first when a budget is given.
