{
    "schema_version": "1.0",
    "name": "MobileAppDaily — Full WebMCP Manifest",
    "description": "AI-accessible tools for MobileAppDaily: auth, directories, products, reviews, blogs, interviews, vendor dashboard, and more.",
    "base_url": "https://www.mobileappdaily.com/",
    "auth": {
        "types": [
            {
                "type": "jwt_bearer",
                "description": "API endpoints use Authorization: Bearer {JWT} or X-API-Key header.",
                "login_url": "https://www.mobileappdaily.com/api/auth/login",
                "refresh_url": "https://www.mobileappdaily.com/api/auth/refresh"
            },
            {
                "type": "session_cookie",
                "description": "Browser-based vendor/admin sessions use CI session cookies.",
                "login_url": "https://www.mobileappdaily.com/user-login"
            }
        ]
    },
    "modules": [
        {
            "module": "webmcp_directory_tools",
            "description": "WebMCP dedicated directory search and listing tools",
            "tools": [
                {
                    "name": "mcpSearchDirectories",
                    "method": "GET",
                    "endpoint": "https://www.mobileappdaily.com/api/webmcp/search-directories",
                    "description": "Search service directories by keyword. Returns matching directory suggestions.",
                    "parameters": {
                        "keyword": {
                            "type": "string",
                            "required": true,
                            "description": "Search keyword"
                        }
                    }
                },
                {
                    "name": "mcpSearchLocations",
                    "method": "GET",
                    "endpoint": "https://www.mobileappdaily.com/api/webmcp/search-locations",
                    "description": "Search locations within a directory for filtering.",
                    "parameters": {
                        "directory_slug": {
                            "type": "string",
                            "required": true,
                            "description": "Directory slug e.g. mobile-app-development-companies"
                        },
                        "location_id": {
                            "type": "string",
                            "required": true,
                            "description": "Location name or slug (e.g. \"India\", \"New York\", \"uk\"). Used to find the location-specific directory URL."
                        }
                    }
                },
                {
                    "name": "mcpListDirectories",
                    "method": "GET",
                    "endpoint": "https://www.mobileappdaily.com/api/webmcp/list-directories",
                    "description": "List all available service provider directories with pagination.",
                    "parameters": {
                        "page": {
                            "type": "integer",
                            "required": false,
                            "description": "Page number"
                        }
                    }
                },
                {
                    "name": "mcpGetDirectoryCompanies",
                    "method": "GET",
                    "endpoint": "https://www.mobileappdaily.com/api/webmcp/directory-companies",
                    "description": "Get companies listed in a directory with filters. IMPORTANT: The location parameter requires numeric IDs (e.g. \"233\" for USA, \"233,3952\" for USA+state, \"233,3952,1234\" for city). For human-readable location names like \"India\" or \"New York\", use mcpSmartSearch instead.",
                    "parameters": {
                        "slug": {
                            "type": "string",
                            "required": true,
                            "description": "Directory slug e.g. mobile-app-development-companies"
                        },
                        "directory_id": {
                            "type": "string",
                            "required": false,
                            "description": "Or directory ID"
                        },
                        "location": {
                            "type": "string",
                            "required": false,
                            "description": "Numeric location IDs as comma-separated string e.g. \"101\" for country, \"101,4030\" for state, \"101,4030,5678\" for city. Use mcpResolveLocation to convert names to IDs."
                        },
                        "page": {
                            "type": "integer",
                            "required": false,
                            "description": "Page number"
                        }
                    }
                },
                {
                    "name": "mcpGetDirectoryDetails",
                    "method": "GET",
                    "endpoint": "https://www.mobileappdaily.com/api/webmcp/directory-details/{slug}",
                    "description": "Get full details for a specific directory by its URL slug.",
                    "parameters": {
                        "slug": {
                            "type": "string",
                            "required": true,
                            "in": "path",
                            "description": "Directory URL slug"
                        }
                    }
                },
                {
                    "name": "mcpResolveLocation",
                    "method": "GET",
                    "endpoint": "https://www.mobileappdaily.com/api/webmcp/resolve-location",
                    "description": "Resolve a natural-language location (e.g. \"India\", \"New York\", \"UK\") to location IDs, country codes, and location_string. When multiple cities/states share the same name (e.g. London UK vs London Canada), the best match is picked by company_count and alternatives are included. Always check the country_name in the response to confirm it matched the user's intent. If unsure, present the alternatives to the user.",
                    "parameters": {
                        "query": {
                            "type": "string",
                            "required": true,
                            "description": "Location name, country code (iso2/iso3), or city name"
                        }
                    }
                },
                {
                    "name": "mcpSmartSearch",
                    "method": "GET",
                    "endpoint": "https://www.mobileappdaily.com/api/webmcp/smart-search",
                    "description": "Search for companies by service keyword and location in one call. Automatically resolves location text to IDs, finds the location-specific directory slug, and returns filtered companies.",
                    "parameters": {
                        "keyword": {
                            "type": "string",
                            "required": true,
                            "description": "Service keyword e.g. flutter development"
                        },
                        "location": {
                            "type": "string",
                            "required": false,
                            "description": "Location name e.g. India, New York, UK"
                        },
                        "page": {
                            "type": "integer",
                            "required": false,
                            "description": "Page number (default 1)"
                        },
                        "limit": {
                            "type": "integer",
                            "required": false,
                            "description": "Results per page (default 50)"
                        }
                    }
                }
            ]
        }
    ]
}