Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Give your AI the ability to read the web. Fetches URLs as clean markdown with multi-tier fallback.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
BRAVE_API_KEY「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"intercept": {
"command": "npx",
"args": [
"-y",
"intercept-mcp"
],
"env": {
"BRAVE_API_KEY": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add intercept --env BRAVE_API_KEY=your-value -- npx -y intercept-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"intercept": {
"command": "npx",
"args": [
"-y",
"intercept-mcp"
],
"env": {
"BRAVE_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"intercept": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"intercept-mcp"
],
"env": {
"BRAVE_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント bighippoman で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:BRAVE_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(3.0.8)がレジストリに届いたのは8 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, LexPact UK Contracts
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Generate UK-law contracts: NDA, service, freelance, recruiter terms of business, IR35.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Give your AI the ability to read the web. One command, no API keys required.
Without it, your AI hits a URL and gets a 403, a wall, or a wall of raw HTML. With intercept, it almost always gets the content — clean markdown, ready to use.
Handles tweets, YouTube videos (with transcripts when available), arXiv papers, PDFs, Wikipedia articles, and GitHub repos. If the first strategy fails, it tries up to 14 more before giving up.
Works with any MCP client: Claude Code, Claude Desktop, Codex, Cursor, Windsurf, Cline, and more.
claude mcp add intercept -s user -- npx -y intercept-mcp
codex mcp add intercept -- npx -y intercept-mcp
Settings → MCP → Add Server:
{
"mcpServers": { "intercept": { "command": "npx", "args": ["-y", "intercept-mcp"] } } }
Settings → MCP → Add Server → same JSON config as above.
Add to your claude_desktop_config.json:
{
"mcpServers": { "intercept": { "command": "npx", "args": ["-y", "intercept-mcp"] } } }
Any client that supports stdio MCP servers can run npx -y intercept-mcp.
No API keys needed for the fetch tool.
URLs are processed in four stages:
Known URL patterns are routed to dedicated handlers before the fallback pipeline:
| Pattern | Handler | What you get |
|---|---|---|
twitter.com/*/status/*, x.com/*/status/* | Twitter/X | Tweet text, author, media, engagement stats (via third-party APIs) |
youtube.com/watch?v=*, youtu.be/* | YouTube | Title, channel, duration, views, description, transcript (when captions available) |
arxiv.org/abs/*, arxiv.org/pdf/* | arXiv | Paper metadata, authors, abstract, categories |
*.pdf | Extracted text (text-layer PDFs only) | |
*.wikipedia.org/wiki/* | Wikipedia | Clean article content via Wikimedia REST API |
github.com/{owner}/{repo} | GitHub | Raw README.md content |
github.com/{o}/{r}/blob/{ref}/{path} | GitHub | Raw file content, code-fenced by language |
github.com/{o}/{r}/issues/{n}, /pull/{n} | GitHub | Issue/PR title, state, body, diff stats, comments (via GitHub API) |
github.com/{o}/{r}/releases/tag/{t}, /releases/latest | GitHub | Release notes (via GitHub API) |
The GitHub API endpoints work unauthenticated (60 requests/hour). Set GITHUB_TOKEN to raise the limit.
After specialized handlers, public requests check agentsweb.org for a complete result within the requested freshness window. Partial, stale, mismatched, and blocked responses are rejected. Cache latency depends on the network and storage location.
Complete public live retrievals can contribute refresh hints. agentsweb verifies a page through its own retrieval pipeline before publishing it. Confirmations do not reset retrieval time. Authenticated, signed, and GitHub-token requests never use the public cache.
Opt out entirely with INTERCEPT_SHARED_CACHE=false, or use read-only mode (consume but never contribute) with INTERCEPT_CACHE_READ_ONLY=true.
agentsweb.org also exposes standalone endpoints for direct use:
See agentsweb.org/docs for full API documentation.
If no handler matches (or the handler returns nothing), the URL enters the multi-tier pipeline:
| Tier | Fetchers | Behavior |
|---|---|---|
| 0 | agentsweb | Fresh, complete shared content |
| 1 | Native Markdown, direct HTML | Contact the origin first |
| 2 | Cloudflare Browser Run, Jina | Hosted extraction; parallel with a short quality comparison window |
| 3 | Stealth, Codetabs, FlareSolverr, configured unlocker | Additional live retrieval paths |
| 4 | Wayback, Arquivo, Common Crawl, archive.ph; RSS and scholarly/discussion sources | Labeled historical or partial fallbacks |
| 5 | Open Graph metadata | Metadata only; insufficient stubs are failures |
A successful hosted result stops a slower provider after a 200 ms comparison window. Repeated provider failures trigger a short cooldown. Direct-host health is tracked per host. Historical snapshots never outrun live sources; noCache disables archives unless allowArchive is explicitly true.
Results are cached in-memory with TTL (60 min for successes, 5 min for failures). Max 250 entries with LRU eviction. Failures are cached by retrieval policy, so a shallow failed attempt does not prevent a later broader retry. Duplicate in-flight requests share work while retaining independent cancellation. All three knobs are configurable via INTERCEPT_CACHE_TTL_MS, INTERCEPT_CACHE_FAILURE_TTL_MS, and INTERCEPT_CACHE_SIZE.
fetchFetch a URL and return its content as clean markdown.
url (string, required) — URL to fetchmaxTier (number, optional, 1-5) — Stop at this tier for speed-sensitive casesmaxLength (number, optional, default 50000) — Maximum characters to returnstartIndex (number, optional, default 0) — Character offset for paginating long contentnoCache (boolean, optional) — Skip session and shared caches and fetch livetimeoutMs — Overall deadline, including downloads (default 25000; research 35000)maxAgeSeconds — Maximum cache age (default 3600; 0 forces retrieval)allowArchive — Permit labeled historical fallbacks (disabled by noCache unless explicitly enabled)Long pages are truncated at maxLength with a notice telling the agent which startIndex continues the content. Structured output reports source, quality, contentLength, truncated, nextStartIndex, and cacheAgeSeconds so agents can branch on them programmatically. It also reports completeness, sourceKind, retrievedAt, verifiedAt when available, canonicalUrl, contentHash, and title. Research includes verbatim relevant passages with offsets and citation URLs; set passagesOnly to return those excerpts instead of full documents.
Direct image URLs (.png, .jpg, .gif, .webp, up to 5 MB) are returned as an MCP image block instead of text, so the agent's own vision model can read charts, diagrams, screenshots, and scanned documents. The structured output reports source: "image", mimeType, and bytes.
fetch_batchFetch up to 10 URLs in parallel, each through the same handler/fallback chain.
urls (string[], required, 1-10) — URLs to fetchmaxTier, noCache — as in fetchmaxLength (number, optional, default 20000) — Per-URL character budgetresearchSearch the web and fetch the top results in one call — replaces a search followed by several fetches.
query (string, required) — Search querycount (number, optional, 1-5, default 3) — Results to fetchmaxLength (number, optional, default 20000) — Per-result character budgetsite (string, optional) — Restrict to a domainfreshness (string, optional) — day, week, month, or yearsearchSearch the web and return results.
query (string, required) — Search querycount (number, optional, 1-20, default 5) — Number of resultssite (string, optional) — Restrict results to a domainfreshness (string, optional) — day, week, month, or yearpage (number, optional, 1-10) — Results page for paginationUses Brave Search API if BRAVE_API_KEY is set, then SearXNG if SEARXNG_URL is set, then DuckDuckGo as an unreliable last resort. freshness and page are ignored by the DuckDuckGo fallback.
extractExtract specific values from a page as JSON instead of markdown prose — for when you need particular data, not the whole page. Honors per-domain auth and proxies.
url (string, required) — The URL to extract fromselectors (object, optional) — Map of field name → CSS selector. Each value is either a selector string (returns the first match's text) or { selector, attr?, all? } — attr extracts an attribute (e.g. href), all: true returns every match as an array.tables (boolean, optional) — Convert every HTML table to an array of row objects (defaults to true when no selectors are given).{
"url": "https://shop.example.com/item", "selectors": { "title": "h1", "price": ".price", "images": { "selector": "img.gallery", "attr": "src", "all": true } } }
Returns the extracted fields and/or tables as structured output.
intercept://session/recentMarkdown list of URLs fetched and cached in this session, most recent first. Re-fetching any of them is instant.
research-topicSearch for a topic and fetch the top results for a multi-source summary.
topic (string) — The topic to researchdepth (string, default "3") — Number of top results to fetchextract-articleFetch a URL and extract the key points from the content.
url (string) — The URL to fetch and summarize| Variable | Required | Description |
|---|---|---|
BRAVE_API_KEY | No | Brave Search API key for search |
SEARXNG_URL | No | Self-hosted SearXNG instance URL (recommended) |
GITHUB_TOKEN | No | GitHub token raising API rate limits for the issue/PR/release handler |
INTERCEPT_AUTH | No | JSON map of domain → headers/cookies, to fetch content you're logged in to (see Per-domain authentication) |
CF_API_TOKEN | No | Cloudflare API token with "Browser Rendering - Edit" permission |
CF_ACCOUNT_ID | No | Cloudflare account ID (required if CF_API_TOKEN is set) |
USE_STEALTH_FETCH | No | Set to true to enable stealth fetcher (see warning below) |
FLARESOLVERR_URL | No | URL of a FlareSolverr instance (e.g. http://localhost:8191) to solve Cloudflare/DDoS-Guard challenges |
WEB_UNLOCKER_URL | No | GET template (with a {url} placeholder and your API key) for a commercial web-unlocker like ScrapingBee/ScraperAPI/ZenRows — the paid last resort for the hardest sites |
INTERCEPT_SHARED_CACHE | No | Set to false to disable the agentsweb.org shared cache |
INTERCEPT_CACHE_READ_ONLY | No | Set to true to consume but never contribute to the shared cache |
INTERCEPT_CACHE_TTL_MS | No | In-memory cache TTL for successful fetches in ms (default 3600000 = 60 min) |
INTERCEPT_CACHE_FAILURE_TTL_MS | No | In-memory cache TTL for failed fetches in ms (default 300000 = 5 min) |
INTERCEPT_CACHE_SIZE | No | Max in-memory cache entries (default 250) |
HTTPS_PROXY / HTTP_PROXY | No | Standard proxy passthrough — routes all outbound fetches (including stealth) through the proxy. Honors NO_PROXY. |
INTERCEPT_PROXIES | No | Comma/space-separated list of HTTP(S) proxies to rotate across, with automatic retry through the next proxy on a blocked response. Takes precedence over HTTPS_PROXY. |
Search: Has a DuckDuckGo fallback but it's rate-limited and unreliable. For production use, self-host SearXNG and set SEARXNG_URL (see below), or get a Brave Search API key.
Fetch: Works without any keys. Set CF_API_TOKEN + CF_ACCOUNT_ID to enable Cloudflare Browser Run (formerly Browser Rendering) for JavaScript-heavy pages (SPAs, React sites).
Use at your own risk. When enabled, t
冒頭だけを表示しています。続きはリポジトリで読めます