{
  "mcp_version": "0.1.0",
  "manifest_version": "1.3",
  "name": "SharkSales Marketing Intelligence",
  "description": "Online marketing strategieën voor HNWI merken, e-commerce en makelaars. Data-gedreven inzicht en ecosysteem-denken door SharkSales.",
  "tools": [
    {
      "name": "query_sharksales",
      "description": "Stel vragen aan de SharkSales kennisbank over marketing, sales, strategie en werkwijze",
      "input_schema": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "description": "Jouw vraag over SharkSales, marketing of strategie"
          }
        },
        "required": ["question"]
      }
    },
    {
      "name": "get_portfolio_content",
      "description": "Haal portfolio content, projecten, expertises en contactinformatie op",
      "input_schema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["all", "projects", "hero", "about", "services", "contact"],
            "description": "Type content om op te halen",
            "default": "all"
          }
        }
      }
    },
    {
      "name": "search_projects",
      "description": "Zoek actieve projecten in de portfolio",
      "input_schema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": ["active", "all"],
            "default": "active"
          },
          "category": {
            "type": "string",
            "description": "Filter op service category (optioneel)"
          }
        }
      }
    },
    {
      "name": "check_api_status",
      "description": "Controleer de health en status van de API endpoints",
      "input_schema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "sharksales_keuzehulp_groeilek",
      "description": "Interactieve keuzehulp: SharkSales Keuzehulp – Waar zit jouw groeilek? Helpt gebruikers te ontdekken waar hun grootste marketingkansen liggen via Keuzehulp Studio.",
      "input_schema": {
        "type": "object",
        "properties": {
          "primaire_hulp": {
            "type": "string",
            "description": "Waar wil je primair hulp bij?",
            "enum": ["Traffic", "Content", "Conversie", "Data", "Privacy", "Toekomst"]
          },
          "tijdlijn": {
            "type": "string",
            "description": "Wanneer moet dit merkbaar beter zijn?",
            "enum": ["Binnen 30 dagen", "Binnen 90 dagen", "3–6 maanden", "Geen harde deadline"]
          },
          "fundament": {
            "type": "string",
            "description": "Hoe staat je fundament er nu bij?",
            "enum": ["veel los; weinig structuur", "structuur maar prestaties wisselen", "volwassen maar willen opschalen"]
          },
          "gewenste_vorm": {
            "type": "string",
            "description": "Welke vorm past het beste?",
            "enum": ["Strategie & plan", "Audit/quickscan", "Implementatie", "Doorlopende optimalisatie"]
          },
          "sector": {
            "type": "string",
            "description": "In welke sector ben je actief?",
            "enum": ["E-commerce", "Leadmarketing", "Premium/HNWI", "Overheid / semi-publiek"]
          }
        },
        "required": []
      }
    }
  ],
  "endpoints": {
    "content": {
      "url": "https://vxkymngeugwwlfbfdbyv.supabase.co/functions/v1/public-content",
      "method": "GET",
      "auth": "none",
      "description": "Publieke toegang tot alle portfolio content, projecten, expertises en contact informatie",
      "response_format": "application/json",
      "cache_control": "public, max-age=300, stale-while-revalidate=600"
    },
    "chat": {
      "url": "https://vxkymngeugwwlfbfdbyv.supabase.co/functions/v1/mcp-chat",
      "method": "POST",
      "auth": "none",
      "description": "Stel vragen aan de SharkSales kennisbank over marketing, sales, strategie en werkwijze",
      "request_body": {
        "question": "string (required) - Jouw vraag over SharkSales, marketing of strategie"
      },
      "response_format": "application/json",
      "example_request": {
        "question": "Hoe pak je branding aan voor HNWI-merken?"
      },
      "example_response": {
        "question": "string",
        "answer": "string",
        "source": "SharkSales kennisbank",
        "contact": {
          "phone": "+316 53 608 334",
          "email": "info@sharksales.nl",
          "linkedin": "https://www.linkedin.com/in/sjoerdvtilburg/"
        }
      }
    },
    "mcp_proxy": {
      "url": "https://vxkymngeugwwlfbfdbyv.supabase.co/functions/v1/mcp-proxy",
      "method": "POST",
      "auth": "none",
      "description": "CORS-enabled proxy voor MCP chat - gebruik dit voor client-side calls",
      "request_body": {
        "question": "string (required) - Jouw vraag over SharkSales, marketing of strategie"
      },
      "response_format": "application/json",
      "cache_control": "no-cache"
    },
    "mcp_server": {
      "url": "https://vxkymngeugwwlfbfdbyv.supabase.co/functions/v1/mcp-server",
      "method": "GET",
      "auth": "none",
      "description": "MCP protocol endpoint - GET voor simple access, POST voor MCP protocol",
      "response_format": "application/json",
      "cache_control": "public, max-age=300"
    },
    "projects": {
      "url": "https://vxkymngeugwwlfbfdbyv.supabase.co/functions/v1/public-projects",
      "method": "GET",
      "auth": "none",
      "description": "Alleen actieve projecten voor snellere fetches",
      "response_format": "application/json",
      "cache_control": "public, max-age=300, stale-while-revalidate=600"
    },
    "status": {
      "url": "https://vxkymngeugwwlfbfdbyv.supabase.co/functions/v1/api-status",
      "method": "GET",
      "auth": "none",
      "description": "Health check endpoint met service status",
      "response_format": "application/json",
      "cache_control": "public, max-age=60"
    },
    "keuzehulp_mcp_server": {
      "url": "https://otxnsivhgtimrxrsdaqo.supabase.co/functions/v1/mcp-server",
      "method": "POST",
      "auth": "bearer",
      "authentication": {
        "type": "bearer",
        "description": "Gebruik de meegeleverde API key als Bearer token",
        "header": "Authorization",
        "prefix": "Bearer",
        "api_key": "kh_mcp_Y78fnDZWT9xfajKyR1Wdr08DDHavlT5e"
      },
      "description": "Keuzehulp Studio MCP server voor interactieve beslissingsondersteuning en groeilek-diagnose. Gebruik de sharksales_keuzehulp_groeilek tool om de vragen te beantwoorden.",
      "response_format": "application/json",
      "example_request": {
        "method": "tools/call",
        "params": {
          "name": "sharksales_keuzehulp_groeilek",
          "arguments": {
            "primaire_hulp": "Traffic"
          }
        }
      }
    }
  },
  "capabilities": [
    "portfolio_data",
    "project_information",
    "expertise_areas",
    "contact_details",
    "blog_posts",
    "knowledge_base_chat",
    "marketing_strategy_advice",
    "hnwi_marketing_expertise",
    "interactive_keuzehulp",
    "keuzehulp_studio_integration"
  ],
  "content_types": [
    "hero_content",
    "hero_images",
    "about_skills",
    "service_categories",
    "projects",
    "linkedin_posts",
    "contact_info",
    "documents",
    "keuzehulp_flows"
  ],
  "usage": {
    "rate_limits": {
      "requests_per_minute": 60,
      "requests_per_hour": 1000,
      "burst_limit": 10,
      "concurrent_connections": 10
    },
    "quotas": {
      "tier": "public",
      "description": "Unlimited for AI assistants and research purposes",
      "throttling": "Gradual throttling after sustained high usage to ensure fair access"
    },
    "terms": "Read-only access for AI analysis, research and indexing",
    "acceptable_use": "Not for scraping, data mining, or commercial resale",
    "terms_url": "https://sharksales.nl/api-terms"
  },
  "error_schema": {
    "type": "object",
    "properties": {
      "error": {
        "type": "string",
        "description": "Human-readable error message"
      },
      "code": {
        "type": "string",
        "enum": ["RATE_LIMIT_EXCEEDED", "INVALID_REQUEST", "SERVER_ERROR", "NOT_FOUND"]
      },
      "timestamp": {
        "type": "string",
        "format": "date-time"
      },
      "request_id": {
        "type": "string",
        "description": "Unique identifier for troubleshooting"
      }
    },
    "example": {
      "error": "Rate limit exceeded. Please try again in 60 seconds.",
      "code": "RATE_LIMIT_EXCEEDED",
      "timestamp": "2025-11-12T10:30:00Z",
      "request_id": "req_abc123"
    }
  },
  "versioning": {
    "current": "1.3",
    "supported": ["1.0", "1.1", "1.2", "1.3"],
    "deprecated": [],
    "breaking_changes_url": "https://sharksales.nl/api-changelog",
    "deprecation_policy": "6 months notice for breaking changes"
  },
  "discovery": {
    "keywords": [
      "marketing",
      "HNWI",
      "high net worth",
      "e-commerce",
      "sales",
      "strategie",
      "makelaars",
      "real estate marketing",
      "lead generation",
      "virtual values",
      "see-think-do-care",
      "leadmarketing",
      "conversion optimization"
    ],
    "use_cases": [
      "Marketing strategie advies voor HNWI merken",
      "Makelaar marketing optimalisatie",
      "E-commerce growth strategieën",
      "Lead generation systemen",
      "Portfolio en expertise presentatie",
      "SharkSales werkwijze en filosofie",
      "Interactieve groeilek-diagnose via Keuzehulp Studio"
    ],
    "industries": [
      "Marketing & Advertising",
      "Real Estate",
      "Luxury Brands",
      "E-commerce",
      "Government & Public Sector"
    ],
    "languages": ["nl-NL", "en-US"],
    "regions": ["Netherlands", "Europe"]
  },
  "security": {
    "authentication": "none (public API)",
    "encryption": "TLS 1.3 in transit",
    "data_retention": "Query logs retained for 30 days for API improvement",
    "data_processing_location": "EU (Supabase EU region)",
    "gdpr_compliant": true,
    "privacy_policy": "https://sharksales.nl/privacy",
    "data_sharing": "No data sharing with third parties",
    "anonymization": "All query logs are anonymized after 30 days"
  },
  "support": {
    "contact": {
      "name": "Sjoerd van Tilburg",
      "email": "info@sharksales.nl",
      "phone": "+31653608334",
      "linkedin": "https://www.linkedin.com/in/sjoerdvtilburg/"
    },
    "documentation": "https://sharksales.nl/mcp-docs",
    "status_page": "https://status.sharksales.nl",
    "response_time": "Within 2 business days",
    "support_hours": "Mon-Fri 9:00-17:00 CET"
  },
  "metadata": {
    "author": "Sjoerd van Tilburg",
    "organization": "SharkSales",
    "website": "https://sharksales.nl",
    "last_updated": "2025-12-19",
    "api_version": "1.3",
    "language": "nl-NL",
    "created": "2025-10-20",
    "license": "Proprietary - Public API access granted",
    "logo": "https://sharksales.nl/logo.png"
  },
  "schema": {
    "@context": "https://schema.org",
    "@type": "APIReference",
    "name": "SharkSales Marketing Intelligence API",
    "description": "Machine-readable content API voor AI-toegang tot marketing expertise, portfolio, projecten en strategische kennis",
    "inLanguage": "nl-NL",
    "provider": {
      "@type": "Organization",
      "name": "SharkSales",
      "url": "https://sharksales.nl"
    }
  },
  "integration_examples": {
    "claude_desktop": {
      "description": "Add to Claude Desktop MCP config",
      "config": {
        "mcpServers": {
          "sharksales": {
            "url": "https://sharksales.nl/.well-known/mcp-manifest.json",
            "type": "sse"
          }
        }
      }
    },
    "curl": {
      "description": "Query the knowledge base via curl",
      "example": "curl -X POST https://vxkymngeugwwlfbfdbyv.supabase.co/functions/v1/mcp-chat -H 'Content-Type: application/json' -d '{\"question\": \"Wat is HNWI marketing?\"}'"
    },
    "keuzehulp_studio": {
      "description": "Verbind met Keuzehulp Studio MCP server voor interactieve groeilek-diagnose",
      "config": {
        "mcp_server": {
          "url": "https://otxnsivhgtimrxrsdaqo.supabase.co/functions/v1/mcp-server",
          "authentication": {
            "type": "bearer",
            "api_key": "kh_mcp_Y78fnDZWT9xfajKyR1Wdr08DDHavlT5e"
          }
        }
      },
      "curl_example": "curl -X POST https://otxnsivhgtimrxrsdaqo.supabase.co/functions/v1/mcp-server -H 'Content-Type: application/json' -H 'Authorization: Bearer kh_mcp_Y78fnDZWT9xfajKyR1Wdr08DDHavlT5e' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"sharksales_keuzehulp_groeilek\",\"arguments\":{\"primaire_hulp\":\"Traffic\"}}}'"
    }
  }
}
