web-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BRAVE_API_KEY | No | API key for the Brave search provider. Optional: the server works with zero configuration using SearXNG or the DuckDuckGo fallback. Keys are never read from the config file — use this environment variable or the OS keychain (`web-mcp key set brave`). | |
| WEBMCP_CONFIG | No | Path to an explicit config file. Config lookup order (later wins): defaults → ~/.config/web-mcp/config.toml → ./.web-mcp.toml → $WEBMCP_CONFIG → env vars WEBMCP_<SECTION>__<KEY> (values are JSON or plain strings, e.g. WEBMCP_LIMITS__DAILY_SEARCHES=50, WEBMCP_DOMAINS__DENY='["x.com"]'). | |
| SERPER_API_KEY | No | API key for the Serper (Google results) search provider. Optional. Keys are never read from the config file — use this environment variable or the OS keychain (`web-mcp key set serper`). | |
| TAVILY_API_KEY | No | API key for the Tavily search provider. Optional. Keys are never read from the config file — use this environment variable or the OS keychain (`web-mcp key set tavily`). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| research_startA | Start a web research session (required before searching). Returns session_id, today's date, budget and rules. |
| web_searchA | Search the web within a research session. Returns ranked results with ids (S1..) and the remaining budget. |
| web_fetchA | Read one page (HTML/PDF/text), returning only passages relevant to |
| research_approveA | Record the USER's answer to an APPROVAL REQUIRED message (ask the user first; never answer for them). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool targets a distinct step: starting a session, searching, fetching a page, and recording an approval. The two research_-prefixed tools (start vs approve) are semantically different but share a prefix, which could cause minor momentary confusion.
All names use snake_case with a clear verb_noun pattern (research_approve, research_start, web_search, web_fetch). The only deviation is the mixed research_ vs web_ prefixes, which is cosmetic rather than confusing.
Four tools map cleanly onto the research workflow (start, search, fetch, approve) with no redundancy. Slightly lean but well-scoped; no obvious filler.
The core loop of session start, search, fetch, and approval is covered. Minor gaps like an explicit session-end or session-status operation exist but are not blocking for the described workflow.