Skip to main content
Glama

wellread - Another dev already searched that.

npm version License: AGPL-3.0 wellread MCP server

Your agent's next research task was probably already solved. Wellread finds it before your agent burns tokens rediscovering it - and when it can't, it makes sure the next dev doesn't pay that cost either.

Semantic caching studies show 60–68% of agent research queries overlap with prior ones (source). And AI-driven live web searches grew 15x in 2025 (Cloudflare). Wellread is the cache that layer has been missing.

The compounding effect

Without wellread

With wellread

Turn 1 (fresh session)

200K tokens · 10 turns · 67s

647 tokens · 1 turn · 28s

Turn 30 (~40K context)

1.2M tokens

647 tokens

Turn 100 (~150K context)

3.5M tokens

647 tokens

Turn 250 (~480K context)

11M tokens

647 tokens

The deeper your session, the more expensive research gets - and the more wellread saves.

Related MCP server: Slipstream

The problem

  • Your agent researches every technical question from scratch. When it doesn't, it hallucinates - outdated APIs, wrong examples, broken code.

  • Every turn re-sends the whole conversation. By turn 100, you've paid for the same context a hundred times.

The fix

Before your agent hits the web, wellread checks what other devs already found.

  • Hit → instant answer from verified sources. Zero web searches. One turn.

  • Partial → starts from what exists, only researches the gaps.

  • Miss → normal research, then saves the summary for whoever comes next.

Your agent doesn't just spend fewer tokens. It's more accurate - every answer is a real source, verified, not a guess from stale training data.

Install

npx wellread

Restart your editor. That's it.

Update: npx wellread@latest - Uninstall: npx wellread uninstall

Singleplayer from day one

You don't need a crowd for wellread to pay off.

Singleplayer - your own research comes back to you. No repeat searches across sessions, no hallucinations from stale training data.

Multiplayer - when another dev has already cracked that Auth.js migration, or that weird Bun + Drizzle interaction, you skip straight to the answer. One person researches, everyone benefits.

Early users build the network. Their contributions get credited - and permanent.

Freshness

Each entry knows how fast its topic changes:

Type

Fresh

Re-check

Re-research

Timeless (TCP, SQL basics)

1 year

-

after

Stable (React, PostgreSQL)

6 months

1 year

after

Evolving (Next.js, Bun)

30 days

90 days

after

Volatile (betas, pre-release)

7 days

30 days

after

When an agent re-verifies, the clock resets for everyone.

Privacy

Six layers between your private context and the shared network:

  1. Hook instruction - before anything leaves your machine, the hook tells your agent to sanitize the query: strip project names, API keys, file paths, credentials. Only the generic technical concept is sent.

  2. Search schema - the search tool's parameter description reinforces: "Remove project names, API keys, file paths, credentials."

  3. Save schema - the save tool explicitly says: "NEVER include project/repo/company names, internal URLs, file paths, credentials, business logic. Content is PUBLIC."

  4. URL gate (server, hard reject) - every source must start with https:// or http://. File paths, library identifiers, internal URLs → rejected. The contribution is not saved.

  5. Path detection (server, hard reject) - the server scans content and search surface for local paths (/Users/..., /home/..., file://, C:\...). If found → rejected.

  6. By design - your agent doesn't forward your input. It synthesizes from public sources. What gets saved is a distilled summary of public docs, not your code or conversation.

For something private to actually reach another user, the agent would have to sneak it past its own instructions, past the URL gate, past the path regex, into a generic summary - and then someone would need to search something similar enough to surface it.

Stats

Ask your agent:

"show me my wellread stats"

See your token savings, your top contributions, and how many devs used research you saved.

Supported tools

Works with any MCP client. Best experience with Claude Code. Also supports Cursor, Windsurf, Gemini CLI, VS Code, OpenCode.

License

AGPL-3.0

Available Tools

3 tools
saveA

Save research to collective memory. Call directly BEFORE responding to the user, after any live research (web search, URL fetch, context7).

Content is PUBLIC, consumed by LLMs worldwide. ALWAYS English. Dense structured notes — no tutorials. NEVER include: project/repo/company names, internal URLs, file paths, credentials, business logic. Set volatility: timeless (established facts), stable (mature frameworks), evolving (active libraries), volatile (betas/pre-releases).

search_surface MUST use this format: [TOPIC]: Semantic caching for LLM API calls [COVERS]: hit rates, cost reduction, cache invalidation [TECHNOLOGIES]: Next.js 15, React 19, Auth.js v5 [RELATED]: authentication, server components, middleware [SOLVES]: Setting up authentication in Next.js App Router

ParametersJSON Schema
NameRequiredDescriptionDefault
search_surfaceNoStructured retrieval block for future search matching. Required for new contributions. Example: [TOPIC]: Authentication in Next.js App Router [COVERS]: Auth.js setup, middleware protection, session management [TECHNOLOGIES]: Next.js 15, React 19, Auth.js v5 [RELATED]: authentication, server components, middleware [SOLVES]: Setting up authentication in Next.js App Router
contentNoDense notes for LLM consumption: API signatures, gotchas, version-specific changes, decision rationale, pitfalls. No prose, no tutorials. Required for new contributions.
sourcesNoALL public URLs fetched during research — do not omit any. MUST start with https:// or http://. Include every web page, doc fetch, and context7 result URL. Required for new contributions.
tagsNoLowercase tags: technologies, concepts. Required for new contributions.
gapsNoUnexplored angles for future investigators. Required for new contributions.
tool_callsNoList every tool call you made to gather this research, in order. Format: 'ToolName: query or URL'. Example: ['WebSearch: Next.js auth setup', 'WebFetch: https://nextjs.org/docs/auth', 'context7: /vercel/next.js how to set up auth']. Include ALL calls, even failed ones.
replaces_idNoID of entry this updates/replaces. Only if same topic with newer info.
volatilityNoHow quickly this knowledge changes. timeless=established facts, stable=mature frameworks, evolving=active libraries, volatile=betas/pre-releases. Default: stable
verify_idNoID of an existing research entry to mark as still accurate. Updates its freshness clock instead of creating a new entry. Use after a 'check' freshness result when you confirmed the info is still valid.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: content is PUBLIC and consumed worldwide, specific format requirements, exclusions, volatility settings, and timing constraints. It doesn't mention rate limits or authentication needs, but covers most critical behavioral aspects for this type of tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with clear sections: purpose, timing, content rules, exclusions, volatility, and format example. Every sentence serves a purpose, though it could be slightly more front-loaded by stating the core purpose more prominently before the detailed rules.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 9-parameter tool with no annotations and no output schema, the description provides substantial context about behavioral expectations, content rules, and usage timing. It covers the tool's role in a research workflow well, though doesn't explain what happens after saving (how the 'collective memory' is accessed or used).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 9 parameters thoroughly. The description adds some context about the search_surface format with an example, but doesn't provide additional parameter semantics beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Save research to collective memory' with specific guidance on content format ('Dense structured notes — no tutorials') and language requirements ('ALWAYS English'). It distinguishes from sibling tools (search, stats) by focusing on saving/contributing rather than retrieving or analyzing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage timing ('Call directly BEFORE responding to the user, after any live research') and context ('web search, URL fetch, context7'). It also specifies exclusions ('NEVER include: project/repo/company names, internal URLs...') and volatility guidelines, giving comprehensive when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

statsB

View your personal wellread stats: karma, savings, contributions, and network impact.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates a read-only operation ('View') and specifies the type of data returned, but doesn't mention potential limitations like authentication needs, rate limits, or data freshness. This is adequate for a simple stats tool but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the purpose and lists key metrics without any wasted words. Every element earns its place by clarifying what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is complete enough for basic understanding. However, without an output schema, it doesn't detail the return format or structure, which could be helpful for an agent interpreting results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for 0 parameters is 4, as the description appropriately doesn't waste space on nonexistent parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('View') and resource ('personal wellread stats'), listing specific metrics like karma, savings, contributions, and network impact. However, it doesn't explicitly differentiate from sibling tools like 'save' or 'search', which likely have different functions, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'save' or 'search'. It implies usage for viewing personal stats but doesn't specify contexts, exclusions, or prerequisites, leaving the agent to infer based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4/5.0
Disambiguation5/5

The three tools have clearly distinct purposes: 'save' is for storing research, 'search' is for retrieving research, and 'stats' is for viewing personal metrics. There is no overlap in functionality, making it easy for an agent to select the correct tool for each task.

Naming Consistency4/5

The tool names are all lowercase and follow a simple verb-based pattern ('save', 'search', 'stats'), which is consistent and readable. However, 'stats' is a noun rather than a verb like the others, causing a minor deviation from a pure verb_noun convention.

Tool Count5/5

With only three tools, this server is well-scoped for its purpose of managing a collective research memory. Each tool serves a distinct and essential function (save, search, view stats), and there are no extraneous tools, making the count appropriate and efficient.

Completeness4/5

The tool surface covers the core operations for a research memory system: saving, searching, and viewing personal stats. However, there are minor gaps, such as the lack of tools for updating or deleting saved research, which could limit agent workflows in managing stored content over time.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Hosted shared knowledge base for AI agents. Store, search, and retrieve structured knowledge using semantic search. Agents contribute to a growing collective intelligence that compounds over time. No install — just a URL.
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A shared distillation cache for AI agents — clean-crawl a URL once, distill it to token-optimal markdown, and serve it content-addressed across every agent (~73–89% fewer tokens). Includes a collective-notes layer and cutoff-aware change detection.
  • A
    license
    Not graded
    quality
    B
    maintenance
    DescriptiShared knowledge cache for AI agents — cache-first search saves tokens and avoids redundant web searches. Cross-agent deduplication with trust scoring. Human Bridge for blocked/paywalled content. MCP-native (FastMCP), ChromaDB-backed. 3 tools: agenthive_search, agenthive_contribute, agenthive_stats.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Local-first, multi-user shared memory for AI agents with semantic search, offline support, and team synchronization.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mnlt/wellread'

If you have feedback or need assistance with the MCP directory API, please join our Discord server