{
  "about": "Self-describing discovery manifest of read-only tools an AI agent can call against 2kwebdev.com. Custom shape (not the agents.json spec). All tools are plain HTTP GET returning JSON; no authentication; no write/action tools.",
  "site": {
    "name": "2k Web Developments",
    "url": "https://2kwebdev.com",
    "description": "Hand-coded, fast static websites and custom software for small businesses across the Kansas City metro and remotely.",
    "contact": "adam@2kwebdev.com",
    "telephone": "+1-816-772-5917"
  },
  "generated": "2026-08-08T22:50:13Z",
  "access": "read-only",
  "tools": [
    {
      "name": "services",
      "description": "All services and their pricing (fixed / from / tiered / quote).",
      "url": "https://2kwebdev.com/agent/services.json",
      "method": "GET",
      "access": "read-only",
      "output_schema": {
        "type": "object",
        "properties": {
          "services": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "service_type": {
                  "type": "string"
                },
                "pricing_model": {
                  "enum": [
                    "fixed",
                    "from",
                    "tiered",
                    "quote"
                  ]
                },
                "price": {
                  "type": "object"
                },
                "tiers": {
                  "type": "array"
                },
                "description": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    {
      "name": "service-area",
      "description": "Cities with a dedicated local page, plus the coverage model.",
      "url": "https://2kwebdev.com/agent/service-area.json",
      "method": "GET",
      "access": "read-only",
      "output_schema": {
        "type": "object",
        "properties": {
          "coverage": {
            "type": "object"
          },
          "cities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "state": {
                  "type": "string"
                },
                "metro": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "zips": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    {
      "name": "process",
      "description": "How an engagement works: steps, ownership, and payment model.",
      "url": "https://2kwebdev.com/agent/process.json",
      "method": "GET",
      "access": "read-only",
      "output_schema": {
        "type": "object",
        "properties": {
          "engagement_steps": {
            "type": "array"
          },
          "ownership": {
            "type": "object"
          },
          "payment": {
            "type": "object"
          },
          "typical_timeline": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }
  ],
  "human_readable": {
    "llms_txt": "https://2kwebdev.com/llms.txt",
    "llms_full": "https://2kwebdev.com/llms-full.txt"
  }
}
