--- type: concept title: Model Context Protocol (MCP) for Web Research description: The standard way to connect an agent to search, fetch, and tool servers, and how it fits a self-hosted web research stack. tags: - mcp - protocol - tools - agentic - unverified verified: 2026-08-28 timestamp: 2026-08-11 resource: https://modelcontextprotocol.io --- # Model Context Protocol (MCP) for Web Research Model Context Protocol (MCP) is the open standard for connecting an AI model to external tools and data. Use it to give your agent search, page fetching, and database access without wiring each provider by hand. MCP uses a client-server model. The agent is an MCP client. Each capability runs in an MCP server. The agent calls the tools that the server exposes. The Linux Foundation hosts the project. The spec lives at `modelcontextprotocol.io`. ## Transports MCP servers use one of two current transports: - `stdio` — the server runs as a child process. Good for local, single-client use. - `Streamable HTTP` — a single HTTP POST endpoint. Good for remote or multi-client use. The older `HTTP+SSE` transport still works for compatibility. Clients auto-detect it. ## The Model ```mermaid graph LR A[Agent / MCP client] --> B[Search server] A --> C[Fetch server] A --> D[Database server] A --> E[Filesystem server] ``` ## Official Reference Servers The `modelcontextprotocol/servers` repository ships seven reference servers: | Server | Purpose | |--------|---------| | Fetch | Fetch and convert a web page | | Filesystem | Read and write local files | | Git | Read and manipulate Git repositories | | Memory | Knowledge-graph persistent memory | | Sequential Thinking | Reflective problem solving | | Time | Answer time-related queries | | Everything | Test and demo server | ## Search Servers - The official **Brave Search MCP** server (`brave-search-mcp-server`) exposes `brave_web_search` and related tools. It needs a Brave API key. - Community **SearXNG MCP** servers connect any SearXNG instance to MCP. They work with your self-hosted instance and need no API key. - **Crawl4AI** ships a built-in MCP bridge in its Docker image that turns crawls into MCP tools. ## Why It Matters Here - SmolAgents loads MCP tools with `ToolCollection.from_mcp()`. - CrewAI integrates MCP through `MCPServerStdio`, `MCPServerHTTP`, and `MCPServerSSE`. - Browser Use exposes MCP via `com.browser-use`. - Qwen3 does agentic tool calling through the Qwen-Agent framework. With MCP, the search, fetch, and synthesis steps in this section share one connection standard. The agent does not depend on one vendor's format. ## Run It Securely Follow these rules for a self-hosted MCP server: - Bind to `127.0.0.1` for local use. - Prefer `stdio` transport for a local agent. - Use Streamable HTTP with auth only for remote use. - Validate the `Origin` header on HTTP servers. A mismatch must return HTTP 403. A bad check lets a remote site attack a local server. - Treat tool descriptions as untrusted. They can carry prompt injection. ## Citations - MCP specification: - Official MCP reference servers: - Brave Search MCP server: - SearXNG MCP server (community): - SmolAgents repository: - Crawl4AI repository: ## See Also - [Agentic Search Best Practices](agentic-search-best-practices.md) — The loop MCP connects. - [Self-Hosted Web Agents](self-hosted-web-agents.md) — Tools that expose MCP. - [Open Models for Web Use](open-models.md) — Models that drive these tools.