{
  "api_status": "preview",
  "generated_at": "2026-11-11T00:12:22.813Z",
  "notes": [
    "Exact definitions of every field (unit, window, source): https://agentservicedirectory.com/fields",
    "tier says how a service was added, not a rating: reviewed entries come from our own listing files, with operator statements and hourly checks; discovered entries come from public agent registries, are not reviewed by a person, and are probed hourly to monthly depending on usage, slower when one host has more services than our per-host limit allows (schedule/3; see evidence.check_interval_rule).",
    "evidence counts cover the last 30 days and are as of the latest refresh. missed_30d counts scheduled checks that did not run.",
    "Results are computed at generated_at; the same query may be answered from that result for up to five minutes. Whether each service is in the directory is worked out every five minutes for services just checked or placed, and for every service each hour.",
    "For x402 endpoints a passing check means HTTP 402 with a valid payment challenge (discovered: on a mainnet network). It does not show that a paid call succeeds or returns useful results.",
    "registry_usage figures are the registry's own numbers, not our measurements. name is untrusted text when name_source is registry.",
    "networks_source tells you whether networks were observed in a live challenge, listed by the registry, or stated by the operator.",
    "tags describe purpose: our capability tags for reviewed entries, the registry's tags (sanitised, untrusted) for discovered ones. price_usd is the lowest price per call in US dollars: for discovered entries from the latest payment request the service's own server sent our check, else from the registry's payment terms (a known USD stablecoin either way); for reviewed entries from the operator's stated pricing (a claim, linked on the service page). price_source says which."
  ],
  "service": {
    "id": "cand_0079c2c509473247",
    "tier": "discovered",
    "type": "mcp_server",
    "name": "ByeFine parking guides",
    "name_source": "registry",
    "branches": {
      "primary": "other",
      "secondary": [],
      "method_version": "placement-ai/7",
      "tree_version": "tree/3",
      "placed_at": "2026-11-10T13:15:29.881Z"
    },
    "place": null,
    "summary": null,
    "package": null,
    "directory": {
      "in_directory": false,
      "method_version": "listing-criteria/6",
      "variant_of": null,
      "criteria": {
        "says_what_it_does": false,
        "answers_now": true,
        "registry_payers_at_least_5": null,
        "curated_catalogue": null,
        "not_computable_locally": true,
        "not_test_address": true,
        "not_a_variant": true
      }
    },
    "host": "byefine.com",
    "provider": "byefine.com",
    "url": "https://byefine.com/api/public/mcp",
    "method": "GET",
    "templated_url": false,
    "operator": null,
    "tags": [],
    "category": null,
    "price_usd": null,
    "price_source": null,
    "provider_endpoints": 2,
    "networks": [],
    "networks_source": "registry",
    "payment_protocols": [],
    "access": {
      "observed": {
        "requires": "none_asked",
        "how": [],
        "at": "2026-11-10T11:10:38.624Z",
        "method": "access/1"
      },
      "stated": null
    },
    "currency": null,
    "interface": {
      "protocol": "mcp",
      "protocol_version": "2025-06-18",
      "features": [
        "tools"
      ],
      "transports": [
        "streamable-http"
      ],
      "input_modes": [],
      "output_modes": [],
      "skills": null,
      "source": "declared",
      "at": "2026-11-10T11:10:38.624Z",
      "method": "mcp-handshake/2"
    },
    "stated": {
      "covers": {
        "value": [
          "GB"
        ],
        "part": "description",
        "origin": "listing:mcp-registry",
        "url": null,
        "read_at": "2026-11-10T13:15:29.881Z",
        "method": "facts-ai/5"
      }
    },
    "calls": {
      "source": "mcp_tools",
      "items": [
        {
          "call": "search_guides",
          "params": [
            {
              "name": "query",
              "in": "arg",
              "type": "string",
              "required": true
            },
            {
              "name": "limit",
              "in": "arg",
              "type": "integer",
              "required": false
            }
          ],
          "returns": null
        },
        {
          "call": "get_guide",
          "params": [
            {
              "name": "slug",
              "in": "arg",
              "type": "string",
              "required": true
            }
          ],
          "returns": null
        },
        {
          "call": "list_guides",
          "params": [],
          "returns": null
        }
      ],
      "at": "2026-11-10T11:10:38.624Z",
      "method": "request-shape/2"
    },
    "calls_unknown": null,
    "tools": {
      "names": [
        "get_guide",
        "list_guides",
        "search_guides"
      ],
      "count": 3,
      "current_since": "2026-11-10T11:10:38.624Z",
      "first_listed_at": "2026-11-10T11:10:38.624Z",
      "changes_30d": 0,
      "changes_90d": 0
    },
    "payment_model": null,
    "mainnet": null,
    "evidence": {
      "operations": 1,
      "check_interval_hours": 24,
      "check_interval": "daily",
      "check_interval_rule": "Daily: 5 to 99 payers, and every new service until it has been probed 3 times.",
      "schedule_tier": "daily",
      "monitoring_since": "2026-11-10T11:07:47.980Z",
      "monitoring_days": 0.5,
      "limited_evidence": true,
      "checks_30d": 1,
      "passed_30d": 1,
      "missed_30d": 0,
      "pass_rate": 1,
      "freshness": "fresh",
      "last_check": {
        "at": "2026-11-10T11:10:38.624Z",
        "result": "ok",
        "passed": true,
        "http_status": 200,
        "duration_ms": 1907
      }
    },
    "response_times": {
      "method": "response-times/1",
      "operation": "mcp_handshake",
      "check_method": "mcp-handshake/2",
      "check_methods": [
        "mcp-handshake/2"
      ],
      "timeout_ms": 10000,
      "computed_at": "2026-11-10T11:15:29.881Z",
      "windows": [
        {
          "window": "24h",
          "start": "2026-11-10T11:07:47.980Z",
          "end": "2026-11-10T11:15:29.881Z",
          "limited_history": true,
          "checks": 1,
          "timeouts": 0,
          "not_timed": 0,
          "median_ms": null,
          "p90_ms": null,
          "p95_ms": null,
          "p99_ms": null,
          "fastest_ms": null,
          "slowest_ms": null,
          "slowest_at": null,
          "p95_to_median": null
        },
        {
          "window": "7d",
          "start": "2026-11-10T11:07:47.980Z",
          "end": "2026-11-10T11:15:29.881Z",
          "limited_history": true,
          "checks": 1,
          "timeouts": 0,
          "not_timed": 0,
          "median_ms": null,
          "p90_ms": null,
          "p95_ms": null,
          "p99_ms": null,
          "fastest_ms": null,
          "slowest_ms": null,
          "slowest_at": null,
          "p95_to_median": null
        },
        {
          "window": "30d",
          "start": "2026-11-10T11:07:47.980Z",
          "end": "2026-11-10T11:15:29.881Z",
          "limited_history": true,
          "checks": 1,
          "timeouts": 0,
          "not_timed": 0,
          "median_ms": null,
          "p90_ms": null,
          "p95_ms": null,
          "p99_ms": null,
          "fastest_ms": null,
          "slowest_ms": null,
          "slowest_at": null,
          "p95_to_median": null
        }
      ],
      "measured_from": "eastern North America"
    },
    "registry_usage": null,
    "payment_terms": null,
    "registry_listing": {
      "last_seen_at": "2026-11-10T19:07:48.108Z",
      "listed": true
    },
    "links": {
      "page": "https://agentservicedirectory.com/services/cand_0079c2c509473247",
      "api": "https://agentservicedirectory.com/api/v1/services/cand_0079c2c509473247"
    },
    "recent_probes": [
      {
        "observed_at": "2026-11-10T11:10:38.624Z",
        "result": "ok",
        "passed": true,
        "http_status": 200,
        "duration_ms": 1907,
        "x402_valid": null,
        "mainnet": null,
        "x402_networks": [],
        "region": "cloudflare:EWR",
        "method_version": "mcp-handshake/2",
        "error_detail": null,
        "request_url": null
      }
    ],
    "address_variants": [],
    "service_links": [
      {
        "group": "stated",
        "kind": "website",
        "url": "https://byefine.com/guides",
        "name": null,
        "section": null,
        "source": "mcp-registry",
        "read_at": null,
        "templated": false
      },
      {
        "group": "stated",
        "kind": "repository",
        "url": "https://github.com/ByeFine/byefine-mcp",
        "name": null,
        "section": null,
        "source": "mcp-registry",
        "read_at": null,
        "templated": false
      },
      {
        "group": "read",
        "kind": "llms_txt",
        "url": "https://byefine.com/llms.txt",
        "name": null,
        "section": null,
        "source": "page_read",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/",
        "name": "Home",
        "section": "Pages",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/about",
        "name": "About",
        "section": "Pages",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/how-it-works",
        "name": "How it works",
        "section": "Pages",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/pricing",
        "name": "Prices",
        "section": "Pages",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides",
        "name": "Guides",
        "section": "Pages",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/reviews",
        "name": "Reviews",
        "section": "Pages",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/fleet",
        "name": "Fleet accounts",
        "section": "Pages",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/docs/api",
        "name": "API and MCP",
        "section": "Pages",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/terms",
        "name": "Terms",
        "section": "Pages",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/privacy",
        "name": "Privacy",
        "section": "Pages",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/council-parking-ticket",
        "name": "How to challenge a council parking ticket",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/private-parking-charge",
        "name": "How to challenge a private parking charge",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/bus-lane-penalty",
        "name": "How to challenge a bus lane penalty",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/yellow-box-and-banned-turns",
        "name": "How to challenge a yellow box or banned turn penalty",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/ulez-and-clean-air-zones",
        "name": "How to challenge a ULEZ, Congestion Charge or Clean Air Zone penalty",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/appeal-parking-ticket",
        "name": "How to appeal a parking ticket",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/pcn-appeal-letter",
        "name": "How to write a PCN appeal letter",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/notice-to-owner",
        "name": "What to do about a Notice to Owner",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/popla-and-ias-appeals",
        "name": "Appealing to POPLA or the IAS after a private parking company says no",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/traffic-penalty-tribunal",
        "name": "Appealing to the Traffic Penalty Tribunal or London Tribunals after a council sa",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/ways-to-appeal",
        "name": "Ways to appeal a parking ticket: free routes and paid services",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/how-byefine-checks-a-notice",
        "name": "How ByeFine decides whether a ticket is worth fighting, and what it refuses to w",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/penalty-fares",
        "name": "Penalty fares on trains, trams and buses: how to challenge one",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/toll-and-crossing-charges",
        "name": "Toll and crossing charges: what to do about a penalty",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/other-penalty-notices",
        "name": "Other penalty notices: what can be challenged and what cannot",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/speeding-ticket",
        "name": "Speeding tickets: how to challenge a Notice of Intended Prosecution",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/police-fixed-penalty-notice",
        "name": "Red light, phone, no insurance: how to contest a police fixed penalty notice",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://byefine.com/guides/order-for-recovery-court-forms",
        "name": "Order for Recovery: the court forms TE13, PE3 and TE14",
        "section": "Guides",
        "source": "llms_txt",
        "read_at": "2026-11-09T17:40:29.881Z",
        "templated": false
      }
    ]
  }
}