MCP server
Give Claude, Cursor, VS Code or any MCP client live web access with a hosted Search1API MCP endpoint — no code required.
Search1API runs a hosted MCP server at:
https://mcp.search1api.com/mcpPoint an MCP client at it with your API key and the model can search the web, read pages and check what's trending — without you writing an integration.
Tools it exposes
| Tool | What it does | Required |
|---|---|---|
search | Web search | query |
news | News search | query |
crawl | Read a URL | url |
sitemap | List a site's links | url |
trending | GitHub / Hacker News trends | search_service |
reasoning | Deep reasoning | content |
The reasoning tool is currently unavailable while the underlying service is rebuilt — calls to it fail. The other five work normally.
Connect your client
Get a key from dashboard.search1api.com, then use the config for your client. The dashboard's MCP page generates these for you with the key already filled in.
claude mcp add --transport http search1api https://mcp.search1api.com/mcp \
--header "Authorization: Bearer YOUR_SEARCH1API_KEY"{
"mcpServers": {
"search1api": {
"url": "https://mcp.search1api.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SEARCH1API_KEY"
}
}
}
}{
"mcpServers": {
"search1api": {
"url": "https://mcp.search1api.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SEARCH1API_KEY"
}
}
}
}Note the different key (servers, not mcpServers) and the required type:
{
"servers": {
"search1api": {
"type": "http",
"url": "https://mcp.search1api.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SEARCH1API_KEY"
}
}
}
}Windsurf passes the key in the URL rather than a header:
{
"mcpServers": {
"search1api": {
"serverUrl": "https://mcp.search1api.com/mcp?apiKey=YOUR_SEARCH1API_KEY"
}
}
}Settings → Connectors → Add custom connector, then paste:
https://mcp.search1api.com/mcp?apiKey=YOUR_SEARCH1API_KEYHow auth works
The server takes your key from the Authorization: Bearer <key> header, and falls back to an ?apiKey=<key> query parameter for clients that cannot send headers. The header wins when both are present.
Query-parameter auth means your key travels in a URL, where it can end up in logs and shell history. Prefer the header whenever the client supports it.
Running it locally instead
The server also runs over stdio, straight from npm:
{
"mcpServers": {
"search1api": {
"command": "npx",
"args": ["-y", "search1api-mcp"],
"env": {
"SEARCH1API_KEY": "YOUR_SEARCH1API_KEY"
}
}
}
}Same tools, same key, no network hop to us for the MCP protocol itself — the API calls still go out to api.search1api.com.
Billing
MCP tool calls are ordinary API calls: they spend the same credits at the same rates as calling the endpoints yourself. See Credits and limits.