Provider-neutral web search that combines model grounding (Gemini, Grok, DeepSeek and others) with search APIs such as Exa, Brave and Tavily.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add agent-web-search --env ARK_API_KEY='<ARK_API_KEY>' --env GEMINI_API_KEY='<GEMINI_API_KEY>' --env XAI_API_KEY='<XAI_API_KEY>' --env DEEPSEEK_API_KEY='<DEEPSEEK_API_KEY>' --env AGENT_WEB_SEARCH_RESPONSES_API_KEY='<AGENT_WEB_SEARCH_RESPONSES_API_KEY>' --env AGENT_WEB_SEARCH_MESSAGES_API_KEY='<AGENT_WEB_SEARCH_MESSAGES_API_KEY>' --env TAVILY_API_KEY='<TAVILY_API_KEY>' --env BRAVE_SEARCH_API_KEY='<BRAVE_SEARCH_API_KEY>' -- uvx agent-web-search-mcp~/.codex/config.toml
[mcp_servers.agent-web-search]
command = "uvx"
args = ["agent-web-search-mcp"]
env = { ARK_API_KEY = "<ARK_API_KEY>", GEMINI_API_KEY = "<GEMINI_API_KEY>", XAI_API_KEY = "<XAI_API_KEY>", DEEPSEEK_API_KEY = "<DEEPSEEK_API_KEY>", AGENT_WEB_SEARCH_RESPONSES_API_KEY = "<AGENT_WEB_SEARCH_RESPONSES_API_KEY>", AGENT_WEB_SEARCH_MESSAGES_API_KEY = "<AGENT_WEB_SEARCH_MESSAGES_API_KEY>", TAVILY_API_KEY = "<TAVILY_API_KEY>", BRAVE_SEARCH_API_KEY = "<BRAVE_SEARCH_API_KEY>" }
# codex mcp add agent-web-search --env ARK_API_KEY='<ARK_API_KEY>' --env GEMINI_API_KEY='<GEMINI_API_KEY>' --env XAI_API_KEY='<XAI_API_KEY>' --env DEEPSEEK_API_KEY='<DEEPSEEK_API_KEY>' --env AGENT_WEB_SEARCH_RESPONSES_API_KEY='<AGENT_WEB_SEARCH_RESPONSES_API_KEY>' --env AGENT_WEB_SEARCH_MESSAGES_API_KEY='<AGENT_WEB_SEARCH_MESSAGES_API_KEY>' --env TAVILY_API_KEY='<TAVILY_API_KEY>' --env BRAVE_SEARCH_API_KEY='<BRAVE_SEARCH_API_KEY>' -- uvx agent-web-search-mcp~/.cursor/mcp.json
{
"mcpServers": {
"agent-web-search": {
"command": "uvx",
"args": [
"agent-web-search-mcp"
],
"env": {
"ARK_API_KEY": "<ARK_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"XAI_API_KEY": "<XAI_API_KEY>",
"DEEPSEEK_API_KEY": "<DEEPSEEK_API_KEY>",
"AGENT_WEB_SEARCH_RESPONSES_API_KEY": "<AGENT_WEB_SEARCH_RESPONSES_API_KEY>",
"AGENT_WEB_SEARCH_MESSAGES_API_KEY": "<AGENT_WEB_SEARCH_MESSAGES_API_KEY>",
"TAVILY_API_KEY": "<TAVILY_API_KEY>",
"BRAVE_SEARCH_API_KEY": "<BRAVE_SEARCH_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"agent-web-search": {
"type": "stdio",
"command": "uvx",
"args": [
"agent-web-search-mcp"
],
"env": {
"ARK_API_KEY": "<ARK_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"XAI_API_KEY": "<XAI_API_KEY>",
"DEEPSEEK_API_KEY": "<DEEPSEEK_API_KEY>",
"AGENT_WEB_SEARCH_RESPONSES_API_KEY": "<AGENT_WEB_SEARCH_RESPONSES_API_KEY>",
"AGENT_WEB_SEARCH_MESSAGES_API_KEY": "<AGENT_WEB_SEARCH_MESSAGES_API_KEY>",
"TAVILY_API_KEY": "<TAVILY_API_KEY>",
"BRAVE_SEARCH_API_KEY": "<BRAVE_SEARCH_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"agent-web-search": {
"command": "uvx",
"args": [
"agent-web-search-mcp"
],
"env": {
"ARK_API_KEY": "<ARK_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"XAI_API_KEY": "<XAI_API_KEY>",
"DEEPSEEK_API_KEY": "<DEEPSEEK_API_KEY>",
"AGENT_WEB_SEARCH_RESPONSES_API_KEY": "<AGENT_WEB_SEARCH_RESPONSES_API_KEY>",
"AGENT_WEB_SEARCH_MESSAGES_API_KEY": "<AGENT_WEB_SEARCH_MESSAGES_API_KEY>",
"TAVILY_API_KEY": "<TAVILY_API_KEY>",
"BRAVE_SEARCH_API_KEY": "<BRAVE_SEARCH_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"agent-web-search": {
"command": "uvx",
"args": [
"agent-web-search-mcp"
],
"env": {
"ARK_API_KEY": "<ARK_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"XAI_API_KEY": "<XAI_API_KEY>",
"DEEPSEEK_API_KEY": "<DEEPSEEK_API_KEY>",
"AGENT_WEB_SEARCH_RESPONSES_API_KEY": "<AGENT_WEB_SEARCH_RESPONSES_API_KEY>",
"AGENT_WEB_SEARCH_MESSAGES_API_KEY": "<AGENT_WEB_SEARCH_MESSAGES_API_KEY>",
"TAVILY_API_KEY": "<TAVILY_API_KEY>",
"BRAVE_SEARCH_API_KEY": "<BRAVE_SEARCH_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"agent-web-search": {
"command": "uvx",
"args": [
"agent-web-search-mcp"
],
"env": {
"ARK_API_KEY": "<ARK_API_KEY>",
"GEMINI_API_KEY": "<GEMINI_API_KEY>",
"XAI_API_KEY": "<XAI_API_KEY>",
"DEEPSEEK_API_KEY": "<DEEPSEEK_API_KEY>",
"AGENT_WEB_SEARCH_RESPONSES_API_KEY": "<AGENT_WEB_SEARCH_RESPONSES_API_KEY>",
"AGENT_WEB_SEARCH_MESSAGES_API_KEY": "<AGENT_WEB_SEARCH_MESSAGES_API_KEY>",
"TAVILY_API_KEY": "<TAVILY_API_KEY>",
"BRAVE_SEARCH_API_KEY": "<BRAVE_SEARCH_API_KEY>"
}
}
}
}Environment variables
ARK_API_KEYGEMINI_API_KEYXAI_API_KEYDEEPSEEK_API_KEYAGENT_WEB_SEARCH_RESPONSES_API_KEYAGENT_WEB_SEARCH_MESSAGES_API_KEYTAVILY_API_KEYBRAVE_SEARCH_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.