search1api-mcp
A Model Context Protocol (MCP) server that provides search and crawl functionality using Search1API. TypeScript-based implementation.
Documentation
Search1API MCP Server
The official MCP server for Search1API — web search, news, page retrieval, sitemap discovery, and trending topics in one API.
Authentication
- OAuth-aware clients can connect to the Remote MCP URL directly, then sign in and approve access in the browser.
- Existing integrations can continue to use an API key from the Search1API dashboard.
- Tool calls always require a credential. Tool discovery (`initialize`, `tools/list`) is answered without one, so clients and directories can inspect the server before signing in.
Quick Start (Remote MCP)
No installation required. Configure your MCP client with the remote URL. Use OAuth when the client supports it, or provide an API key.
Authentication
Three methods are supported — use whichever your client supports:
| Method | Format |
|---|---|
| OAuth 2.1 | Connect to `https://mcp.search1api.com/mcp` without a key and follow the client sign-in flow |
| Authorization Header | `Authorization: Bearer YOUR_SEARCH1API_KEY` |
| URL Query Parameter (legacy) | `https://mcp.search1api.com/mcp?apiKey=YOUR_SEARCH1API_KEY` |
Prefer OAuth or the Authorization header. Query-parameter credentials can be exposed in URLs, logs, and shell history.
Claude Desktop
{
"mcpServers": {
"search1api": {
"url": "https://mcp.search1api.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SEARCH1API_KEY"
}
}
}
}Claude.ai (Web)
Settings > Connectors > Add custom connector:
https://mcp.search1api.com/mcp?apiKey=YOUR_SEARCH1API_KEYCursor
Install as a Cursor plugin (recommended): this repo includes Agent Plugins `plugin.json` + `mcp.json` (portable) and `.cursor-plugin/plugin.json` (Cursor Marketplace metadata / logo) for Remote MCP with OAuth. Submit or install from cursor.directory / the Cursor Marketplace, then sign in when prompted.
For local testing, copy the plugin files into `~/.cursor/plugins/local/search1api` (`plugin.json`, `.cursor-plugin/`, `mcp.json`, `assets/`). Do not symlink from outside that directory — Cursor rejects external symlink targets.
Or configure manually:
{
"mcpServers": {
"search1api": {
"url": "https://mcp.search1api.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SEARCH1API_KEY"
}
}
}
}VS Code
{
"servers": {
"search1api": {
"type": "http",
"url": "https://mcp.search1api.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_SEARCH1API_KEY"
}
}
}
}Claude Code
claude mcp add --transport http search1api https://mcp.search1api.com/mcp \
--header "Authorization: Bearer YOUR_SEARCH1API_KEY"Windsurf
{
"mcpServers": {
"search1api": {
"serverUrl": "https://mcp.search1api.com/mcp?apiKey=YOUR_SEARCH1API_KEY"
}
}
}Agent Skill
The Agent Skill has moved to search1api-cli. Install it with:
npm install -g search1api-cli
npx skills add superagents-lab/search1api-cliLocal Mode (stdio)
If you prefer to run the server locally, use Node.js 20 or newer with npx — no cloning required:
{
"mcpServers": {
"search1api": {
"command": "npx",
"args": ["-y", "search1api-mcp"],
"env": {
"SEARCH1API_KEY": "YOUR_SEARCH1API_KEY"
}
}
}
}For self-hosted HTTP deployments behind a proxy, add any internal hostnames
that reach the Node.js process to the comma-separated `MCP_ALLOWED_HOSTS`
environment variable. `mcp.search1api.com` and localhost addresses are allowed
by default. Browser-based clients that send an `Origin` header must also have
their trusted origin hostnames added to the comma-separated
`MCP_ALLOWED_ORIGINS` variable. Requests from server-side MCP clients normally
omit `Origin` and do not require an entry.
Tools
search
Search the web using Search1API. Results include a citable
`id`/`title`/`url` structure. Pass a result URL to `crawl` when you need the
full page.
| Parameter | Required | Default | Description |
|---|---|---|---|
| `query` | Yes | - | Search query |
| `max_results` | No | 10 | Number of results |
| `search_service` | No | google, bing, duckduckgo, yahoo, x, reddit, github, youtube, arxiv, wechat, bilibili, imdb, wikipedia | |
| `crawl_results` | No | 0 | Number of top results to crawl for full content; each successful crawl adds 1 credit to the base 1-credit search request |
| `include_sites` | No | [] | Sites to include |
| `exclude_sites` | No | [] | Sites to exclude |
| `time_range` | No | - | day, month, year |
news
Search for news articles.
| Parameter | Required | Default | Description |
|---|---|---|---|
| `query` | Yes | - | Search query |
| `max_results` | No | 10 | Number of results |
| `search_service` | No | bing | google, bing, duckduckgo, yahoo, hackernews |
| `crawl_results` | No | 0 | Number of top results to crawl for full content; each successful crawl adds 1 credit to the base 1-credit news request |
| `include_sites` | No | [] | Sites to include |
| `exclude_sites` | No | [] | Sites to exclude |
| `time_range` | No | - | day, month, year |
crawl
Extract content from a URL.
| Parameter | Required | Description |
|---|---|---|
| `url` | Yes | URL to crawl |
sitemap
Get all related links from a URL.
| Parameter | Required | Description |
|---|---|---|
| `url` | Yes | URL to get sitemap |
trending
Get trending topics from popular platforms.
| Parameter | Required | Default | Description |
|---|---|---|---|
| `search_service` | Yes | - | github, hackernews |
| `max_results` | No | 10 | Number of items |
Version History
- v0.6.0: MCP discovery (`initialize`, `tools/list`, `resources/*`, `prompts/list`, `server/discover`) is served without a credential so clients and directories can enumerate tools before signing in; tool calls still require OAuth or an API key. Stdio mode starts without `SEARCH1API_KEY` and serves tool metadata, refusing only at call time. Malformed requests answer as JSON-RPC instead of an HTML error page
- v0.5.4: OAuth issuer moved to `clerk.s1.dev` and is configurable with `OAUTH_AUTHORIZATION_SERVER`; MCP server card published at `/.well-known/mcp/server-card.json`; OAuth discovery documents now send cache headers
- v0.5.3: OAuth resource and tool metadata no longer require OIDC session scopes; Smithery and Glama registry badges added
- v0.5.2: MCP `Origin` validation now runs before request parsing and authentication; self-hosted HTTP deployments can configure trusted browser origins with `MCP_ALLOWED_ORIGINS`
- v0.5.1: Documentation, LobeHub manifest, and MCP Registry metadata synchronized; `robots.txt` served on the transport host
- v0.5.0: MCP 2026-07-28 support with automatic protocol negotiation; stateless compatibility for 2025-era HTTP clients; request-level authentication
- v0.4.0: Structured output schemas, OAuth security schemes, safety annotations, and Official MCP Registry metadata
- v0.3.1: OAuth 2.1 support for Remote MCP; retired reasoning tool removed
- v0.3.0: Remote MCP support via Streamable HTTP; per-session API key authentication
- v0.2.0: Fallback `.env` support for LibreChat integration
- v0.1.8: X (Twitter) and Reddit search services
- v0.1.7: Trending tool for GitHub and Hacker News
- v0.1.6: Wikipedia search service
- v0.1.5: New search parameters and services (arxiv, wechat, bilibili, imdb)
- v0.1.3: News search
- v0.1.2: Sitemap
- v0.1.1: Web crawling
- v0.1.0: Initial release
License
MIT
Frequently asked questions
What is search1api-mcp?
search1api-mcp is A Model Context Protocol (MCP) server that provides search and crawl functionality using Search1API. TypeScript-based implementation.
How do I install search1api-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is search1api-mcp open source?
Yes — it is hosted on GitHub at https://github.com/fatwang2/search1api-mcp and has 156 stars.
Related MCP tools
The official TypeScript SDK for Model Context Protocol servers and clients Trusted by 10500+ developers. Trusted by 10500+ developers.
Visual testing tool for MCP servers TypeScript-based implementation. Trusted by 7300+ developers. Trusted by 7300+ developers.
It's like v0 but in your Cursor/WindSurf/Cline. 21st dev Magic MCP server for working with your frontend like Magic TypeScript-based implementation.
Model Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices) TypeScript-based implementation.
Https://github.com/user-attachments/assets/364b6705-14d4-4e6d-bea7-fb9f12664fab for the Model Context Protocol. Enhance AI assistants with powerful integrations
MCP server that provides tools and resources for interacting with n8n API TypeScript-based implementation. Trusted by 1400+ developers.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP