wellread
wellread - 다른 개발자가 이미 검색한 내용입니다.
에이전트의 다음 연구 작업은 아마 이미 해결되었을 것입니다. Wellread는 에이전트가 토큰을 낭비하며 재발견하기 전에 이를 찾아내며, 찾지 못할 경우 다음 개발자가 동일한 비용을 지불하지 않도록 합니다.
의미론적 캐싱 연구에 따르면 에이전트 연구 쿼리의 60~68%가 이전 쿼리와 중복됩니다 (출처). 또한 AI 기반 실시간 웹 검색은 2025년에 15배 증가했습니다 (Cloudflare). Wellread는 해당 계층에 꼭 필요한 캐시입니다.
복합 효과
wellread 미사용 시 | wellread 사용 시 | |
1회차 (새 세션) | 200K 토큰 · 10회차 · 67초 | 647 토큰 · 1회차 · 28초 |
30회차 (~40K 컨텍스트) | 1.2M 토큰 | 647 토큰 |
100회차 (~150K 컨텍스트) | 3.5M 토큰 | 647 토큰 |
250회차 (~480K 컨텍스트) | 11M 토큰 | 647 토큰 |
세션이 깊어질수록 연구 비용은 비싸지며, wellread의 절약 효과는 더욱 커집니다.
Related MCP server: Slipstream
문제점
에이전트는 모든 기술적 질문을 처음부터 다시 연구합니다. 그렇지 않으면 환각(hallucination) 현상이 발생하여 오래된 API, 잘못된 예제, 깨진 코드를 제시합니다.
모든 회차마다 전체 대화 내용을 다시 전송합니다. 100회차에 도달하면 동일한 컨텍스트에 대해 100번의 비용을 지불하게 됩니다.
해결책
에이전트가 웹을 검색하기 전에 wellread가 다른 개발자들이 이미 찾아낸 내용을 확인합니다.
히트(Hit) → 검증된 소스에서 즉시 답변을 제공합니다. 웹 검색은 0회입니다. 1회차로 끝납니다.
부분 히트(Partial) → 기존 내용을 바탕으로 시작하며, 부족한 부분만 연구합니다.
미스(Miss) → 일반적인 연구를 수행한 후, 다음 사람을 위해 요약본을 저장합니다.
에이전트는 토큰을 적게 소비할 뿐만 아니라 더 정확해집니다. 모든 답변은 오래된 학습 데이터의 추측이 아닌, 검증된 실제 소스입니다.
설치
npx wellread에디터를 재시작하세요. 그것으로 끝입니다.
업데이트: npx wellread@latest - 삭제: npx wellread uninstall
첫날부터 싱글플레이어
wellread의 혜택을 누리기 위해 많은 사람이 필요하지 않습니다.
싱글플레이어 - 자신의 연구 결과가 다시 돌아옵니다. 세션 간 반복 검색이 없고, 오래된 학습 데이터로 인한 환각도 없습니다.
멀티플레이어 - 다른 개발자가 이미 Auth.js 마이그레이션이나 Bun + Drizzle의 복잡한 상호작용을 해결했다면, 바로 정답으로 건너뛸 수 있습니다. 한 명이 연구하면 모두가 혜택을 받습니다.
초기 사용자들이 네트워크를 구축합니다. 그들의 기여는 기록되며 영구적으로 남습니다.
신선도
각 항목은 주제가 얼마나 빨리 변하는지 알고 있습니다:
유형 | 신선함 | 재확인 | 재연구 |
불변 (TCP, SQL 기초) | 1년 | - | 이후 |
안정적 (React, PostgreSQL) | 6개월 | 1년 | 이후 |
진화형 (Next.js, Bun) | 30일 | 90일 | 이후 |
변동성 (베타, 프리릴리즈) | 7일 | 30일 | 이후 |
에이전트가 재검증하면 모두를 위해 타이머가 초기화됩니다.
개인정보 보호
개인 컨텍스트와 공유 네트워크 사이에는 6단계의 보호 장치가 있습니다:
훅 지침(Hook instruction) - 데이터가 기기를 떠나기 전에 훅이 에이전트에게 쿼리를 정제하도록 지시합니다: 프로젝트 이름, API 키, 파일 경로, 자격 증명을 제거합니다. 일반적인 기술 개념만 전송됩니다.
검색 스키마(Search schema) - 검색 도구의 매개변수 설명에 "프로젝트 이름, API 키, 파일 경로, 자격 증명을 제거하십시오"라는 지침이 강화되어 있습니다.
저장 스키마(Save schema) - 저장 도구는 명시적으로 "프로젝트/저장소/회사 이름, 내부 URL, 파일 경로, 자격 증명, 비즈니스 로직을 절대 포함하지 마십시오. 콘텐츠는 공개됩니다"라고 명시합니다.
URL 게이트(서버, 강제 거부) - 모든 소스는
https://또는http://로 시작해야 합니다. 파일 경로, 라이브러리 식별자, 내부 URL은 거부됩니다. 기여 내용은 저장되지 않습니다.경로 감지(서버, 강제 거부) - 서버는 콘텐츠와 검색 표면에서 로컬 경로(
/Users/...,/home/...,file://,C:\...)를 스캔합니다. 발견 시 거부됩니다.설계상 특징 - 에이전트는 귀하의 입력을 그대로 전달하지 않습니다. 공개 소스에서 내용을 합성합니다. 저장되는 것은 귀하의 코드나 대화가 아니라 공개 문서의 요약본입니다.
개인적인 내용이 다른 사용자에게 도달하려면, 에이전트가 자체 지침, URL 게이트, 경로 정규식(regex)을 모두 우회하여 일반적인 요약본에 포함시켜야 하며, 누군가가 그것을 노출시킬 만큼 유사한 내용을 검색해야 합니다.
통계
에이전트에게 물어보세요:
"내 wellread 통계 보여줘"
토큰 절약량, 주요 기여 내용, 그리고 귀하가 저장한 연구를 사용한 개발자 수를 확인할 수 있습니다.
지원 도구
모든 MCP 클라이언트와 작동합니다. Claude Code에서 가장 잘 작동합니다. Cursor, Windsurf, Gemini CLI, VS Code, OpenCode도 지원합니다.
링크
라이선스
Available Tools
3 toolssaveA
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
| Name | Required | Description | Default |
|---|---|---|---|
| search_surface | No | Structured 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 | |
| content | No | Dense notes for LLM consumption: API signatures, gotchas, version-specific changes, decision rationale, pitfalls. No prose, no tutorials. Required for new contributions. | |
| sources | No | ALL 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. | |
| tags | No | Lowercase tags: technologies, concepts. Required for new contributions. | |
| gaps | No | Unexplored angles for future investigators. Required for new contributions. | |
| tool_calls | No | List 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_id | No | ID of entry this updates/replaces. Only if same topic with newer info. | |
| volatility | No | How quickly this knowledge changes. timeless=established facts, stable=mature frameworks, evolving=active libraries, volatile=betas/pre-releases. Default: stable | |
| verify_id | No | ID 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
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.
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.
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.
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.
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.
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.
searchA
Search collective research memory. Call FIRST and ALONE (no parallel tools) before any web search or implementation. Skip for chitchat. Follow the instructions inside the results exactly.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Sanitized version of the user's question. Remove project names, API keys, file paths, credentials. Keep ALL technical terms (library names, APIs, frameworks). Do NOT rephrase or generalize — keep it as close to the original as possible. | |
| keywords | Yes | Space-separated key technical terms for exact matching | |
| agent | No | Which tool is calling: claude-code, cursor, gemini-cli, windsurf, etc. | |
| hook_version | No | Your WELLREAD_HOOK_VERSION number. Pass it exactly as shown in your instructions. | |
| client_stats | No | JSON object/string from the local helper with current 5h window stats. Pass exactly as shown in your hook instructions. |
TDQS
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 effectively describes critical behavioral traits: the tool must be called first and alone (sequential execution constraint), results contain instructions that must be followed exactly, and it should be skipped for chitchat. This provides substantial operational context beyond basic functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise and well-structured. Every sentence earns its place: the first states the purpose, the second provides critical usage guidelines, and the third specifies how to handle results. There's zero waste or redundancy, making it highly efficient for an AI agent to parse and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema, no annotations), the description provides strong contextual completeness. It covers purpose, usage constraints, and behavioral expectations. The main gap is lack of information about return values or result structure, but the instruction to 'Follow the instructions inside the results exactly' provides some operational guidance for handling outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing complete parameter documentation. The description adds no specific parameter semantics beyond what's in the schema. However, it implies that parameters should be constructed according to specific rules (sanitization for query, exact technical terms for keywords) through the instruction to 'Follow the instructions inside the results exactly,' though this is indirect guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search collective research memory.' This is a specific verb+resource combination that distinguishes it from sibling tools like 'save' and 'stats.' However, it doesn't explicitly differentiate from potential external alternatives like web searches, though it implies this through usage guidelines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit, detailed usage guidelines: 'Call FIRST and ALONE (no parallel tools) before any web search or implementation. Skip for chitchat.' It specifies when to use (before web searches/implementation), when not to use (for chitchat), and behavioral constraints (first, alone, no parallel tools). This is comprehensive guidance for an AI agent.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.0- First observed
save - First observed
search - First observed
stats
TDQS
Scored across 3 tools
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.
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.
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.
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
Related MCP Connectors
Shared knowledge base for AI agents. Semantic search across agents, no setup required — just a URL.
Shared knowledge cache for AI coding agents — reuse an answer once it exists.
Shared distillation cache for AI agents — every fetch ~73-89% fewer tokens via a shared cache.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceHosted 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.1MIT
- FlicenseNot gradedqualityDmaintenanceA 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.-
- AlicenseNot gradedqualityBmaintenanceDescriptiShared 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
- AlicenseNot gradedqualityBmaintenanceLocal-first, multi-user shared memory for AI agents with semantic search, offline support, and team synchronization.MIT