Context7
Up-to-date docs for AI agents
作者による説明(英語の原文)
Secure MCP server for public web search and URL fetching.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。
ターミナルでこれを実行します
ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント AceAtDev で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.0)がレジストリに届いたのは2 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにMCPBも必要です。
同じカテゴリには:Context7, Codebase Memory, Exa
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Odysseus Web MCP is a standalone Model Context Protocol (MCP) server for safe public-web search and URL fetching. It runs locally over stdio and gives MCP-compatible AI assistants two retrieval tools: web_search to discover sources and web_fetch to retrieve and extract public URLs.
Built for clients such as Claude Code, Cursor, and Codex, it combines search-provider fallback, readable HTML/PDF/text extraction, optional JavaScript rendering, and SSRF protections including DNS validation and redirect rechecks.
Requirements: Python 3.11+ and uv.
# after downloading/extracting this folder (or cloning your copy)
cd odysseus-web-mcp uv venv .venv uv pip install -e '.[dev]' ./run-web-mcp.sh
The server communicates over stdio, so it does not open a web port and does not need to be installed into your host application's Python environment. Register the absolute launcher path in your MCP client:
{
"name": "odysseus-web-mcp", "command": "/absolute/path/to/odysseus-web-mcp/run-web-mcp.sh", "args": [], "cwd": "/absolute/path/to/odysseus-web-mcp" }
The launcher automatically uses the package's .venv. State defaults to ~/.local/share/odysseus-web-mcp; set WEB_MCP_DATA_DIR to place it elsewhere. No API key is required for the default fallback path, though Brave, Tavily, and Serper keys can be added when you want those providers.
web_searchUse it to discover sources for a focused question. It accepts one to three queries plus optional mode, vertical, and freshness controls.
{
"queries": "Model Context Protocol Python SDK", "mode": "discovery", "vertical": "general" }
The response contains ranked URLs, titles, snippets, provider attempts, cache state, a plain-text display projection, and an evidence_id. A host can take any returned URL directly into web_fetch.
web_fetchUse it to read a known public URL or a bounded batch of URLs.
{
"url": "https://example.com", "focus": "the page's purpose", "render": "auto" }
It returns extracted text, title and document kind, content quality, link discovery, redirect history, HTTP status, truncation/continuation metadata, and an evidence_id. Private and special-use destinations are rejected before transport by default.
An agent normally uses the tools as a two-step retrieval loop: search first, then fetch the source it wants to inspect. The payloads below show the shape of a real MCP interaction; IDs and result text are abbreviated for readability.
{
"name": "web_search", "arguments": { "queries": "official Model Context Protocol architecture", "mode": "grounding", "vertical": "general" } }
The MCP returns a text content block containing structured JSON:
{
"status": "ok", "query": "official Model Context Protocol architecture", "sources": [ { "title": "Architecture - Model Context Protocol", "url": "https://modelcontextprotocol.io/docs/concepts/architecture", "snippet": "Understand the architecture and communication model...", "provider": "duckduckgo", "relevance_score": 1.0 } ], "provider_attempts": { "searxng": "empty", "duckduckgo": "ok" }, "evidence_id": "a1b2c3d4...", "exit_code": 0 }
The agent takes the returned URL and calls the second tool:
{
"name": "web_fetch", "arguments": { "url": "https://modelcontextprotocol.io/docs/concepts/architecture", "focus": "How do clients and servers communicate?", "render": "auto" } }
The MCP returns bounded, extracted evidence:
{
"success": true, "url": "https://modelcontextprotocol.io/docs/concepts/architecture", "final_url": "https://modelcontextprotocol.io/docs/concepts/architecture", "http_status": 200, "document_kind": "html", "content_quality": "good", "content": "The Model Context Protocol defines how clients and servers...", "links": [ { "url": "https://modelcontextprotocol.io/docs/concepts/transports", "text": "Transports" } ], "evidence_id": "e5f6g7h8...", "exit_code": 0 }
The agent can now answer the user from the extracted content, preserve the evidence_id for traceability, and continue with another web_fetch using a returned cursor if the page was longer than the output budget.
MCP host ──stdio──▶ mcp_server.py
├─ web_search → provider chain → ranked evidence └─ web_fetch → security → HTTP/extract/render → evidence
All persistent state is rooted under WEB_MCP_DATA_DIR. The package has no runtime imports from Odysseus and no access to its credentials, database, memory, browser profiles, scheduler, or agent loop.
Read the full local system design in docs/TECHNICAL_DESIGN.md, and see how the GIFs were recorded in docs/INTERACTIVE_DEMO.md.
The default provider chain is:
SearXNG → Brave → Tavily → Serper → DuckDuckGo → Wikipedia → Bing
Configure it with WEB_MCP_SEARCH_PROVIDER_CHAIN. Optional credentials are DATA_BRAVE_API_KEY, TAVILY_API_KEY, and SERPER_API_KEY. Copy .env.example as a reference, but keep secrets in the host environment rather than committing them.
The optional browser path is disabled by default:
uv pip install -e '.[render]'
./.venv/bin/python -m playwright install chromium export WEB_MCP_RENDER_ENABLED=true
The server is published in the official MCP Registry under io.github.AceAtDev/odysseus-web-mcp.
For Claude Desktop and other MCPB-compatible clients, download the validated MCPB release bundle from the v0.1.0 GitHub Release. The bundle uses the uv runtime to resolve the declared Python dependencies without shipping a machine-specific virtual environment.
The project has a focused test suite and a live qualification runner:
./.venv/bin/python -m pytest -q
./.venv/bin/python tests/live_20_cases.py --output reports/live-20-cases.json
The live qualification runs 10 searches and 10 fetches through the real MCP launcher with disposable state. The latest verification record is in VERIFICATION.md.
To re-record the terminal previews from fresh live calls (requires ImageMagick's convert command):
./.venv/bin/python demos/record_terminal_demos.py
Each GIF is intentionally under ten seconds and shows a real MCP handshake and result shape, not a static product mockup.
This package is a retrieval primitive, not an agent loop, general-purpose crawler, scheduler, memory store, browser-profile manager, or credential vault. It is designed to be downloaded and connected as an independent MCP server.
This is the standalone extraction workspace for the Odysseus web search/fetch capability. See MIGRATION_MAP.md for the source-to-module mapping and VERIFICATION.md for the current evidence-based status.