KW

kunal12203/webify-mcp

Developer tools
83 stars 0 forks 品質 55 トレンド 55

91% of Deep Research quality · 5% of the cost · Works in every MCP client

概要

91% of Deep Research quality · 5% of the cost · Works in every MCP client

README


Install in 2 commands

pip install webify-mcp
claude mcp add webify -- webify-mcp

That’s it. Works in Claude Code, Cursor, VS Code, Windsurf, and Zed.


What it does

flowchart TB
    Agent[AI Agent] -->|"web_find('query')"| Webify
    Agent -->|"web_lookup(url, 'query')"| Webify
    Webify -->|"80–300 tokens"| Agent
    
    subgraph Webify[Webify MCP Server]
        Search[Search\nBrave / DDG] --> Graph[DOM Structural\nGraph Builder]
        Graph --> Retrieve[BM25 + BFS\nRetrieval]
        Retrieve --> Synthesize[Haiku\nSynthesis]
    end

    style Webify fill:#1a1a2e,stroke:#16213e,color:#fff
    style Agent fill:#0f3460,stroke:#16213e,color:#fff

Two tools for web research — both dramatically cheaper than reading full pages:

Tool When to use Cost
web_find(query) Research questions, anything needing search ~$0.003/query
web_lookup(url, query) You know the exact URL ~$0.0005/query

web_find — multi-source research

flowchart LR
    A[Query] --> B[Search\nBrave / DDG]
    B --> C1[Page 1]
    B --> C2[Page 2]
    B --> C3[Page 3–6]
    C1 --> D[DOM Graph\n+ BM25]
    C2 --> D
    C3 --> D
    D --> E[Multi-aspect\nextraction]
    E --> F[Haiku\nsynthesis]
    F --> G["Answer\n(~800 tokens)"]

Adapts depth to query complexity. Simple questions hit 3 sources. Multi-dimensional research scales to 6+ with independent sub-aspect retrieval. Call it multiple times with focused sub-queries for deep-research-level coverage.

web_lookup — single-page retrieval

flowchart LR
    A[URL + Query] --> B[Fetch page]
    B --> C[DOM structural\ngraph]
    C --> D[BM25 scoring]
    D --> E[BFS traversal]
    E --> F["Relevant subtree\n(80–300 tokens)"]

Scores nodes against your query, returns only the relevant subtree — 80–300 tokens instead of the 3,000–15,000 tokens of full page text WebFetch puts in context.


Benchmarks

Blind A/B test against Claude’s Deep Research — 15 unseen queries, randomized order, Sonnet judge scoring accuracy + completeness + specificity (1–5 each).

Webify Deep Research
Quality 68/75 · 91% 73/75 · 97%
Cost/query ~$0.003 ~$0.05+
Latency 30–90s 80–280s
Cost efficiency 18× better baseline

Webify finds correct information every time. The gap is always completeness — Deep Research reads more. For most queries that difference doesn’t matter; for exhaustive research, call web_find multiple times.


How the AI uses it

Once installed, the AI automatically uses Webify for web research instead of expensive built-in tools — no configuration needed. The preference policy is embedded in the package itself.

> What are the tradeoffs between Raft and Paxos consensus?
→ Claude calls web_find() — searches, builds graphs, synthesizes answer

> Look up rate limits in the GitHub API docs
→ Claude calls web_lookup() — fetches that page, returns relevant sections only

Tool-specific setup

Claude Code

pip install webify-mcp
claude mcp add webify -- webify-mcp

Cursor · Windsurf · VS Code (Continue/Cline) · Zed

Add to your MCP config:

{
  "mcpServers": {
    "webify": {
      "command": "webify-mcp"
    }
  }
}

Config file locations:

  • Cursor → ~/.cursor/mcp.json
  • Windsurf → ~/.windsurf/settings.json
  • VS Code / Continue → ~/.continue/config.json
  • Zed → ~/.config/zed/settings.json

Any other MCP client

  • Command: webify-mcp
  • Transport: stdio

Updating

pip install --upgrade webify-mcp

Configuration

Env var Required Description
ANTHROPIC_API_KEY For web_find Haiku synthesis
BRAVE_SEARCH_API_KEY Recommended Reliable search · free 2k/mo
WEBIFY_CACHE_DIR No Cache dir · default ~/.cache/webify

Search: Brave API (if key set) → DuckDuckGo Lite (free fallback, no key needed)

Setting keys

macOS / Linux — add to ~/.zshrc or ~/.bashrc:

export ANTHROPIC_API_KEY="sk-ant-..."
export BRAVE_SEARCH_API_KEY="BSA..."

Windows (PowerShell):

[Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "sk-ant-...", "User")
[Environment]::SetEnvironmentVariable("BRAVE_SEARCH_API_KEY", "BSA...", "User")

In your MCP config (applies only to Webify):

{
  "mcpServers": {
    "webify": {
      "command": "webify-mcp",
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-...",
        "BRAVE_SEARCH_API_KEY": "BSA..."
      }
    }
  }
}

Get your keys:


CLI usage

# Build a graph for a URL
python -m webify build https://docs.python.org/3/library/json.html

# Look up specific info
python -m webify lookup https://docs.python.org/3/library/json.html "parse JSON string"

Python library

import webify

# Multi-source search
result = webify.web_find("how does mTLS work in service meshes")
print(result["content"])   # synthesized answer
print(result["sources"])   # [{url, title, confidence, tokens}]

# Single-page lookup
result = webify.smart_lookup("https://docs.python.org/3/library/json.html", "parse JSON")
print(result["content"])   # relevant sections only (~376 tokens)

Troubleshooting

webify-mcp                  # test server (Ctrl+C to exit)
ls ~/.cache/webify/         # check cache
  • webify-mcp: command not found → Run pip install webify-mcp
  • Tool not showing up → Restart your editor after adding to config
  • web_find errors → Set ANTHROPIC_API_KEY
  • web_find returns no results → DDG rate-limited; set BRAVE_SEARCH_API_KEY

License

MIT · Copyright © 2026 GrapeRoot

View this README on GitHub

インストール

This server does not publish a one-line install command.

Open the repository installation guide

設定

{ "mcpServers": { "webify": { "command": "webify-mcp" } } }