draco
Server Details
Coding & security oracle grounded in 1855 real books. Cited answers via MCP.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- drjonesxxx1/draco
- GitHub Stars
- 0
- Server Listing
- draco
TDQS
Scored across 3 tools
The three tools have clearly distinct purposes: ask handles grounded question answering with citations, search performs BM25 passage retrieval, and status reports health/library size. There is no meaningful overlap, and the descriptions make each tool's role easy to select.
All tool names follow the same predictable pattern: draco_ prefix plus a clear action/state noun (ask, search, status). The naming is consistent snake_case and readable.
Three tools are well-scoped for a book-grounded Q&A server. Each tool earns its place: one for asking, one for searching, and one for health/status, with no redundant or extraneous entries.
The surface covers the core workflows of querying, searching, and checking the library, which is sufficient for most agent tasks. Minor gaps exist, such as no explicit way to browse the full book list or fetch a specific book by title, but agents can work around these via ask/search.
Available Tools
3 toolsdraco_askBInspect
Ask DRACO a coding or security question. Answers are grounded in hundreds of real programming and hacking books, with [n] citations and source titles.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses that answers are grounded in hundreds of programming/hacking books and returned with numbered citations and source titles, which is real behavioral context, but it says nothing about permissions, rate limits, or what happens when no grounding is found.
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 tight sentences with no filler, and the core purpose is front-loaded. Efficiently sized for a single-parameter tool.
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?
An output schema exists, so the description need not explain return values, and it already hints at citations. For a one-parameter read-style tool, the main remaining gap is the absent guidance on when to prefer this over draco_search.
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 0% for the single 'question' parameter, so the description must compensate. It narrows the expected input to 'a coding or security question', which adds topical meaning beyond the bare schema, but gives no guidance on phrasing, length, or specificity.
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 ('Ask') and resource ('DRACO'), plus the domain (coding or security) and the answer shape (grounded in books, with citations and source titles). It is clear what the tool produces, though it never names how it differs from sibling draco_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?
No explicit when-to-use or when-not-to-use guidance. The existence of siblings draco_search and draco_status implies a question-vs-search distinction, but the description leaves the agent to infer which one to pick for a given need.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
draco_searchBInspect
Search DRACO's book library (BM25) for passages matching a topic.
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses BM25 ranking and passage-level retrieval scope, which is useful beyond the name, but omits authentication, rate limits, and result-order details. Because an output schema exists, return format need not be covered here.
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?
A single efficient sentence with no waste, and the core purpose is front-loaded. Every word 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 tool with two parameters, no annotations, and 0% schema descriptions, the description is too thin. It lacks usage guidance, sibling differentiation, and any explanation of the 'k' parameter, though the output schema does cover return values.
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 0%, so the description must compensate. It implies that 'query' is the topic, but says nothing about the 'k' parameter, its default of 8, its allowed range, or its effect on results. It fails to compensate for the low coverage.
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 (search), resource (DRACO's book library), method (BM25), and target (passages matching a topic). Clear about what it does, but does not differentiate from siblings draco_ask or draco_status.
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?
Provides no when-to-use guidance, no alternatives, and no exclusions. Unlike a strong definition that routes between siblings, it leaves the agent to infer that this is for topic search rather than asking questions or checking status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
draco_statusCInspect
DRACO health + library size.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. Beyond naming 'health + library size' it discloses nothing: no read-only guarantee, no authentication requirement, no latency/freshness of the health signal, no indication of what constitutes an unhealthy state. For a status tool with zero annotations this is a thin disclosure.
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?
A single short sentence, front-loaded with the resource name and the two payload categories. No waste, though the phrase 'health + library size' is terse to the point of ambiguity.
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?
Output schema exists so return values need not be explained, and there are no parameters. But with no annotations, the description should still convey what 'health' means and the safety/read nature of the call. It leaves the agent unable to know what a successful or degraded status looks like.
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 takes zero parameters, so there is no parameter meaning to add. Per the rubric, 0 params gives a baseline of 4. The description correctly implies no input is needed.
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 resource (DRACO) and two data points (health + library size), but 'health' is vague and the description does not distinguish this from sibling tools draco_ask or draco_search. An agent can guess it's a status check, but nothing tells it why it exists alongside the others.
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?
No when-to-use guidance, no alternatives mentioned, no exclusion criteria. The sibling names are not referenced, so the agent must infer that a status tool is for checking service health before calling ask/search.
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
- First observed
draco_ask - First observed
draco_search - First observed
draco_status
Related MCP Connectors
Grounded, citable answers to tech questions from O'Reilly's library. Requires Expert MCP access.
WallChartBook: the site's own MCP server — dataset; every answer cites the site.
Shortcodo: the site's own MCP server — dataset; every answer cites the site.
MultiplesBook: the site's own MCP server — dataset; every answer cites the site.
Related MCP Servers
- AlicenseAqualityAmaintenanceThis MCP server enables AI agents to search and retrieve exact, cited passages from a large corpus of public-domain books, including full-text search, book metadata, chapters, quotes, and 'ask book' Q&A. Payments are handled via x402 micropayments on Base.848 npmMIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that enables coding agents to safely verify npm/PyPI packages, retrieve cited briefs, discover GitHub repos, and fetch canonical docs, with fail-closed OSV vulnerability checks and injection-hardened output.166 npmMIT
- AlicenseAqualityCmaintenanceRead-only MCP server providing AI access to verifiable web, GitHub, and local sources, plus a managed fantasy entity catalog, with strong security and provenance tracking.101MIT
- AlicenseNot gradedqualityCmaintenanceA local MCP server that gives AI coding assistants retrieval access to your personal knowledge base of books, standards, and docs, grounding their answers in sources you trust.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.