Allows AI assistants to query web search API benchmarks and perform live search spot checks across providers like You.com, Tavily, Exa, and Parallel.
Also known as psinglap/websearch-api-eval, websearch-api-eval, websearch-api-eval-mcp
- Stars
- 4
- Tools
- 9
- Downloads, 30 days
- —
- Latest version
- 1.1.0
- Last commit
- Oct 27, 2026
- License
- MIT
What is Web Search API Eval MCP?
Web Search API Eval allows AI assistants to query web search API benchmarks and perform live search spot checks across providers like You.com, Tavily, Exa, and Parallel. It exposes 9 tools, such as get_overall_results, get_scorecard, compare_providers.
Summary generated from the project's README
About Web Search API Eval MCP server
Comparing web search API performance and conducting live spot checks is what this server enables for developers using AI assistants. It provides access to a specific benchmark evaluating You.com, Tavily, Exa, and Parallel across thirty agent queries. Users can query published data to find which provider best suits specific use cases like finance or insurance.
This server can be used as a hosted service via a URL for remote clients like ChatGPT and Claude, or installed locally using npm for desktop environments like Cursor, VS Code, and Claude Desktop. While the benchmark tools are read-only, the local installation allows for live testing through the run_live_search tool. This specific feature requires you to provide your own API keys for YDC, Tavily, Exa, or Parallel in your configuration to compare real-time latency and results.
Written from the project's README. Every use case is checked against a quote from it.
How to install Web Search API Eval MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Web Search API Eval MCP in Claude Code
$ claude mcp add --env 'EXA_API_KEY=<YOUR_EXA_API_KEY>' --env 'PARALLEL_API_KEY=<YOUR_PARALLEL_API_KEY>' --env 'TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>' --env 'YDC_API_KEY=<YOUR_YDC_API_KEY>' websearch-api-eval -- npx -y websearch-api-eval-mcpInstall Web Search API Eval MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"websearch-api-eval": {
"command": "npx",
"args": [
"-y",
"websearch-api-eval-mcp"
],
"env": {
"EXA_API_KEY": "<YOUR_EXA_API_KEY>",
"PARALLEL_API_KEY": "<YOUR_PARALLEL_API_KEY>",
"TAVILY_API_KEY": "<YOUR_TAVILY_API_KEY>",
"YDC_API_KEY": "<YOUR_YDC_API_KEY>"
}
}
}
}Install Web Search API Eval MCP in VS Code
.vscode/mcp.json
{
"servers": {
"websearch-api-eval": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"websearch-api-eval-mcp"
],
"env": {
"EXA_API_KEY": "<YOUR_EXA_API_KEY>",
"PARALLEL_API_KEY": "<YOUR_PARALLEL_API_KEY>",
"TAVILY_API_KEY": "<YOUR_TAVILY_API_KEY>",
"YDC_API_KEY": "<YOUR_YDC_API_KEY>"
}
}
}
}Install Web Search API Eval MCP in VS Code CLI
$ code --add-mcp '{"name":"websearch-api-eval","type":"stdio","command":"npx","args":["-y","websearch-api-eval-mcp"],"env":{"EXA_API_KEY":"<YOUR_EXA_API_KEY>","PARALLEL_API_KEY":"<YOUR_PARALLEL_API_KEY>","TAVILY_API_KEY":"<YOUR_TAVILY_API_KEY>","YDC_API_KEY":"<YOUR_YDC_API_KEY>"}}'Install Web Search API Eval MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"websearch-api-eval": {
"command": "npx",
"args": [
"-y",
"websearch-api-eval-mcp"
],
"env": {
"EXA_API_KEY": "<YOUR_EXA_API_KEY>",
"PARALLEL_API_KEY": "<YOUR_PARALLEL_API_KEY>",
"TAVILY_API_KEY": "<YOUR_TAVILY_API_KEY>",
"YDC_API_KEY": "<YOUR_YDC_API_KEY>"
}
}
}
}Install Web Search API Eval MCP in Codex
$ codex mcp add websearch-api-eval --env 'EXA_API_KEY=<YOUR_EXA_API_KEY>' --env 'PARALLEL_API_KEY=<YOUR_PARALLEL_API_KEY>' --env 'TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>' --env 'YDC_API_KEY=<YOUR_YDC_API_KEY>' -- npx -y websearch-api-eval-mcpInstall Web Search API Eval MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.websearch-api-eval] command = "npx" args = ["-y", "websearch-api-eval-mcp"] [mcp_servers.websearch-api-eval.env] EXA_API_KEY = "<YOUR_EXA_API_KEY>" PARALLEL_API_KEY = "<YOUR_PARALLEL_API_KEY>" TAVILY_API_KEY = "<YOUR_TAVILY_API_KEY>" YDC_API_KEY = "<YOUR_YDC_API_KEY>"
Install Web Search API Eval MCP in Gemini CLI
$ gemini mcp add -s user -e 'EXA_API_KEY=<YOUR_EXA_API_KEY>' -e 'PARALLEL_API_KEY=<YOUR_PARALLEL_API_KEY>' -e 'TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>' -e 'YDC_API_KEY=<YOUR_YDC_API_KEY>' websearch-api-eval npx -- -y websearch-api-eval-mcpInstall Web Search API Eval MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"websearch-api-eval": {
"command": "npx",
"args": [
"-y",
"websearch-api-eval-mcp"
],
"env": {
"EXA_API_KEY": "<YOUR_EXA_API_KEY>",
"PARALLEL_API_KEY": "<YOUR_PARALLEL_API_KEY>",
"TAVILY_API_KEY": "<YOUR_TAVILY_API_KEY>",
"YDC_API_KEY": "<YOUR_YDC_API_KEY>"
}
}
}
}Web Search API Eval MCP tools 9
Detected from the READMEget_overall_resultsget_scorecardcompare_providersrecommend_providerlist_questionsget_questionget_chartsget_methodologyhow_to_run_locally
| get_overall_results | — | |
| get_scorecard | — | |
| compare_providers | — | |
| recommend_provider | — | |
| list_questions | — | |
| get_question | — | |
| get_charts | — | |
| get_methodology | — | |
| how_to_run_locally | — |
Configuration
EXA_API_KEYSecretOptional. Exa API key, used only by run_live_search
PARALLEL_API_KEYSecretOptional. Parallel API key, used only by run_live_search
TAVILY_API_KEYSecretOptional. Tavily API key, used only by run_live_search
YDC_API_KEYSecretOptional. You.com API key, used only by run_live_search
| Name | Description | |
|---|---|---|
| EXA_API_KEY | Optional. Exa API key, used only by run_live_search | Secret |
| PARALLEL_API_KEY | Optional. Parallel API key, used only by run_live_search | Secret |
| TAVILY_API_KEY | Optional. Tavily API key, used only by run_live_search | Secret |
| YDC_API_KEY | Optional. You.com API key, used only by run_live_search | Secret |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSPass
- Destructive tools are labelledPass
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubWeb Search API Eval: MCP server
An MCP server that lets Claude, ChatGPT, Cursor and other AI assistants answer questions about the Web Search API Eval benchmark (You.com, Tavily, Exa and Parallel on 30 agent queries), and run your own live search spot checks.
Use it two ways:
| Hosted (no install) | Local (npm) | |
|---|---|---|
| Connect | https://websearch-api-eval.psberkeleymba.workers.dev/mcp |
npx -y websearch-api-eval-mcp |
| Works in | Claude, ChatGPT, any remote MCP client | Claude Desktop, Claude Code, Cursor, VS Code, any stdio MCP client |
| Benchmark tools | ✅ | ✅ |
run_live_search with your own keys |
— | ✅ |
Install
Claude Code
claude mcp add websearch-api-eval -- npx -y websearch-api-eval-mcp
Claude Desktop, Cursor, VS Code (add to the client's MCP config):
{
"mcpServers": {
"websearch-api-eval": {
"command": "npx",
"args": ["-y", "websearch-api-eval-mcp"],
"env": {
"YDC_API_KEY": "optional",
"TAVILY_API_KEY": "optional",
"EXA_API_KEY": "optional",
"PARALLEL_API_KEY": "optional"
}
}
}
}
The keys are optional and only used by run_live_search. Leave out any provider you don't have a key for. Requires Node.js 18 or later.
Hosted, no install: in Claude, Settings → Connectors → Add custom connector → paste the hosted URL. In ChatGPT, create an app in Developer mode with the same URL and no authentication.
Tools
| Tool | Returns |
|---|---|
get_overall_results |
Headline, overall scorecard, per-use-case summary, which API fits which agent, developer activation |
get_scorecard |
Full scorecard for overall, gtm, insurance or finance |
compare_providers |
Two or more providers side by side, optionally filtered by metric keyword |
recommend_provider |
Which API fits an agent's need, with supporting numbers |
list_questions |
The 30 questions, filterable by use case |
get_question |
One question: task, search call, answer key, sources, what each API returned and its score |
get_charts |
The published graphs; with chart_id, also the image |
get_methodology |
How tests ran and were graded, the 10 metrics and their standards, limits |
how_to_run_locally |
Steps and keys to rerun the full benchmark on your own machine |
search, fetch |
Generic search and document fetch (used by ChatGPT research features) |
run_live_search (local only) |
Sends one query to each provider using your own API keys and returns latency, result count and top results |
The benchmark tools are read-only and read the published results (run Oct 8, 2026). run_live_search calls the providers directly from your machine with your keys and uses your own credits; a single call is a spot check, not a graded benchmark. For the full graded run, use the harness.
Example questions
- "Which web search API is fastest for a voice agent?"
- "Compare Exa and Parallel on finance."
- "What was question F5 and who got it right?"
- "Show me the overall scorecard chart."
- "Run a live search for 'FOMC minutes' and compare the providers."
Data and updates
Results come from data/*.json on the published site, built from the Evaluation page by data/build_data.py. After a new benchmark run, rebuild the data and push; both the hosted and npm servers pick it up with no redeploy or new release.
Develop
cd mcp
npm install
npx wrangler dev # hosted server locally at http://localhost:8787/mcp
npm run build # npm package entry at dist/cli.js
npx @modelcontextprotocol/inspector@0.17.2 node dist/cli.js # call tools by hand
npx wrangler deploy # deploy the hosted server
npm publish # publish the npm package
Built with the official MCP TypeScript SDK. Registry entry: io.github.psinglap/websearch-api-eval (server.json).
Privacy and support
No sign-in, no cookies, no storage, no request logging. Privacy Policy · Terms · Support · MIT License
Web Search API Eval MCP questions
How do I add Web Search API Eval MCP to Claude Code?
Run claude mcp add --env 'EXA_API_KEY=<YOUR_EXA_API_KEY>' --env 'PARALLEL_API_KEY=<YOUR_PARALLEL_API_KEY>' --env 'TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>' --env 'YDC_API_KEY=<YOUR_YDC_API_KEY>' websearch-api-eval -- npx -y websearch-api-eval-mcp in your terminal. Add --scope user to make it available in every project.
How do I add Web Search API Eval MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does Web Search API Eval MCP provide?
It exposes 9 tools, including get_overall_results, get_scorecard, compare_providers, recommend_provider, list_questions.
Can I run live searches with my own API keys?
Yes, if you use the local npm installation, you can use the run_live_search tool with your own provider keys.
What is the difference between a live search and the benchmark?
The benchmark tools are read-only and access published results, while run_live_search is a spot check that uses your own credits and keys.