# Angling Lines

> Carp fishing lakes in France: search venues, check availability, get week prices, book.

- name: com.anglinglines/angling-lines
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 79/100 flags: no-repository
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.anglinglines%2Fangling-lines
- tools: https://api.protogrid.dev/v1/servers/com.anglinglines%2Fangling-lines/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "angling-lines": {
      "type": "http",
      "url": "https://www.anglinglines.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 98
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-96% ~updated-33d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/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: 86 (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
- pass `tools.annotations`: 8 of 8 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_venues (destructiveHint, openWorldHint); venues_available_on_date (destructiveHint, openWorldHint); list_crossings (destructiveHint, openWorldHint); …
- pass `tools.token_cost`: about 3,953 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 3,953 tokens to load them all
- tool set hash: 237ae648dec295d59a4996a9db15558a
- badge: [![protogrid quality](https://protogrid.dev/badge/com.anglinglines/angling-lines.svg)](https://protogrid.dev/servers/com.anglinglines/angling-lines)
- 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.anglinglines.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.95614034)

## Packages

_none_

## Tools (8)

- `get_quote`: Quote one Angling Lines venue for one fixed 7-day week: give a venue name or slug, a Saturday arrival date (YYYY-MM-DD) and the party, and get the total price for the whole party for the whole week. Prices come from the live booking engine — the venue price plus the cheapest Channel crossing for the vehicles quoted — and are in GBP. Returns a structured "unavailable" result, not a price, when that week is not free for that party.
- `list_crossings`: List the Channel crossing choices for one trip — venue, Saturday arrival date (YYYY-MM-DD) and party — cheapest first. Each option gives the route, operator, ferry/tunnel type, crossing time, an overnight flag and the TOTAL holiday price with that crossing, plus the outbound/inbound route ids to pass to prepare_booking when the customer picks one. The cheapest option matches the get_quote price. Crossing choice is subject to sailing availability at checkout.
- `list_swims`: Check swim and accommodation availability for a venue on a specific Saturday date and actual party. Returns free/taken swim numbers, capacities, venue-specific rules and map URL. Golden Carp Lake sells four fixed booking_options, never individual swims: if asked for one swim, explain the full package and obtain customer acceptance before passing booking_option to get_quote, list_crossings or prepare_booking. Never silently expand a single-swim request or increase the party to package capacity. At other swim venues pass chosen swims and accommodation_ids, or allow suitable free defaults. Choices can affect price, so quote the final selection before confirming.
- `list_venues`: List every bookable Angling Lines carp fishing venue in France, with its headline facts (lake size, swims, capacity, lake record, accommodation), boolean feature flags (dogs_allowed, catfish, pool_or_hot_tub, …) and canonical URLs. The feature keys match the search_venues filter names, so prefer search_venues to filter server-side. Takes no arguments. This is the full catalogue, not an availability check.
- `prepare_booking`: Prepare a confirmed trip, including selected swims, accommodation, Golden Carp Lake booking_option and crossing, for the Angling Lines review page. Returns a live total and signed prefill link; creates nothing until the customer opens it. Call after the customer confirms the venue, Saturday date, party and choices. Missing or unavailable choices return a reason to resolve IN CHAT with list_swims/list_crossings; GCL can be booked through chat. Nothing is held or booked until checkout is completed.
- `search_categories`: Browse the curated venue categories Angling Lines maintains — themed collections such as big carp lakes, family-friendly lakes, lakes with a swimming pool, or lakes close to Calais. Called with no arguments it lists every category with its description and venue count; pass a category slug to get the bookable venues in that category. These lists are hand-picked by Angling Lines, so they cannot be reproduced by filtering on venue attributes.
- `search_venues`: The tool for "find me a lake": search the Angling Lines catalogue by party size, features and availability, exactly the way the website search does. Every filter is optional — call it with nothing for the whole catalogue, or combine party size ("anglers", "non_anglers"), lake facts ("min_carp_lb", "min_lake_acres") and facilities ("accommodation", "all_inclusive", "meals", "pool_or_hot_tub", "tackle_hire", "catfish", "dogs_allowed", "campervans", "rowing_boats", "bait_boats", "bait_on_site"). Add a Saturday "date" (YYYY-MM-DD) to get real availability plus "alternatives" — venues that match everything but that week, each with the nearest earlier and later free Saturday — or "months" (["YYYY-MM"]) to scan whole months. Narrow to a curated theme with "category", whose slugs come from search_categories.
- `venues_available_on_date`: Check which Angling Lines venues genuinely have space for a party, either on one specific Saturday or across a whole month. Stays are fixed 7-day weeks, so an arrival date must be a Saturday in "YYYY-MM-DD" form; pass "month" as "YYYY-MM" instead to scan a whole month (defaults to the current month). Returns only venues with real availability, each with its free arrival dates and remaining capacity. Use this — not list_venues — whenever the question is about what is free or bookable.
