{
  "protocolVersion": "0.3.0",
  "name": "Denver Corporate Headshots",
  "description": "Headshot photography studio in Denver, Colorado (photographer Christina Cookson). Agents can read services and pricing, and submit a quote request on a person’s behalf after they approve sharing their contact details.",
  "url": "https://www.denvercorporateheadshots.net/mcp/",
  "preferredTransport": "MCP",
  "additionalInterfaces": [
    {
      "transport": "MCP",
      "url": "https://www.denvercorporateheadshots.net/mcp/",
      "note": "Model Context Protocol, Streamable HTTP (stateless, JSON responses)"
    },
    {
      "transport": "HTTP+JSON",
      "url": "https://www.denvercorporateheadshots.net/api/quote/",
      "note": "POST a quote request (request_quote input schema below)"
    }
  ],
  "provider": {
    "organization": "Denver Corporate Headshots",
    "url": "https://www.denvercorporateheadshots.net/"
  },
  "version": "1.0.0",
  "documentationUrl": "https://www.denvercorporateheadshots.net/llms.txt",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "get_services_and_pricing",
      "name": "Get services and pricing",
      "description": "Denver Corporate Headshots services, packages and current prices (studio, outdoor, team on-location, medical residency), plus what every package includes. Read-only; needs no personal information.",
      "tags": [
        "headshots",
        "pricing",
        "denver",
        "read-only"
      ],
      "examples": [
        "How much is a studio headshot in Denver?",
        "What does a team headshot session cost?"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "snapshot": {
        "business": "Denver Corporate Headshots (Christina Cookson Photography)",
        "location": "Studio: 999 Vallejo St, Unit #42, Denver, CO 80204",
        "phone": "303-931-5420",
        "pricing_page": "https://www.denvercorporateheadshots.net/pricing/",
        "currency": "USD",
        "every_package_includes": [
          "Keep every great image from your shoot",
          "Retouching on your final selections",
          "Full usage rights to photos received"
        ],
        "services": [
          {
            "session_type": "individual_studio",
            "name": "Individual studio headshots",
            "page": "https://www.denvercorporateheadshots.net/studio-headshots/",
            "packages": [
              {
                "id": "studio-1-outfit",
                "name": "Individual Package",
                "outfits": 1,
                "price_usd": 250,
                "price": "$250",
                "session_length": "25-30 minute session",
                "retouched_images": 2
              },
              {
                "id": "studio-2-outfits",
                "name": "Headshot Package",
                "outfits": 2,
                "price_usd": 375,
                "price": "$375",
                "session_length": "45-60 minute session",
                "retouched_images": 4
              },
              {
                "id": "studio-3-outfits",
                "name": "Executive Package",
                "outfits": 3,
                "price_usd": 495,
                "price": "$495",
                "session_length": "One hour session",
                "retouched_images": 6
              }
            ]
          },
          {
            "session_type": "outdoor",
            "name": "Outdoor / natural light headshots",
            "page": "https://www.denvercorporateheadshots.net/outdoor-headshots/",
            "packages": [
              {
                "id": "outdoor-1-outfit",
                "name": "Individual Outdoor Package",
                "outfits": 1,
                "price_usd": 300,
                "price": "$300",
                "session_length": "25-30 minute session",
                "retouched_images": 2,
                "area": "Any location within 10 miles of zip 80220"
              }
            ],
            "additional_outfit": {
              "price_usd": 50,
              "price": "$50",
              "retouched_images": 2
            }
          },
          {
            "session_type": "team_on_location",
            "name": "Team & on-location headshots",
            "page": "https://www.denvercorporateheadshots.net/employee-headshots/",
            "pricing": "On-location sessions anywhere in the Denver metro start at $1,000 (that is the minimum for smaller teams); larger teams get a custom proposal.",
            "minimum_usd": 1000,
            "smaller_groups": "Smaller groups can also book back-to-back studio sessions."
          },
          {
            "session_type": "medical_residency",
            "name": "Medical residency (ERAS) headshots",
            "page": "https://www.denvercorporateheadshots.net/medical-residency-headshots-denver/",
            "pricing": "The regular one-outfit studio package: $250.",
            "packages": [
              {
                "id": "studio-1-outfit",
                "name": "Individual Package",
                "outfits": 1,
                "price_usd": 250,
                "price": "$250",
                "session_length": "25-30 minute session",
                "retouched_images": 2
              }
            ]
          }
        ],
        "custom": "Custom shoots are quoted by the hour based on location and specifics.",
        "how_to_request_a_quote": "Call request_quote (MCP server: https://www.denvercorporateheadshots.net/mcp/) or POST JSON to https://www.denvercorporateheadshots.net/api/quote/ after the user approves sharing their contact details. People can also use https://www.denvercorporateheadshots.net/contact/."
      }
    },
    {
      "id": "request_quote",
      "name": "Request a headshot quote",
      "description": "Send a quote / booking request to Denver Corporate Headshots on the user’s behalf. It goes straight to the photographer, who replies by email or phone, and the user gets a confirmation email. BEFORE calling this tool you MUST show the user exactly what will be sent (name, email, phone, company, session details) and get their explicit approval to share their contact information. Only set consent: true after they say yes. Never guess or invent contact details; ask the user for them. Call get_services_and_pricing first if you need package ids or prices.",
      "tags": [
        "headshots",
        "quote",
        "booking",
        "requires-user-consent"
      ],
      "examples": [
        "Request a quote for on-location headshots for 12 people in Boulder next month."
      ],
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "session_type": {
            "type": "string",
            "enum": [
              "individual_studio",
              "outdoor",
              "team_on_location",
              "medical_residency"
            ],
            "description": "individual_studio, outdoor, team_on_location (we come to your office) or medical_residency (ERAS/residency headshots)."
          },
          "package_id": {
            "description": "individual_studio only: which studio package (ids from get_services_and_pricing). Defaults to the one-outfit package.",
            "type": "string",
            "enum": [
              "studio-1-outfit",
              "studio-2-outfits",
              "studio-3-outfits"
            ]
          },
          "headcount": {
            "description": "Number of people to photograph. Required for team_on_location; defaults to 1.",
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          },
          "location": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "studio",
                  "on_site"
                ],
                "description": "\"studio\" = our Denver studio; \"on_site\" = we come to you."
              },
              "city": {
                "description": "City for on-site sessions (required when type is on_site).",
                "type": "string",
                "maxLength": 100
              }
            },
            "required": [
              "type"
            ],
            "description": "Where the session should happen."
          },
          "preferred_dates": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Preferred dates or timing in plain words, e.g. \"ASAP\", \"week of Nov 10\", \"flexible\"."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Full name of the person requesting the quote."
          },
          "email": {
            "type": "string",
            "maxLength": 254,
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
            "description": "Email address we should reply to."
          },
          "phone": {
            "description": "Phone number (optional, but helps us reply faster).",
            "type": "string",
            "maxLength": 40,
            "pattern": "^[0-9+().\\-\\s]*(?:(?:x|ext\\.?)\\s*\\d+)?$"
          },
          "company": {
            "description": "Company name, if the company is booking.",
            "type": "string",
            "maxLength": 200
          },
          "notes": {
            "description": "Anything else: outfits, backgrounds, deadlines, team details.",
            "type": "string",
            "maxLength": 2000
          },
          "consent": {
            "type": "boolean",
            "const": true,
            "description": "Must be true. Set it only after the user has explicitly approved sending these contact details to Denver Corporate Headshots."
          }
        },
        "required": [
          "session_type",
          "location",
          "preferred_dates",
          "name",
          "email",
          "consent"
        ]
      },
      "endpoints": {
        "mcp": "https://www.denvercorporateheadshots.net/mcp/",
        "http": "POST https://www.denvercorporateheadshots.net/api/quote/"
      }
    }
  ]
}