{"name":"Haunt API MCP","status":"hosted_and_package_available","message":"Use hosted HTTP MCP for lowest friction, or the npm package for local stdio MCP clients.","activation_url":"https://hauntapi.com/use-cases/ai-agent-web-extraction","hosted":{"url":"https://hauntapi.com/mcp/server","transport":"streamable_http_json_rpc","auth":"Authorization: Bearer <HAUNT_API_KEY>","no_key_demo_tool":"try_demo_extract","real_extract_tool":"extract","markdown_extract_tool":"extract_markdown","tools":[{"name":"try_demo_extract","summary":"Return fixed sample Haunt extraction JSON","needs_key":false},{"name":"extract","summary":"Extract structured JSON from a permitted public URL using a plain-English prompt","needs_key":true},{"name":"extract_markdown","summary":"Return clean Markdown from a permitted public page for agents, RAG ingestion, notes, or .md files","needs_key":true},{"name":"extract_article","summary":"Extract article title, body, author, and publication date from a public article URL","needs_key":true},{"name":"extract_metadata","summary":"Extract title, meta description, Open Graph, Twitter Card, canonical URL, and related metadata","needs_key":true},{"name":"map_site","summary":"Discover up to 500 public same-site URLs from robots.txt, sitemaps, and bounded link traversal","needs_key":true},{"name":"crawl_site","summary":"Discover and extract the same structured fields from up to 20 public same-site pages","needs_key":true},{"name":"read_reddit","summary":"Read Reddit posts or comments as structured JSON without Reddit API credentials, app registration or OAuth","needs_key":true},{"name":"company_profile","summary":"Turn a company website URL into a structured profile: what the company does, its product, and the contact and social details published on the site","needs_key":true},{"name":"github_repo","summary":"Return normalised metadata for a public GitHub repository: description, stars, forks, language, licence, topics and last push","needs_key":true},{"name":"get_usage","summary":"Return current Haunt plan, monthly credit limit, used credits, reserved credits, and remaining credits","needs_key":true}],"endpoint":"https://hauntapi.com/mcp/server","json_rpc_methods":["initialize","tools/list","tools/call"]},"local_package":{"package":"@hauntapi/mcp-server","install":"npx -y @hauntapi/mcp-server","setup_command":"npx -y @hauntapi/cli@latest init","env":{"HAUNT_API_KEY":"${HAUNT_API_KEY}"}},"configs":{"hosted_mcp":{"url":"https://hauntapi.com/mcp/server","headers":{"Authorization":"Bearer ${HAUNT_API_KEY}"},"timeout":180,"connect_timeout":30},"local_mcp":{"package":"@hauntapi/mcp-server","install":"npx -y @hauntapi/cli@latest init","server_command":"npx -y @hauntapi/mcp-server","command":"npx","args":["-y","@hauntapi/mcp-server"],"env":{"HAUNT_API_KEY":"${HAUNT_API_KEY}"}},"hermes":{"mcp_servers":{"haunt":{"url":"https://hauntapi.com/mcp/server","headers":{"Authorization":"Bearer ${HAUNT_API_KEY}"},"timeout":180,"connect_timeout":30}}},"openclaw":{"mcpServers":{"haunt":{"url":"https://hauntapi.com/mcp/server","headers":{"Authorization":"Bearer ${HAUNT_API_KEY}"},"timeout":180,"connect_timeout":30}}},"claude_desktop":{"mcpServers":{"haunt":{"command":"npx","args":["-y","@hauntapi/mcp-server"],"env":{"HAUNT_API_KEY":"${HAUNT_API_KEY}"}}}},"cursor":{"mcpServers":{"haunt":{"command":"npx","args":["-y","@hauntapi/mcp-server"],"env":{"HAUNT_API_KEY":"${HAUNT_API_KEY}"}}}}},"next_steps":{"signup_curl":"curl https://hauntapi.com/v1/auth/signup -H 'Content-Type: application/json' -d '{\"email\":\"dev@example.com\",\"name\":\"Dev\",\"password\":\"SecurePass123\",\"business_use\":true,\"accept_terms\":true}'","first_call_curl":"curl https://hauntapi.com/v1/extract -H 'Content-Type: application/json' -H 'X-API-Key: ${HAUNT_API_KEY}' -d '{\"url\":\"https://news.ycombinator.com/\",\"prompt\":\"story titles from the front page\"}'","first_extract_curl":"curl https://hauntapi.com/v1/extract -H 'Content-Type: application/json' -H 'X-API-Key: ${HAUNT_API_KEY}' -d '{\"url\":\"https://news.ycombinator.com/\",\"prompt\":\"story titles from the front page\"}'","first_call_commands":{"bash":"curl -sS https://hauntapi.com/v1/extract -H \"Content-Type: application/json\" -H \"X-API-Key: ${HAUNT_API_KEY}\" -d '{\"url\":\"https://news.ycombinator.com/\",\"prompt\":\"story titles from the front page\"}'","powershell":"$headers = @{\"Content-Type\"=\"application/json\";\"X-API-Key\"=\"PASTE_YOUR_KEY_HERE\"}; Invoke-RestMethod -Method Post -Uri \"https://hauntapi.com/v1/extract\" -Headers $headers -Body '{\"url\":\"https://news.ycombinator.com/\",\"prompt\":\"story titles from the front page\"}'","cmd":"curl -sS https://hauntapi.com/v1/extract -H \"Content-Type: application/json\" -H \"X-API-Key: PASTE_YOUR_KEY_HERE\" -d \"{\\\"url\\\":\\\"https://news.ycombinator.com/\\\",\\\"prompt\\\":\\\"story titles from the front page\\\"}\"","python":"import requests\n\nresponse = requests.post(\n    \"https://hauntapi.com/v1/extract\",\n    headers={\"X-API-Key\": \"PASTE_YOUR_KEY_HERE\"},\n    json={'url': 'https://news.ycombinator.com/', 'prompt': 'story titles from the front page'},\n    timeout=60,\n)\nprint(response.json())"},"first_call_bash":"curl -sS https://hauntapi.com/v1/extract -H \"Content-Type: application/json\" -H \"X-API-Key: ${HAUNT_API_KEY}\" -d '{\"url\":\"https://news.ycombinator.com/\",\"prompt\":\"story titles from the front page\"}'","first_call_powershell":"$headers = @{\"Content-Type\"=\"application/json\";\"X-API-Key\"=\"PASTE_YOUR_KEY_HERE\"}; Invoke-RestMethod -Method Post -Uri \"https://hauntapi.com/v1/extract\" -Headers $headers -Body '{\"url\":\"https://news.ycombinator.com/\",\"prompt\":\"story titles from the front page\"}'","first_call_cmd":"curl -sS https://hauntapi.com/v1/extract -H \"Content-Type: application/json\" -H \"X-API-Key: PASTE_YOUR_KEY_HERE\" -d \"{\\\"url\\\":\\\"https://news.ycombinator.com/\\\",\\\"prompt\\\":\\\"story titles from the front page\\\"}\"","first_call_python":"import requests\n\nresponse = requests.post(\n    \"https://hauntapi.com/v1/extract\",\n    headers={\"X-API-Key\": \"PASTE_YOUR_KEY_HERE\"},\n    json={'url': 'https://news.ycombinator.com/', 'prompt': 'story titles from the front page'},\n    timeout=60,\n)\nprint(response.json())","hosted_mcp":"https://hauntapi.com/mcp/server","local_mcp_package":"@hauntapi/mcp-server","local_mcp_install":"npx -y @hauntapi/mcp-server","local_mcp_setup":"npx -y @hauntapi/cli@latest init","activation_url":"https://hauntapi.com/use-cases/ai-agent-web-extraction","docs":"https://hauntapi.com/docs#first-call","agents":"https://hauntapi.com/agents"},"docs":"https://hauntapi.com/agents","demo":"https://hauntapi.com/v1/demo/extract","openapi":"https://hauntapi.com/openapi.json","security":{"real_extraction_requires_api_key":true,"credentials_in_headers_only":true,"direct_haunt_keys_only":true,"rapidapi_headers_not_accepted_on_hosted_mcp":true,"rate_limited_by_plan":true,"demo_fetches_no_remote_url":true}}