windsurf-search-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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: Local-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
Scrape, 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.
MCP server for Google search results via SERP API
Related MCP Servers
- 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.16-
- AlicenseAqualityBmaintenanceA minimal MCP server that exposes web search via Synthetic's API, providing a single search tool for local MCP clients.211 npmMIT
- AlicenseNot gradedqualityCmaintenanceA self-contained web-research MCP server that lets local LLM agents search, fetch, and synthesize web content using tools like web_search, web_fetch, and web_research.2MIT