MCP Server
Introduction
The You.com MCP Server gives your LLMs and agents access to live web search, page extraction, citation-backed research, and finance research through the Model Context Protocol. The server is hosted at api.you.com, with additional paths for other tools.
Connect to that host over HTTP, or run npx @youdotcom-oss/mcp over STDIO. Tool selection rules are in Scope Tools.
A separate MCP server that allows agents to search over these docs is available: Docs MCP Server guide.
Getting Started
Choose your setup
You can discover this server in the Anthropic MCP Registry as io.github.youdotcom-oss/mcp, or configure it manually:
Configure your client
Choose from Windsurf, Claude Code, Cursor, VS Code, JetBrains, or other supported editors. See the Setup guides below for IDE-specific configuration.
Standard Configuration Templates
Remote server
Free profile
Local NPM package
Remote server requires an API key or OAuth 2.1. If the client supports OAuth 2.1, connect without credentials and the authorization flow starts. Otherwise, pass an API key. This URL is bare /mcp:
Get an API key at you.com/platform.
Test your setup
The base remote template exposes four capabilities: general web search, web page content extraction, account balance, and tool discovery. Try:
- “Search the web for this week’s grid-scale battery news, then extract and summarize the top three pages”
- “Extract the content from https://example.com”
- “Use you-discover to pick a You.com API for a TypeScript agent”
- “Find this week’s articles on AI regulation and summarize the filings they cite.”
The client may ask for permission the first time it calls a tool.
Authentication
- Free—Some tools are free to use, with rate limits. Read more: Scope Tools.
- Payment authorization—x402 headers (
PAYMENT-SIGNATUREorX-PAYMENT) and Machine Payments Protocol (Authorization: Payment) bypass local auth foryou-search,you-contents,you-research,you-finance, andyou-discover. The server forwards those headers to the upstream API.you-balancestill requires an API key. See Machine Payments. - Bearer token— Pass this header in your MCP client’s configuration file:
Authorization: Bearer <YDC_API_KEY>. Get a key at you.com/platform. - OAuth 2.1—an MCP client that implements MCP Authorization can connect without a pasted key.
Local NPM package (npx @youdotcom-oss/mcp) uses YDC_API_KEY or YDC_PROFILE.
OAuth is only available on the HTTP server. The local NPM package does not support OAuth.
Endpoints
The server exposes six tools: you-search, you-contents, you-research, you-finance, you-balance, and you-discover. There is no you-answer tool.
Create Multiple MCP Server Entries
In your MCP client’s configuration file, you can create several entries, each with their own authentication and tool scoping configuration.
This is useful when you want maximum control over the tools that are available to an agent, and how the agent uses them. For example, you may hook into an agent’s tool call event specifically for you-research, and then instruct it to double-check the research_effort it wants to use.
A simpler benefit is better cost management: dedicated API keys for high impact tools like you-research and you-finance.
Scope Tools
A tool is listed only when the profile ceiling and the allowlist both include it. The server computes that intersection on every request. For the allowlist, the first non-empty value wins: the X-Allowed-Tools header, then ?tools=, then the default.
HTTP query parameter ?profile=. free allows you-search and you-discover, with no API key and 100 queries per day. discover allows you-discover, with no API key. An omitted or unknown value allows all six tools. The local package reads YDC_PROFILE with the same values.
HTTP query parameter ?tools=, a comma-separated allowlist. The default omits you-research and you-finance. A non-empty X-Allowed-Tools header replaces this value.
HTTP header, comma-separated. A non-empty value replaces ?tools= and the default. An empty or omitted header leaves the query parameter or the default in place. The local package does not read this header.
Allowlist for npx @youdotcom-oss/mcp. Same role as X-Allowed-Tools on HTTP.
/mcp/finance and /mcp/research replace the allowlist with that one tool. ?tools= and X-Allowed-Tools on those paths are ignored. The profile ceiling still applies.
POST /mcp/finance?profile=free asks for you-finance under the free ceiling, which only includes you-search and you-discover. The client sees no tools, and the server returns no error. free or discover on /mcp/research does the same.
The same allowlist, you-search,you-finance, on each transport:
Query parameter
Header
Local package
you-search,you-contents leaves you-research off the list, so the agent runs its own search-read-synthesize loop. The you-research agent skill pins that allowlist.
Search Parameter Control
you-search accepts parameters at two levels: the common search parameters the model sets naturally, and a deeper integration lane that gives your host application full parameter control.
Model-facing parameters (common)
These are part of the tool’s input schema, so your agent sets them conversationally—no special handling needed:
query,count,freshness,offset—the core search shapeextraction,extraction_source,crawl_timeout—page-content retrieval tuningknowledge,safesearch—result enrichment and moderationexclude_domains—domain exclusion
Inline search operators in the query (site:, lang:, loc:, filetype:) map to the same underlying parameters automatically.
Host-supplied overrides (deep integration)
For full parameter control, your host application can supply overrides out-of-band on each tools/call under the reserved _meta key com.you.com/search (or equivalently as X-Search-* HTTP headers). These overrides don’t have to be model-generated, and they always win over model-supplied arguments:
Every override field is optional. The supported set:
- Hybrid—also settable by the model:
count,extraction,extraction_source,knowledge,exclude_domains,safesearch,crawl_timeout - Host-only—settable here only, never exposed to the model:
language,country,include_domains,boost_domains
Self-describing contract via tools/list
The override contract is broadcast on the tool entry itself. A tools/list response returns the accepted fields and their constraints in tool._meta["com.you.com/search"]:
Because tools/list results are cacheable, you can fetch the contract once and reuse it to validate overrides at runtime.
X-Search-* header equivalents
Every override field has an HTTP header equivalent, sent alongside your other request headers:
Merge and validation behavior
- Precedence—field-level merge:
X-Search-*headers beat_meta, which beats model-supplied arguments - Unknown keys and headers are ignored—an invalid value on a recognized field surfaces a named tool error rather than a silent fallback
- Domain guards—
include_domainscannot be combined withexclude_domainsorboost_domains. Domain lists are capped at 500 (error, not truncation) - Inline operators—
site:,lang:, andloc:operators stay raw in the query when the corresponding explicit override is present
Setup Guides
Windsurf
For setup, follow the MCP installation guide.
Claude Code
Quick setup (API key):
OAuth 2.1 (no API key): Connect without credentials and Claude Code will initiate the OAuth flow automatically:
For setup, follow the MCP installation guide.
Claude Desktop
Local config lives in claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Paste the local NPM package template from Getting Started, then restart Claude Desktop. For setup, follow the MCP installation guide.
Cursor IDE
Config file: ~/.cursor/mcp.json. For setup, follow the MCP installation guide. Omit the type field. To run free, discover, a mixed allowlist, research, and finance as separate entries, paste the multiple You.com entries block. Keyed entries need Authorization: Bearer <YDC_API_KEY> or OAuth. ?profile=free and ?profile=discover stay keyless.
To avoid conflicts, go to Settings → Agents tab and turn off Cursor’s built-in web search tool.
VS Code
Quick setup (command line):
For setup, follow the MCP installation guide. Use the configuration template above.
JetBrains IDEs
For setup, follow the MCP installation guide. Use the configuration template above.
Supported IDEs: IntelliJ IDEA, PyCharm, WebStorm, GoLand, RubyMine, PhpStorm, and more (requires AI Assistant enabled)
Zed Editor
For setup, follow the MCP installation guide. Use the configuration template above without the type field.
Factory Droid
Quick setup (OAuth, no API key):
Droid initiates the OAuth 2.1 flow automatically. Run /mcp inside a Droid session to complete the browser sign-in.
API key with env injection (recommended for secrets):
Droid expands ${YDC_API_KEY} at connection time, so the key stays out of the config file. Add --no-oauth to prevent Droid from attempting OAuth alongside the header.
Hardcoded API key:
Free profile (no account):
Verify: droid mcp list or /mcp inside a Droid session.
For setup, follow the Factory MCP guide.
Other editors
Codex:
For setup, follow the MCP installation guide.
opencode:
For setup, follow the MCP installation guide. Use the remote server template in Getting Started.
LM Studio:
For setup, follow the MCP installation guide. Use the remote server template in Getting Started, without the type field.
Gemini CLI:
Follow the MCP server setup guide using the standard configuration template.
Troubleshooting
API key issues
Symptoms: Authentication errors, “Invalid API key” messages
Solutions:
- Verify your API key is active at you.com/platform
- Check for extra spaces or quotes in your configuration
- Ensure the API key has the correct scopes enabled
- For the local NPM package, verify the
YDC_API_KEYenvironment variable is properly exported - On the remote server, try OAuth 2.1, described in Authentication
OAuth issues
Symptoms: Browser window doesn’t open, OAuth flow fails, “Invalid token” errors
Solutions:
- Confirm your MCP client supports OAuth 2.1—check your client’s documentation
- If the browser window opens but authorization fails, try signing in to you.com first in the same browser
- If the flow completes but the client still receives 401, restart the MCP client to clear cached token state
- As a fallback, use an API key from you.com/platform instead
Connection issues
Symptoms: “Connection refused”, timeout errors
Solutions:
- Remote server: Check your internet connection and firewall settings
- Local package: Ensure
npxand Node.js are installed and in your PATH - Confirm the URL is
https://api.you.com/mcp,/mcp/research, or/mcp/finance - Check your MCP client logs for detailed error messages
IDE integration issues
Symptoms: MCP server not appearing in IDE, tools not available
Solutions:
- Restart your IDE after configuration changes
- Check the IDE’s MCP logs for error messages (Claude Code: terminal output, Claude Desktop: application menu, Cursor: MCP server logs in settings, VS Code: output panel)
- Verify the configuration file is in the correct location
- For STDIO transport, ensure the command is executable
- Try the remote server option if local installation fails
Zero tools listed
Symptoms: The server connects but tools/list is empty
Cause: The profile ceiling ∩ allowed-tools intersection is empty. Common cases: POST /mcp/finance?profile=free, POST /mcp/research?profile=discover, or an allowlist that names only tools the profile forbids.
Solutions:
- Drop
?profile=(or use a profile whose ceiling includes the tool) - On
/mcp/financeand/mcp/research, the path already forces the allowlist. Afreeordiscoverprofile on that URL empties the list - Check
X-Allowed-Toolsand?tools=for a non-empty header that replaced the query string
Report an Issue
- Email: [email protected]
- Web: You.com Support
- GitHub: Report an issue
MCP client logs include a pre-filled mailto link with the error details.