{
  "api_status": "preview",
  "generated_at": "2026-11-12T22:27:51.133Z",
  "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_29b4ab65da5107cf",
    "tier": "discovered",
    "type": "mcp_server",
    "name": "NewsStocks.live market news",
    "name_source": "registry",
    "branches": {
      "primary": "search/news/markets-business",
      "secondary": [],
      "method_version": "placement-ai/7",
      "tree_version": "tree/3",
      "placed_at": "2026-11-12T01:15:29.881Z"
    },
    "place": {
      "id": "search/news/markets-business",
      "name": "Market, business and crypto news",
      "description": "Headlines and events on markets, companies, crypto and prediction markets."
    },
    "summary": {
      "text": "Delivers plain-English US stock market news and market analysis summaries.",
      "source": "automated",
      "method": "placement-ai/7",
      "written_at": "2026-11-12T01:15:29.881Z"
    },
    "package": null,
    "directory": {
      "in_directory": true,
      "method_version": "listing-criteria/6",
      "variant_of": null,
      "criteria": {
        "says_what_it_does": true,
        "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": "newsstocks.live",
    "provider": "newsstocks.live",
    "url": "https://newsstocks.live/mcp",
    "method": "GET",
    "templated_url": false,
    "operator": null,
    "tags": [],
    "category": null,
    "price_usd": null,
    "price_source": null,
    "provider_endpoints": 1,
    "networks": [],
    "networks_source": "registry",
    "payment_protocols": [],
    "access": {
      "observed": {
        "requires": "none_asked",
        "how": [],
        "at": "2026-11-11T23:10:33.207Z",
        "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-11T23:10:33.207Z",
      "method": "mcp-handshake/2"
    },
    "stated": {
      "covers": {
        "value": [
          "US"
        ],
        "part": "description",
        "origin": "listing:mcp-registry",
        "url": null,
        "read_at": "2026-11-12T01:15:29.881Z",
        "method": "facts-ai/5"
      }
    },
    "calls": {
      "source": "mcp_tools",
      "items": [
        {
          "call": "latest_news",
          "params": [
            {
              "name": "ticker",
              "in": "arg",
              "type": "string",
              "required": false
            },
            {
              "name": "limit",
              "in": "arg",
              "type": "integer",
              "required": false
            }
          ],
          "returns": null
        },
        {
          "call": "search_news",
          "params": [
            {
              "name": "query",
              "in": "arg",
              "type": "string",
              "required": true
            },
            {
              "name": "limit",
              "in": "arg",
              "type": "integer",
              "required": false
            }
          ],
          "returns": null
        },
        {
          "call": "get_story",
          "params": [
            {
              "name": "story",
              "in": "arg",
              "type": "string",
              "required": true
            }
          ],
          "returns": null
        },
        {
          "call": "market_analysis",
          "params": [
            {
              "name": "period",
              "in": "arg",
              "type": "string",
              "required": false
            }
          ],
          "returns": null
        }
      ],
      "at": "2026-11-11T23:10:33.207Z",
      "method": "request-shape/2"
    },
    "calls_unknown": null,
    "tools": {
      "names": [
        "get_story",
        "latest_news",
        "market_analysis",
        "search_news"
      ],
      "count": 4,
      "current_since": "2026-11-11T23:10:33.207Z",
      "first_listed_at": "2026-11-11T23:10:33.207Z",
      "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-11T23:07:47.619Z",
      "monitoring_days": 1,
      "limited_evidence": true,
      "checks_30d": 1,
      "passed_30d": 1,
      "missed_30d": 0,
      "pass_rate": 1,
      "freshness": "fresh",
      "last_check": {
        "at": "2026-11-11T23:10:33.207Z",
        "result": "ok",
        "passed": true,
        "http_status": 200,
        "duration_ms": 320
      }
    },
    "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-11T23:15:29.881Z",
      "windows": [
        {
          "window": "24h",
          "start": "2026-11-11T23:07:47.619Z",
          "end": "2026-11-11T23: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-11T23:07:47.619Z",
          "end": "2026-11-11T23: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-11T23:07:47.619Z",
          "end": "2026-11-11T23: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-11T23:07:47.619Z",
      "listed": true
    },
    "links": {
      "page": "https://agentservicedirectory.com/services/cand_29b4ab65da5107cf",
      "api": "https://agentservicedirectory.com/api/v1/services/cand_29b4ab65da5107cf"
    },
    "recent_probes": [
      {
        "observed_at": "2026-11-11T23:10:33.207Z",
        "result": "ok",
        "passed": true,
        "http_status": 200,
        "duration_ms": 320,
        "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://newsstocks.live/",
        "name": null,
        "section": null,
        "source": "mcp-registry",
        "read_at": null,
        "templated": false
      },
      {
        "group": "stated",
        "kind": "repository",
        "url": "https://github.com/mcmaxwell/newsstocks",
        "name": null,
        "section": null,
        "source": "mcp-registry",
        "read_at": null,
        "templated": false
      },
      {
        "group": "read",
        "kind": "llms_txt",
        "url": "https://newsstocks.live/llms.txt",
        "name": null,
        "section": null,
        "source": "page_read",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/news",
        "name": "Latest market news",
        "section": "When to use this site",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/analysis",
        "name": "Market analysis",
        "section": "When to use this site",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/markets",
        "name": "Market heatmap and breadth",
        "section": "When to use this site",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/stocks/AAPL",
        "name": "Company page, for example AAPL",
        "section": "When to use this site",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/earnings",
        "name": "Earnings calendar",
        "section": "When to use this site",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/learn/questions",
        "name": "Beginner questions",
        "section": "When to use this site",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/learn/glossary",
        "name": "Stock market glossary",
        "section": "When to use this site",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/learn/beginners",
        "name": "Start investing: beginner path",
        "section": "When to use this site",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/learn",
        "name": "Beginner guides",
        "section": "When to use this site",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/learn/how-to-follow-market-news-in-10-minutes",
        "name": "Market news tool guides",
        "section": "When to use this site",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/",
        "name": "Homepage as Markdown",
        "section": "How agents should fetch content",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/mcp",
        "name": "MCP server",
        "section": "How agents should fetch content",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/sitemap.xml",
        "name": "Sitemap",
        "section": "How agents should fetch content",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/rss.xml",
        "name": "RSS feed",
        "section": "How agents should fetch content",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/robots.txt",
        "name": "robots.txt",
        "section": "How agents should fetch content",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/how-it-works",
        "name": "How it works",
        "section": "How agents should fetch content",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/learn/quiz",
        "name": "Market Quiz",
        "section": "Main sections",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/stocks",
        "name": "Companies and topics",
        "section": "Main sections",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/tools",
        "name": "Tools we actually use",
        "section": "Main sections",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/learn/how-to-buy-the-sp-500",
        "name": "Guide example: how to buy the S&P 500",
        "section": "Page types",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/category/Markets",
        "name": "Category example: Markets",
        "section": "Page types",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/news-sitemap.xml",
        "name": "Google News sitemap",
        "section": "Machine-readable feeds",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/contact",
        "name": "Contact",
        "section": "Optional",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/privacy-policy",
        "name": "Privacy policy",
        "section": "Optional",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://newsstocks.live/terms-and-conditions",
        "name": "Terms and conditions",
        "section": "Optional",
        "source": "llms_txt",
        "read_at": "2026-11-12T00:20:29.881Z",
        "templated": false
      }
    ]
  }
}