# CrustAPI MCP server [![smithery badge](https://smithery.ai/badge/crustapi/search)](https://smithery.ai/servers/crustapi/search) Give any MCP client (Claude Desktop, Cursor, Cline, Claude Code) live Google and public LinkedIn data. It calls the hosted CrustAPI `/v1/search` and `/v1/linkedin` endpoints. ## Tools - `search` covers the whole Google menu behind one tool. Pick the surface with `type`: `web`, `maps`, `places`, `news`, `shopping`, `images`, `videos`, `scholar`, `patents`, `autocomplete`. - `scrape_webpage` fetches any URL as clean text + metadata + JSON-LD (RAG-ready). - `get_reviews` pulls Google reviews for a business (by `placeId`/`cid`/`fid` or a name query). - `linkedin` covers public LinkedIn data behind one tool. Pick the surface with `type`: `profile`, `company`, `posts`, `jobs`, or `search` (people search). Add `enrich=true` on people search to get each person's full profile. You only pay for successful results; empty results are free. Get a free key (3,000 credits/month, no card) at **https://crustapi.com**. ## Installation Recommended: npx, nothing to install. Add this to your MCP client config (e.g. Claude Desktop's `claude_desktop_config.json`): ```json { "mcpServers": { "crustapi": { "command": "npx", "args": ["-y", "crustapi-mcp"], "env": { "CRUSTAPI_API_KEY": "key_live_xxxx" } } } } ``` Restart the client and the four tools appear. Requires Node 18+. ### From source ```bash npm install ``` ```json { "mcpServers": { "crustapi": { "command": "node", "args": ["/absolute/path/to/crustapi-mcp/server.mjs"], "env": { "CRUSTAPI_API_KEY": "key_live_xxxx" } } } } ``` ## Env | var | purpose | |---|---| | `CRUSTAPI_API_KEY` | your CrustAPI key, sent as `x-api-key` (required) | | `CRUSTAPI_BASE_URL` | defaults to `https://crustapi.com`; point at a local URL for testing | ## Usage - `search(type="web", q="best serp api 2026")` - `search(type="maps", q="dentists", location="Miami, FL", limit=20)` - `search(type="news", q="openai")` - `scrape_webpage(url="https://example.com/pricing", includeMarkdown=true)` - `get_reviews(q="Blue Bottle Coffee", sortBy="newest")` - `linkedin(type="profile", url="https://www.linkedin.com/in/williamhgates")` - `linkedin(type="search", keywords="head of growth fintech", enrich=true)` Every response is stable, structured JSON. ## Test it ```bash CRUSTAPI_API_KEY=key_live_xxxx node test-client.mjs ``` This spawns the server over stdio, lists the tools, and calls one.