web-server

An MCP server guide for searching and reading web pages, GitHub repositories, research papers, Stack Overflow answers, and Reddit posts.

In plain words
What is it for?
It is for technical and academic research, reading web pages, finding papers, and exploring linked sources.
Why use it?
It explains how to find relevant sources and then read the most useful results instead of relying on search titles alone.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/ppparticle/web-server/web-server
Any agent
npx skills add PPParticle/web-server --skill web-server
Clone the repo
git clone --depth 1 https://github.com/PPParticle/web-server

Made for: Claude Code, Codex.

Per session 49 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,182 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00049 $0.01182
Opus 5 $0.00024 $0.00591
Sonnet 5 $0.00010 $0.00236
Haiku 4.5 $0.00005 $0.00118

Measured yesterday against content hash 043f6e617eee, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

web-server scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- **PDF**:read_url 检测到 PDF 会返回交接信号(不解析)。如需 PDF 内容,自己 curl 下载 + Python 读取。
skills/web-server/SKILL.md · 81 lines

How it starts

The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Web Server MCP 使用指南

两个工具,组合使用:搜索 → 读取

web_search(query, topic?, domains?, num?)
  • topic="academic" → 搜 arxiv/dblp/semanticscholar/github(论文+代码)
  • topic="technical" → 搜 stackoverflow/github/dev.to/MDN(文档+问答)
  • topic="community" → 搜 reddit/HackerNews(讨论+评测)
  • domains=["site.com"] → 自定义站点限定(覆盖 topic)
  • 不设 topic/domains → 全网搜

read_url: 读网页内容

read_url(url, engine?, no_cache?, with_links?)
  • 默认 engine="auto":自动识别 GitHub/arXiv/SO/Reddit 走 API(结构化),其他走 Readability,SPA 降级 Playwright
  • engine="playwright":强制浏览器渲染(JS 页/反爬站)
  • no_cache=true:强制刷新
  • with_links=true:末尾附正文链接列表(供你决定是否递归探索)

典型工作流

研究一个技术话题

1. web_search("topic", topic="technical") → 拿到 SO/博客 URL 列表
2. read_url(url) → 读最有价值的 1-2 篇
3. with_links=true → 看正文里的链接,决定是否深入

读论文

1. web_search(..., topic="academic") → 论文 URL 列表(注意 fan-out,见下节)
2. read_url("https://arxiv.org/abs/xxxx") → 结构化 metadata(标题/作者/摘要)
3. 需要全文?read_url("https://arxiv.org/html/xxxx") 或手动下载 PDF

学术搜索:关键词 fan-out 策略(重要)

topic="academic" 走 DBLP / arXiv / Semantic Scholar。DBLP 是论文库,按标题精确匹配关键词(多词 query 是 AND 语义,标题里不全有就返回 0)。所以绝不能只发一个字面 query,要对同一研究主题并行发多个 query 变体,合并去重:

  • 同义词替换:offload / offloading / spill / swap / evict / displace
  • 存储/介质词:SSD / disk / NVMe / storage / tier / hierarchy
  • 缩写展开:KV cache / KV-cache / key-value cache
  • 子集拆分:多词 query 拆成 2-3 词子 query 再并行 —— kv cache offloading storagekv cache ssd + kv cache disk + kv offloading + kv cache storage(单发原词返回 0,拆开后能命中标题含 SSD/disk 的论文)
  • 已知系统名:研究某领域时直接搜代表性系统名(KV offload 领域:mooncakeflexgenvllmtuttiinfercept)
  • 目标 venue:按会议名搜(OSDI / SOSP / ASPLOS / FAST / SIGMOD / ICDE / VLDB / ISCA / MICRO)

流程:并行发 3-6 个 query 变体 → 合并所有结果去重(按 URL)→ 按相关度/年份筛 → read_url 读 1-3 篇高价值论文。

残留缺口:若领域全新且你不知道任何系统名,纯标题搜仍可能漏(标题词汇与你 query 完全正交时)。此时考虑改 domains 或全网 topic 搜补充。

读 GitHub 项目

read_url("https://github.com/owner/repo") → 原始 README(1:1 markdown)
read_url("https://github.com/owner/repo/issues/123") → issue + 评论(API 结构化)

Read the full file on GitHub · 81 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 81 lines · 49 tokens per session scan A 043f6e617eee

Subscribe to this mod's changes

web-server is a skill published in the GitHub repository PPParticle/web-server (1 stars, last pushed 1mo ago), licensed MIT. It adds 49 tokens to every session and 1,182 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

babysit-pr

Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…

openai/codex · 114 tokens

imagegen

Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…

openai/codex · 113 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens