An MCP server that performs deep research by conducting web searches and analyzing documents using AI agents
This server implements 10 tools with STDIO transport only. While tool names follow verb_noun convention and descriptions exist, there are critical gaps: (1) Most parameter descriptions lack actionable constraint details (format, valid ranges, dependencies). (2) Output schemas are not documented, LLMs cannot predict return structure for composition. (3) Error handling provides no recovery guidance. (4) The 'deep_research' tool is a high-level wrapper that hides implementation details from the MCP layer, reducing transparency. (5) Several tools (page_up, page_down, find_next) have empty input schemas but lack comprehensive context about stateful browser behavior. (6) No tool annotations (readOnlyHint, idempotentHint, destructiveHint) despite clear intent (all marked READ_ONLY in metadata). This is a functional research tool, not a production-grade MCP server.
Search the Internet Archive for a webpage
web検索を含む深い調査をAgentに依頼する。調査は専用のエージェントが実行するため、必要なコンテキストを全て含めたquestionを渡す。 複雑な質問にも対応できるため基本的に疑問はそのまま質問し、回答の質が悪い場合にのみ複数ステップに分けた調査を依頼する。
Find text on the current page
Find the next occurrence of the search query on the page
You cannot load files yourself: instead call this tool to read a file as markdown text and ask questions about it. This tool handles the following file extensions: [".html", ".htm", ".xlsx", ".pptx", ".wav", ".mp3", ".m4a", ".flac", ".pdf", ".docx"], and all other types of text files. IT DOES NOT HANDLE IMAGES.
Scroll down on the current page
Scroll up on the current page
Output schemas not documented for any tool. LLMs cannot predict return type/structure for composition or multi-step planning. Breaks tool chaining pattern.
Browser navigation tools (page_up, page_down, find_next) have empty input schemas and minimal descriptions. Stateful context (current page, scroll position) is implicit and undocumented. LLMs cannot reason about state transitions.
Parameter descriptions lack constraint details. 'query' in search/find tools has no guidance on length, format, or special character handling. 'question' in deep_research has no guidance on complexity bounds. Invites hallucinated invalid inputs.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 45 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 37 | - | v1 |
Search the web using Google Search API
Visit a web page and return its content
A tool that can answer questions about attached images.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being READ_ONLY. Agents cannot automatically classify tools as safe for parallel execution or retry.
No error handling guidance. Tools return unstructured responses (e.g., raw file content or HTML) without indicating success/failure, incomplete data, or recovery steps. Raw stack traces likely on exceptions.
'visualizer' description is generic ('A tool that can answer questions about attached images'). Does not explain when to use it vs inspect_file_as_text, what image formats are supported, or size limits. Lacks actionable context.
deep_research tool wraps a sub-agent (smolagents CodeAgent). Opaque to the MCP layer. If internal tool fails, LLM receives only high-level error, cannot retry specific steps, and loses composability with other MCP tools.
inspect_file_as_text accepts optional 'question' parameter but description conflates two behaviors: return full content vs. return AI-summarized answer. LLMs may misunderstand when the tool returns structured vs. unstructured data.
No pagination parameters on search or archive_search tools. If results exceed LLM context window, agent has no way to fetch next page. Pattern pattern:paginated-result not implemented.
visit tool returns raw HTML/text. No indication of charset, content length, or truncation. If page is >100KB, LLM context explodes. No result limiting documented.