ref-tools-mcp
Server Details
Token-efficient search for coding agents over public and private documentation.
- Status
- Healthy
- Uptime
- 77.7% over 80 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- ref-tools/ref-tools-mcp
- GitHub Stars
- 1,183
- Server Listing
- Ref
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools have clearly separate roles: one searches documentation and the other reads a selected URL. The descriptions explicitly link the workflow, so an agent should not confuse them.
Both names use the same `ref_` prefix followed by a verb_noun pattern (`read_url`, `search_documentation`). The convention is predictable and consistent across the entire server.
The server is narrowly scoped to a search-then-read documentation workflow, so both tools earn their place. Two tools is slightly below the typical 3-15 range, but it is reasonable for this focused purpose.
Search and URL reading together cover the core documentation discovery and retrieval lifecycle. The explicit cross-reference between the tools supports a complete workflow without obvious dead ends.
Available Tools
2 toolsref_read_urlARead-onlyInspect
Read the content of a url as markdown. The EXACT url from a 'ref_search_documentation' result (including the #hash) should be passed to this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL of the webpage to read. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered; the description adds the genuinely useful disclosure that content is returned as markdown, which matters because there is no output schema. It omits failure behavior (dead links, JS-rendered or non-HTML pages) and any size or truncation limits.
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?
Two sentences, zero filler, with the core action front-loaded and the input constraint immediately after. Every sentence earns its place.
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 single-parameter read tool with annotations covering safety, the description covers purpose, return format, and the exact input-source constraint, which is enough to call it correctly. Only edge-case behavior on unreachable or non-markdown content is unaddressed.
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 coverage is 100% and the schema param text is only 'The URL of the webpage to read.' The description adds real meaning beyond it: the URL must originate from ref_search_documentation results and the #hash fragment must be preserved verbatim.
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?
States a specific verb and resource ('Read the content of a url as markdown') and explicitly positions itself against the sibling ref_search_documentation as the tool that consumes that tool's output. An agent can distinguish search from read without opening either schema.
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?
Gives clear operational guidance: pass the EXACT url from a 'ref_search_documentation' result, including the #hash. That establishes the intended search-then-read sequence, though it does not say when NOT to use this tool or what to do with URLs obtained elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ref_search_documentationARead-onlyInspect
Search for documentation on the web or github as well from private resources like repos and pdfs. Use Ref 'ref_read_url' to read the content of a url.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Query for documentation. Should include programming language and framework or library names. Searches public only docs by default, include ref_src=private to search a user's private docs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this is a safe read. The description adds useful context about source coverage (web, GitHub, private repos, PDFs), but it does not mention pagination, result limits, or whether private results require authentication—details the schema only hints at via ref_src=private.
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?
It is two short sentences and front-loads the search purpose before the sibling pointer. However, the phrasing "as well from private resources" is awkward and the second sentence is loosely worded ("Use Ref 'ref_read_url' to read the content of a url"), which slightly weakens scanability.
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 single-parameter, read-only search tool with no output schema and a fully documented schema, the description covers the essentials: what is searched and where to go next. The main remaining gap is expected result shape or how many results come back, which the absent output schema leaves unaddressed.
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% for the single query parameter, and the schema already documents the public-by-default / ref_src=private behavior. The description repeats the same public/private split at a higher level without adding query syntax or formatting guidance, so the baseline of 3 applies.
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 names a specific verb and resource ("Search for documentation") and enumerates the source types it covers: web, GitHub, private repos, and PDFs. That is enough to distinguish it from the sibling ref_read_url, which is described as a content reader rather than a search.
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 second sentence explicitly routes the agent to the sibling tool for fetching a URL's contents, which is clear alternative-tool guidance. It does not state exclusions or when search is a bad choice, so it falls short of a 5.
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.
2 tool updates
- Changed
ref_read_url1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
ref_search_documentation1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
2 tool updates
- First observed
ref_read_url - First observed
ref_search_documentation
Related MCP Connectors
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
Codebase intelligence for agents: 152 structured artifacts across 21 programs, one call.
Verified doc corpora for agents: grep-first retrieval, hashed pages, Merkle+RFC-3161 receipts
Research intelligence for AI coding agents. 2M+ CS papers with evidence and tradeoffs.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceToken-optimized semantic code search with automatic context expansion for AI coding assistants, enabling efficient discovery of code relationships and reducing token usage.4MIT
- FlicenseAqualityAmaintenanceCode search for AI coding agents over MCP: hybrid retrieval, structural search and shared indexing across Git worktrees.8-
- AlicenseNot gradedqualityBmaintenanceEnables coding agents to index repositories, retrieve task-relevant code within a token budget, and record facts that are flagged stale when their anchored code changes.MIT
- AlicenseNot gradedqualityCmaintenanceAdds semantic code search to AI coding agents, enabling natural language queries across entire codebases to retrieve relevant code chunks, saving tokens and providing deep context.41 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.