windsurf-search-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@windsurf-search-mcpsearch for best practices for secure API key storage"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
windsurf-search-mcp
MCP server and CLI for Windsurf/Devin server-side web search
(GetWebSearchResults).
Zero runtime dependencies. Node.js >= 20.
This talks to Windsurf/Devin cloud endpoints with a personal session token. Use at your own risk; tokens expire and may violate the provider's terms if used outside the official client.
Install
npm i -g windsurf-search-mcp
# or without install:
npx -y -p windsurf-search-mcp windsurf-search --helpRelated MCP server: web-mcp-server
Auth (no secrets in config files)
Resolve order:
--api-key <token>WINDSURF_API_KEY(or legacyWINDSURFAPI_CODEIUM_API_KEY)first existing key file:
~/.config/windsurf-search/api-key~/.windsurf-search/api-key~/.piwin/windsurf-api-key(compat)
Expected token shape: devin-session-token$...
# interactive (masked)
windsurf-search config set
# or non-interactive
windsurf-search config set 'devin-session-token$...'
windsurf-search config show
windsurf-search config testEmail/password login is also available (windsurf-search --login), but many
accounts are OAuth-only and will reject password login.
CLI
windsurf-search "tauri window drag region" --limit 5
# stdout JSON:
# { "hits": [ { "title", "url", "snippet", "source": "windsurf" } ] }Useful for agent hosts that spawn a custom CLI search source and parse JSON hits.
MCP server
Cursor / Claude Desktop / generic MCP host
{
"mcpServers": {
"windsurf-search": {
"command": "npx",
"args": ["-y", "windsurf-search-mcp"],
"env": {
"WINDSURF_API_KEY": "devin-session-token$..."
}
}
}
}Prefer putting the token in a key file and omitting env entirely:
{
"mcpServers": {
"windsurf-search": {
"command": "npx",
"args": ["-y", "windsurf-search-mcp"]
}
}
}Then:
windsurf-search config setExposed tool
web_search
arg | type | required | notes |
| string | yes | search query |
| number | no | 1–10, default 5 |
| string | no | optional domain filter |
| number | no | optional upstream mode |
Returns MCP text content with JSON:
{ "hits": [ { "title": "...", "url": "...", "snippet": "...", "source": "windsurf" } ] }Development
node --test test/*.mjs # offline unit + protocol tests
RUN_LIVE_SEARCH=1 npm test # also hit live API if key is configuredSecurity notes
Never commit real tokens.
Session tokens expire; re-run
config setwhen searches return 401.config showonly prints a masked key.This is not an official Windsurf/Devin product.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Search API for Google, Bing, Amazon, Maps, DuckDuckGo, Yelp, and TripAdvisor, exposed as MCP tools.
1Scrape, crawl and search the web for AI agents via MCP.
Free web search for AI agents. No API key required. Hosted MCP in active development.
Docs: https://docs.keenable.ai/mcp-server Keenable is a free, remote MCP server that gives agents access to the web index. Search the web with ranked results and date/site filters, then fetch any indexed page as clean markdown. Works out of the box with no account or API key.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA Model Context Protocol server that exposes powerful web search and scraping tools to AI agents and MCP-compatible clients.Apache 2.0
- FlicenseNot gradedqualityDmaintenanceMCP server that exposes web_search and web_fetch tools, allowing LLM applications to search the web via DuckDuckGo and fetch page content as cleaned markdown.-
- FlicenseNot gradedqualityDmaintenanceEnables tool-calling LLMs to search the internet, capture website images, extract webpage text, and more via a local MCP server.15-
- AlicenseAqualityBmaintenanceA minimal MCP server that exposes web search via Synthetic's API, providing a single search tool for local MCP clients.24 npmMIT