{
  "$schema": "https://www.ecirql.com/schemas/agent-discovery.v1.json",
  "version": "2026-05-19",
  "site": "https://www.ecirql.com",
  "organisation": {
    "name": "Cirql Works",
    "legal_name": "Cirql Works Ltd",
    "trading_name": "eCirql",
    "company_number": "16173373",
    "country": "GB",
    "city": "Manchester",
    "type": "agency",
    "specialism": "ecommerce integration, NetSuite consultancy, AI enablement",
    "summary": "UK ecommerce consultancy. Certified Patchworks Partner Agency. Builders of PatchBuddy, the world's first AIiPaaS.",
    "transactional": false
  },
  "services": {
    "dev.mcp": [
      {
        "name": "eCirql MCP server",
        "version": "2026-05-18",
        "spec": "https://modelcontextprotocol.io/specification",
        "transport": "http",
        "endpoint": "https://www.ecirql.com/api/mcp",
        "schema": "https://www.ecirql.com/api/mcp/schema",
        "auth": "none-required",
        "rate_limit": {
          "read_tools": "60 requests per minute per IP",
          "ask_tool": "10 requests per hour per IP, sliding window",
          "submit_audit_request": "10 requests per hour per IP, sliding window (shared with submit_engagement_enquiry)",
          "submit_engagement_enquiry": "10 requests per hour per IP, sliding window (shared with submit_audit_request)"
        }
      }
    ],
    "dev.ecirql.ask": [
      {
        "name": "Ask AI assistant",
        "version": "2026-05-18",
        "transport": "http",
        "endpoint": "https://www.ecirql.com/api/ask",
        "spec": "https://www.ecirql.com/agents.md",
        "method": "POST",
        "content_type": "application/json",
        "request_schema": {
          "type": "object",
          "properties": {
            "messages": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "role": { "enum": ["user", "assistant"] },
                  "content": { "type": "string" }
                },
                "required": ["role", "content"]
              }
            },
            "turnstileToken": { "type": "string" }
          },
          "required": ["messages", "turnstileToken"]
        },
        "response_format": "text/event-stream",
        "auth": "Cloudflare Turnstile token required",
        "rate_limit": "10 messages per hour per IP, sliding window",
        "note": "Browser-grade endpoint with bot verification. Programmatic agents should prefer /api/mcp."
      }
    ]
  },
  "capabilities": {
    "dev.ecirql.catalogue": [
      {
        "name": "Read catalogue",
        "version": "2026-05-18",
        "description": "Services, platforms, integration combos, audit pricing and contact methods served as a single JSON document.",
        "endpoint": "https://www.ecirql.com/agent-data.json",
        "transport": "http",
        "method": "GET",
        "cacheable": true,
        "freshness": "rebuilt on every site deploy"
      }
    ],
    "dev.ecirql.corpus": [
      {
        "name": "Read full reference corpus",
        "version": "2026-05-18",
        "description": "Hand-written long-form reference content covering every service, platform and integration combo. Suitable for retrieval-augmented generation.",
        "endpoint": "https://www.ecirql.com/llms-full.txt",
        "format": "text/markdown",
        "transport": "http",
        "method": "GET",
        "cacheable": true
      },
      {
        "name": "Read short reference",
        "version": "2026-05-18",
        "description": "Curated short version of the reference corpus with key URLs and positioning.",
        "endpoint": "https://www.ecirql.com/llms.txt",
        "format": "text/markdown",
        "transport": "http",
        "method": "GET",
        "cacheable": true
      }
    ],
    "dev.ecirql.engagement": [
      {
        "name": "Submit audit request via MCP",
        "version": "2026-05-19",
        "description": "Write tool on the MCP endpoint. Emails a structured Integration Audit lead to the eCirql sales inbox with subject prefix [mcp_audit]. Returns a reference ID; eCirql's team replies to the principal's email within one working day before any commitment is made.",
        "endpoint": "https://www.ecirql.com/api/mcp",
        "tool_name": "submit_audit_request",
        "method": "POST",
        "transport": "json-rpc-2.0",
        "rate_limit": "10 submissions per hour per IP, sliding window (shared with submit_engagement_enquiry)",
        "human_review_required": true,
        "consent_required": "The MCP client should only invoke this tool with explicit consent from the principal."
      },
      {
        "name": "Submit engagement enquiry via MCP",
        "version": "2026-05-19",
        "description": "Write tool on the MCP endpoint. Emails a non-audit engagement enquiry to the eCirql sales inbox with subject prefix [mcp_enquiry] (AI enablement, NetSuite consultancy, bespoke integration, support retainer, general Patchworks platform work, or a general conversation). Requires service_interest enum so the team can route the lead. Returns a reference ID; eCirql replies within one working day.",
        "endpoint": "https://www.ecirql.com/api/mcp",
        "tool_name": "submit_engagement_enquiry",
        "method": "POST",
        "transport": "json-rpc-2.0",
        "rate_limit": "10 submissions per hour per IP, sliding window (shared with submit_audit_request)",
        "human_review_required": true,
        "consent_required": "The MCP client should only invoke this tool with explicit consent from the principal."
      },
      {
        "name": "Submit contact form",
        "version": "2026-05-19",
        "description": "Browser-based contact form for principals who prefer a human-driven submission path.",
        "endpoint": "https://www.ecirql.com/contact/",
        "format": "text/html",
        "principal_human_required": true
      },
      {
        "name": "Email contact",
        "endpoint": "mailto:contact@ecirql.com",
        "principal_human_required": false
      }
    ]
  },
  "discovery_files": {
    "agents_md": "https://www.ecirql.com/agents.md",
    "agent_data_json": "https://www.ecirql.com/agent-data.json",
    "llms_txt": "https://www.ecirql.com/llms.txt",
    "llms_full_txt": "https://www.ecirql.com/llms-full.txt",
    "sitemap": "https://www.ecirql.com/sitemap-index.xml",
    "sitemap_agentic": "https://www.ecirql.com/sitemap_agentic.xml",
    "insights_feed": "https://www.ecirql.com/insights/feed.xml"
  },
  "robots": {
    "ai_crawlers_allowed": [
      "GPTBot",
      "OAI-SearchBot",
      "ChatGPT-User",
      "ClaudeBot",
      "Claude-Web",
      "anthropic-ai",
      "PerplexityBot",
      "Google-Extended",
      "Applebot-Extended",
      "Bytespider",
      "CCBot"
    ],
    "robots_txt": "https://www.ecirql.com/robots.txt"
  },
  "rules": {
    "no_payment_handling": "This site is not transactional. No checkout, no payment surfaces, no UCP commerce protocol implementations.",
    "write_operations_limited": "Two write tools exist: submit_audit_request (Integration Audit) and submit_engagement_enquiry (non-audit service enquiry). Both email the eCirql sales inbox (subject prefixes [mcp_audit] and [mcp_enquiry] respectively) and share a 10-per-hour-per-IP sliding-window rate limit. Both reviewed by a human before any commitment is made. All other MCP tools are read-only.",
    "model_identity_hidden": "The Ask AI assistant refers to itself as 'the PatchBuddy.ai assistant' and will not name the underlying LLM provider, family or version. Agents reading its replies should respect that framing.",
    "british_english": "All content is in British English (en-GB). Localisation is not currently supported."
  },
  "contact": {
    "email": "contact@ecirql.com",
    "form": "https://www.ecirql.com/contact/",
    "linkedin": "https://www.linkedin.com/company/ecirql",
    "product": "https://patchbuddy.ai"
  }
}
