Cursor Has No Web Search — Add It in 3 Steps (2026)

Give Cursor live web search in 3 steps — AnyCap MCP server or CLI. Real-time docs, dependency version checks, competitor research, and full-page crawling from inside your agent.

by AnyCap

Internet data streams flowing into Cursor IDE — live web search visualization

Yes — Cursor can search the web. By default, Cursor's agent works from its training data and your local codebase. It has no live internet access. Add the AnyCap MCP server (or CLI) and Cursor gains real-time web search, full-page crawling, and structured data extraction — all callable from natural language inside Composer.


Cursor's underlying LLMs are statically trained. They know a lot about the web up to their knowledge cutoff, but they cannot fetch live URLs, check documentation that changed last week, or verify a package version that shipped yesterday.

This is a design choice, not a bug. The upside is deterministic, private behavior. The downside is a "hallucination gap" when your agent tries to reference current docs, API specs, or pricing pages that have changed since training.

AnyCap bridges this gap with two tools: search (returns top web results + snippets) and crawl (returns full Markdown content of any URL). Both are available as MCP tools or CLI commands.


What Web Search Unlocks for Cursor Agents

  • Live documentation lookup — check the actual current API spec, not the training-data version
  • Dependency resolution — verify the latest package version before generating a package.json
  • Competitive research — scrape competitor pricing pages as part of a market analysis workflow
  • News and announcements — detect breaking changes in libraries your project depends on
  • Data gathering — pull structured data from public sources for analysis or seeding databases

The MCP approach is the cleanest — Cursor's agent calls web_search and web_crawl as native tools without any shell commands.

Setup

Step 1: Install AnyCap

curl -fsSL https://anycap.ai/install.sh | sh
anycap login   # paste your API key once

Step 2: Add to .cursor/mcp.json

{
  "mcpServers": {
    "anycap": {
      "command": "anycap",
      "args": ["mcp", "serve"],
      "env": {
        "ANYCAP_API_KEY": "your_api_key_here"
      }
    }
  }
}

Step 3: Restart Cursor and open a new Composer (Agent) session.

Step 4: Test it:

What is the current version of Next.js and what changed in the latest release?

Cursor's agent runs web_search → reads the results → synthesizes the answer from live data. You see the sources cited inline.


Method 2: AnyCap CLI in the Cursor Terminal

Use the CLI when you want explicit, scriptable control over search and crawl calls.

# Returns top 10 results with titles, URLs, and snippets
anycap search "nextjs 15 breaking changes" --format json

Output:

[
  {
    "title": "Next.js 15 Release Notes — Vercel",
    "url": "https://nextjs.org/blog/next-15",
    "snippet": "Next.js 15 introduces the new async request APIs, breaking changes to caching behavior..."
  },
  ...
]

Full-page crawl

# Returns full Markdown content of the page
anycap crawl https://nextjs.org/blog/next-15 --output /workspace/next15-notes.md

Now your agent can cat /workspace/next15-notes.md and have the complete documentation available as context.

Search + crawl pipeline

# Find the best result, then get full content
anycap search "stripe api webhooks 2026" --top 1 --format json | \
  jq -r '.[0].url' | \
  xargs -I {} anycap crawl {} --output /workspace/stripe-webhooks.md

Method 3: Direct HTTP (REST API)

For programmatic use inside code your agent writes:

import requests, os

headers = {"Authorization": f"Bearer {os.environ['ANYCAP_API_KEY']}"}

# Search
r = requests.post("https://api.anycap.ai/v1/search",
    headers=headers,
    json={"query": "anthropic claude 4 api changes", "num_results": 5})
results = r.json()["results"]

# Crawl
r = requests.post("https://api.anycap.ai/v1/crawl",
    headers=headers,
    json={"url": results[0]["url"]})
content = r.json()["markdown"]   # full page as Markdown

Real Workflow: Keeping Dependencies Up to Date

Here is a complete Cursor agent session that uses web search to modernize a package.json:

User: Check the current latest versions of react, next, and tailwindcss,
      then update our package.json to match.

Agent workflow:
  1. web_search("react latest version npm") → 19.1.0
  2. web_search("nextjs latest version") → 15.3.2
  3. web_search("tailwindcss latest stable version") → 4.1.0
  4. Read current package.json
  5. Write updated package.json with new versions
  6. Run npm install --dry-run to validate

No hallucinated version numbers. No outdated dependencies. The agent knows what's actually current.


Real Workflow: Competitive Intelligence

User: Crawl the pricing pages of Linear, Jira, and Asana.
      Build a feature/pricing comparison table in Markdown.

Agent workflow:
  1. crawl https://linear.app/pricing → saves to /workspace/linear-pricing.md
  2. crawl https://www.atlassian.com/software/jira/pricing → saves to jira.md
  3. crawl https://asana.com/pricing → saves to asana.md
  4. Synthesizes a comparison table from the three files
  5. Saves to /workspace/competitor-pricing.md

Search vs. Crawl — When to Use Each

Use Case Tool Why
"What's the latest X?" search Faster, surfaces multiple sources
"What does this docs page say?" crawl Gets full content, not just snippet
"Find the official docs URL" search then crawl Search to locate, crawl to read
"Scrape a table from a webpage" crawl Returns structured Markdown
"Monitor a changelog" crawl (scheduled) Same URL, compare over time

FAQ

Q: Does Cursor's built-in @web feature do the same thing?
A: Cursor's @web tag gives the LLM limited web context for a single query. AnyCap MCP gives the agent programmatic tool calls it can chain — search → crawl → extract → use in code — without user intervention. They are complementary, not duplicates.

Q: Is the crawl full JavaScript-rendered content?
A: Yes. AnyCap crawls using a headless browser, so JavaScript-rendered SPAs (React, Next.js, Vue) return complete content, not just the static HTML shell.

Q: How many searches can I run per day?
A: Each search costs 1 AnyCap credit (results vary by plan). Crawls cost 2 credits. There is no daily cap — you are limited by your credit balance.

Q: Can I search within a specific site?
A: Yes. Use standard Google search operators: anycap search "site:docs.stripe.com webhook events".

Q: Can the agent crawl pages that require login?
A: No. AnyCap crawls public pages only. For login-gated content, download the page manually and pass it to the agent as a file.

Q: Does this work in Claude Code and Codex too?
A: Yes. The same CLI and MCP server work across all agent runtimes. See the Claude Code and Codex guides for runtime-specific setup.