mcp-research
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OLLAMA_URL | No | Ollama endpoint for summarization/synthesis. Set empty to disable. | http://localhost:11434 |
| OLLAMA_MODEL | No | Model to use for summarization and synthesis. | qwen2.5:14b |
| BRAVE_API_KEY | No | Brave Search API key. Falls back to DuckDuckGo if unset. | |
| MCP_RESEARCH_LOG_DIR | No | Search log directory (NDJSON). | ~/.mcp-research/logs/ |
| MCP_RESEARCH_CACHE_DIR | No | URL fetch cache directory. | ~/.mcp-research/cache/ |
| MCP_RESEARCH_CACHE_TTL | No | Cache TTL in hours. | 24 |
| MCP_RESEARCH_MAX_RESULTS | No | Default max search results. | 10 |
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 |
|---|---|
| web_searchA | Search the web using a 3-tier cascade (Brave → DuckDuckGo → scraper). Args: query: Search query string. max_results: Maximum number of results to return (1-20). summarize: If true and Ollama is available, summarize the results. auto_fetch_top: If true, also fetch the full content of the top result. |
| fetch_urlA | Fetch a URL, convert to markdown. SSRF-protected and cached. Args: url: The URL to fetch. summarize: If true and Ollama is available, include a summary. max_chars: Maximum content chars (default ~15K/4K tokens). Set higher for full pages. |
| researchA | Compound research: search → fetch top pages → summarize → synthesize. Args: query: The research question. depth: Research depth — "quick" (2 pages), "standard" (5 pages), or "deep" (10 pages). context: Optional context from prior research to inform synthesis. |
| youtube_essenceA | Extract essence from a YouTube video: transcript, summary, key points, chapters, quotes. Args: url: YouTube URL (youtube.com/watch?v=, youtu.be/, youtube.com/shorts/). mode: Extraction depth — "quick" (TL;DR), "standard" (+ chapters), or "deep" (+ quotes). |
| deep_ingestA | Extract text from files in a directory or single file. Supports text, PDF, DOCX, XLSX, PPTX, audio, video, images. Args: path: Directory or file path to process. include_types: Comma-separated type filter (text,pdf,audio,video,image,office). Empty = all. max_files: Maximum files to process (1-5000). summarize: If true, generate an AI summary of the combined content. |
| academic_lookupA | Resolve a DOI, ArXiv ID, or PubMed ID. Fetch paper via institutional access if configured in vault. Args: identifier: DOI (10.xxxx/...), ArXiv ID (2301.12345), PubMed ID (12345678), or publisher URL. fetch_fulltext: Attempt to fetch the full paper text via vault credentials / EZproxy. |
| twitter_extractA | Extract tweet or thread from X.com/Twitter. Supports yt-dlp, API, and cookie-based access. Args: url: Tweet URL (x.com/user/status/id or twitter.com/user/status/id). include_thread: If true, fetch the full conversation thread. |
| vault_statusA | Show credential vault status, loaded profiles, and optional dependency availability. Never exposes secrets. |
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 8 tools
Each tool targets a distinct source or operation: academic references, local files, URLs, compound research, Twitter, vault status, web search, and YouTube. There is no ambiguity between tools.
Tool names use mixed conventions: verb_noun (fetch_url, web_search), noun_noun (vault_status, youtube_essence), platform_verb (twitter_extract), and single word (research). No consistent pattern.
8 tools is an appropriate scope for a research assistant, covering key sources (web, academic, social media, local files) without being overwhelming.
The toolset covers major research workflows: search, fetch, extract, and synthesize. Minor gaps like result organization or citation management are not critical for core functionality.