{
  "api_status": "preview",
  "generated_at": "2026-11-10T20:08:12.185Z",
  "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_00ba51da6656762a",
    "tier": "discovered",
    "type": "mcp_server",
    "name": "Theorem Praxis",
    "name_source": "registry",
    "branches": {
      "primary": "productivity/projects/agent-work",
      "secondary": [],
      "method_version": "placement-ai/7",
      "tree_version": "tree/3",
      "placed_at": "2026-11-09T05:30:29.881Z"
    },
    "place": {
      "id": "productivity/projects/agent-work",
      "name": "Coordinate agents' work",
      "description": "Shared task boards and queues where AI agents claim, hand off and report work."
    },
    "summary": {
      "text": "Files, claims, updates and hands off project tickets for agents over MCP.",
      "source": "automated",
      "method": "placement-ai/7",
      "written_at": "2026-11-09T05:30: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": "praxis.theorem-labs.com",
    "provider": "theorem-labs.com",
    "url": "https://praxis.theorem-labs.com/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": "credentials",
        "how": [
          "oauth"
        ],
        "at": "2026-11-10T02:20:53.308Z",
        "method": "access/1"
      },
      "stated": null
    },
    "currency": null,
    "interface": null,
    "stated": {
      "audience": {
        "value": [
          "agents"
        ],
        "part": "description",
        "origin": "listing:mcp-registry",
        "url": null,
        "read_at": "2026-11-09T05:30:29.881Z",
        "method": "facts-ai/5"
      }
    },
    "calls": null,
    "calls_unknown": "asks_for_credentials",
    "tools": null,
    "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-09T02:07:56.677Z",
      "monitoring_days": 1.8,
      "limited_evidence": true,
      "checks_30d": 2,
      "passed_30d": 2,
      "missed_30d": 0,
      "pass_rate": 1,
      "freshness": "fresh",
      "last_check": {
        "at": "2026-11-10T02:20:53.308Z",
        "result": "auth_required",
        "passed": true,
        "http_status": 401,
        "duration_ms": 432
      }
    },
    "response_times": {
      "method": "response-times/1",
      "operation": "credentials_request",
      "check_method": "mcp-handshake/2",
      "check_methods": [
        "mcp-handshake/2"
      ],
      "timeout_ms": 10000,
      "computed_at": "2026-11-10T02:25:29.881Z",
      "windows": [
        {
          "window": "24h",
          "start": "2026-11-09T02:25:29.881Z",
          "end": "2026-11-10T02:25:29.881Z",
          "limited_history": false,
          "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-09T02:07:56.677Z",
          "end": "2026-11-10T02:25:29.881Z",
          "limited_history": true,
          "checks": 2,
          "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-09T02:07:56.677Z",
          "end": "2026-11-10T02:25:29.881Z",
          "limited_history": true,
          "checks": 2,
          "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-09T22:07:49.827Z",
      "listed": true
    },
    "links": {
      "page": "https://agentservicedirectory.com/services/cand_00ba51da6656762a",
      "api": "https://agentservicedirectory.com/api/v1/services/cand_00ba51da6656762a"
    },
    "recent_probes": [
      {
        "observed_at": "2026-11-10T02:20:53.308Z",
        "result": "auth_required",
        "passed": true,
        "http_status": 401,
        "duration_ms": 432,
        "x402_valid": null,
        "mainnet": null,
        "x402_networks": [],
        "region": "cloudflare:EWR",
        "method_version": "mcp-handshake/2",
        "error_detail": null,
        "request_url": null
      },
      {
        "observed_at": "2026-11-09T02:11:02.223Z",
        "result": "auth_required",
        "passed": true,
        "http_status": 401,
        "duration_ms": 430,
        "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://praxis.theorem-labs.com/ai",
        "name": null,
        "section": null,
        "source": "mcp-registry",
        "read_at": null,
        "templated": false
      },
      {
        "group": "read",
        "kind": "llms_txt",
        "url": "https://praxis.theorem-labs.com/llms.txt",
        "name": null,
        "section": null,
        "source": "page_read",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/",
        "name": "Home",
        "section": "Product",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/features",
        "name": "Features",
        "section": "Product",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/ai",
        "name": "AI apps",
        "section": "Product",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/pricing",
        "name": "Pricing",
        "section": "Product",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/tour",
        "name": "Tour",
        "section": "Product",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/compare",
        "name": "Compare Praxis with Jira, Linear and other trackers",
        "section": "Workflows, comparisons and evidence",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/solutions/ai-agent-project-management",
        "name": "Project management for AI agents",
        "section": "Workflows, comparisons and evidence",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/ai/claude-code",
        "name": "Project tracking for Claude Code",
        "section": "Workflows, comparisons and evidence",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/ai/codex",
        "name": "Project tracking for Codex",
        "section": "Workflows, comparisons and evidence",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/compare/linear",
        "name": "Praxis vs Linear for AI agent teams",
        "section": "Workflows, comparisons and evidence",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/compare/jira",
        "name": "Praxis vs Jira for AI agent teams",
        "section": "Workflows, comparisons and evidence",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/solutions/how-we-use-praxis",
        "name": "How Theorem Labs uses Praxis",
        "section": "Workflows, comparisons and evidence",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/solutions/coordinate-parallel-ai-coding-agents",
        "name": "How to coordinate parallel AI coding agents",
        "section": "Workflows, comparisons and evidence",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/compare/github-issues",
        "name": "Praxis vs GitHub Issues for AI agent teams",
        "section": "Workflows, comparisons and evidence",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/compare/asana",
        "name": "Praxis vs Asana for AI agent teams",
        "section": "Workflows, comparisons and evidence",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/compare/clickup",
        "name": "Praxis vs ClickUp for AI agent teams",
        "section": "Workflows, comparisons and evidence",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/getting-started",
        "name": "Getting started",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/how-praxis-works",
        "name": "How Praxis works",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/connect-ai-apps",
        "name": "Connect AI apps",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/manual-setup",
        "name": "Manual setup with a personal key",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/tools",
        "name": "Tool reference",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/permissions",
        "name": "Permissions and access",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/agent-workflow",
        "name": "Agent workflow",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/skills",
        "name": "Skills and commands",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/boards-and-views",
        "name": "Boards and views",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/tickets",
        "name": "Tickets",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/notes",
        "name": "Notes",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/updates",
        "name": "Updates",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/github",
        "name": "GitHub",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/announcements",
        "name": "Channel announcements",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/import-export",
        "name": "Import and export",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/notifications",
        "name": "Notifications",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/organizations",
        "name": "Organizations, people and roles",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/security",
        "name": "Security",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      },
      {
        "group": "own",
        "kind": "own",
        "url": "https://praxis.theorem-labs.com/docs/troubleshooting",
        "name": "Troubleshooting",
        "section": "Documentation",
        "source": "llms_txt",
        "read_at": "2026-11-10T03:20:29.881Z",
        "templated": false
      }
    ]
  }
}