Skip to main content
Glama

docsgrep

npm version license MCP compatible

docsgrep is a developer tool for documentation search, code quality auditing, security scanning, and bug detection. Run it from the command line during development, or integrate it as an MCP server for AI-assisted coding workflows.


Table of Contents


Related MCP server: Axon.MCP.Server

Features

  • Documentation Intelligence -- Semantic search, summarization, and topic-based discovery across your docs.

  • Code Quality Auditing -- Enterprise-grade audits with code smell detection, convention analysis, and quality scoring.

  • Security Scanning -- OWASP Top 10 coverage, secret/credential detection, PII scanning, and dependency vulnerability auditing.

  • Bug Detection -- Runtime error detection, race condition analysis, memory leak identification, and performance issue discovery.

  • Architectural Analysis -- Pattern detection (MVC, Repository, etc.), dependency mapping, and refactoring candidate identification.

  • Documentation Integrity -- Staleness detection, coverage measurement, doc-vs-code delta analysis, and automated sync.

  • Remote Repository Support -- Clone and analyze remote repositories with smart caching and authentication (HTTPS, SSH).

  • Plugin System -- Extend docsgrep with community or custom plugins via docsgrep-plugin-* packages.


Quick Start

# Run without installing
npx docsgrep run analyze_code

# Or install globally
npm install -g docsgrep
docsgrep run audit_security --format json

Run show_help for a full list of available tools:

npx docsgrep run show_help

Installation

Global install

npm install -g docsgrep

Local install (per-project)

npm install --save-dev docsgrep

Run without installing

npx docsgrep run <tool_name> [--param value]

Requirements

  • Node.js >= 18

  • pnpm (recommended), npm, or yarn


CLI Usage

docsgrep run <tool_name> [--param value ...] [--format text|json]

Arguments

Flag

Description

--format text

Plain text output (default)

--format json

Pretty-printed JSON output

--dirPath <path>

Target directory (defaults to cwd)

--pattern <regex>

Search pattern for search_docs

--topK <n>

Number of results for semantic_search

--maxAgeDays <n>

Staleness threshold in days

Comma-separated values

Automatically parsed as arrays (e.g., --filePatterns "*.ts,*.js")

Examples

# Code quality audit on the current directory
npx docsgrep run analyze_code

# Security scan with JSON output
npx docsgrep run audit_security --format json

# Regex search in documentation
npx docsgrep run search_docs --pattern "authentication" --contextLines 2

# Detect bugs and potential runtime errors
npx docsgrep run catch_bugs --dirPath ./src

# Semantic search for documentation
npx docsgrep run semantic_search --query "how to handle errors" --topK 5

# Find docs related to a topic
npx docsgrep run find_related --topic "database migration"

# Measure documentation coverage
npx docsgrep run measure_coverage --publicOnly true

# Detect project technology stack
npx docsgrep run detect_stack

# Check for stale documentation
npx docsgrep run check_stale --maxAgeDays 30

# Clone and analyze a remote repo
npx docsgrep run clone_repo --repoUrl https://github.com/user/repo

npm Script Shortcuts

When docsgrep is installed locally, these shortcuts are available:

Script

Runs

npm run lint

analyze_code -- code quality audit

npm run audit

audit_security -- security audit

npm run bugs

catch_bugs -- bug detection

npm run docs:check

measure_coverage -- doc coverage

npm run docs:stale

check_stale -- stale doc detection


MCP Server

docsgrep functions as a Model Context Protocol (MCP) server, giving AI agents and MCP-compatible IDEs access to all 25 tools.

Claude Desktop / Cursor / VS Code

{
  "mcpServers": {
    "docsgrep": {
      "command": "npx",
      "args": ["-y", "docsgrep"]
    }
  }
}

OpenCode

Already configured via opencode.json in this repository:

{
  "mcp": {
    "docsgrep": {
      "type": "local",
      "command": ["npx", "tsx", "src/index"]
    }
  }
}

Local Development (from source)

{
  "mcpServers": {
    "docsgrep": {
      "command": "npx",
      "args": ["tsx", "src/index"]
    }
  }
}

How It Works

  1. On startup, docsgrep initializes the tool registry and discovers any installed plugins.

  2. When an MCP client connects, it lists all available tools (core + plugin tools).

  3. When a tool is called, docsgrep validates inputs, executes the handler, and returns a structured McpToolResponse.

  4. The server communicates over stdio transport.


Tools

docsgrep ships with 25 tools organized into five categories.

Discovery & Setup

Tool

Description

Key Arguments

init_workspace

Initialize a docsgrep workspace (.docsgrep/) and update .gitignore

projectPath

detect_stack

Identify project technology stack from package manager files

dirPath

check_style

Detect coding conventions and implicit patterns from codebase samples

dirPath

find_docs

Discover README files and documentation folders

dirPath, includePath, excludePath

clone_repo

Clone a remote git repository with caching and auth support

repoUrl, branch, authToken, sshKeyPath

Tool

Description

Key Arguments

read_file

Read a documentation file with binary detection

filePath

search_docs

Regex search with relevance ranking and context lines

dirPath, pattern, contextLines

semantic_search

Natural language search across documentation

dirPath, query, topK

summarize_doc

Automatic summarization of a documentation file

filePath, maxLength

Auditing & Quality

Tool

Description

Key Arguments

analyze_code

Full code quality audit with scoring and recommendations

dirPath, focusAreas, includePath

audit_security

OWASP Top 10, secret scanning, PII analysis, dependency audit

dirPath, includePath

catch_bugs

Detect runtime errors, race conditions, memory leaks, logic flaws

dirPath, includePath

lint_interactive

Interactive prompt showing detected stack and linting options

dirPath

security_interactive

Interactive prompt showing scan options before execution

dirPath

Maintenance & Sync

Tool

Description

Key Arguments

check_stale

Identify documentation not updated in N days or out of sync with code

dirPath, maxAgeDays, compareWithCode

measure_coverage

Measure docblock coverage across source code (language-agnostic)

dirPath, publicOnly, filePatterns

sync_documentation

Generate or update documentation stubs from code changes

dirPath, filePaths, updateMode

verify_docs

Verify documented methods/params match actual implementation

dirPath, docPath, strictMode

check_delta

Compare documentation claims against code reality

dirPath, docPath, includeCodeSnippets

check_artefacts

Prioritize documentation updates from git diff history

dirPath, sinceCommit, priorityMode

Context & Help

Tool

Description

Key Arguments

get_context

Proactively provide relevant docs based on current file context

dirPath, currentFilePath, contextDepth

show_help

In-app help for all tools with examples and pro tips

toolName (optional)

clear_cache

Clean cached repositories older than N days

localProjectPath, maxAgeDays


Plugin System

docsgrep supports plugins that add custom tools to the CLI and MCP server.

Installing Plugins

Plugins are discovered automatically from node_modules:

# Install a plugin
npm install docsgrep-plugin-laravel

# It's now available as a tool
npx docsgrep run laravel_check_relations

Plugin Naming Convention

  • docsgrep-plugin-<name> -- auto-discovered

  • @docsgrep/plugin-<name> -- auto-discovered

  • Any path/package listed in docsgrep.config.json -- explicit

Writing a Plugin

A plugin is an ESM module that default-exports a DocsgrepPlugin object:

import type { DocsgrepPlugin } from "docsgrep";

const plugin: DocsgrepPlugin = {
  name: "my-plugin",
  version: "1.0.0",
  tools: {
    definitions: [
      {
        name: "my_custom_tool",
        description: "Does something custom",
        inputSchema: {
          type: "object",
          properties: {
            dirPath: { type: "string", description: "Target directory" },
          },
          required: ["dirPath"],
        },
      },
    ],
    handlers: {
      my_custom_tool: async (args) => {
        return {
          content: [{ type: "text", text: JSON.stringify({ result: "done" }) }],
        };
      },
    },
  },
  onLoad: async () => {
    console.log("My plugin loaded!");
  },
};

export default plugin;

See docs/PLUGIN_GUIDE.md for the full guide.


Developer Guide

Prerequisites

  • pnpm >= 9.0

  • Node.js >= 18

Setup

git clone https://github.com/reasvyn/docsgrep.git
cd docsgrep
pnpm install

Common Commands

Command

Description

pnpm build

Compile TypeScript to build/

pnpm dev

Run from source via tsx

pnpm test

Run all Vitest tests

pnpm test:coverage

Run tests with V8 coverage report

pnpm lint

Run analyze_code on itself (dogfooding)

pnpm audit

Run audit_security on itself

pnpm bugs

Run catch_bugs on itself

pnpm docs:check

Run measure_coverage on itself

pnpm docs:stale

Run check_stale on itself

Note: The lint, audit, bugs, docs:check, and docs:stale scripts run docsgrep on its own source code. They require pnpm build first.

Running a Single Test

pnpm vitest run tests/unit/tools/documentation.test.ts

Project Structure

docsgrep/
├── src/
│   ├── index.ts            # Entry point (MCP server + plugin discovery)
│   ├── cli.ts              # CLI argument parsing and display
│   ├── core-tools.ts       # Class-based tools (AnalyzeCodeTool, etc.)
│   ├── tools/              # Tool handlers (one module per logical group)
│   │   ├── base.ts         # BaseTool<T> abstract class
│   │   ├── registry.ts     # Tool registry (name → handler mapping)
│   │   ├── doc-find.ts     # find_docs
│   │   ├── doc-search.ts   # search_docs, semantic_search, find_related
│   │   ├── doc-inspect.ts  # read_file, summarize_doc, check_stale, get_context
│   │   ├── doc-coverage.ts # measure_coverage
│   │   ├── doc-verify.ts   # verify_docs, check_delta
│   │   ├── doc-sync.ts     # sync_documentation, check_artefacts
│   │   ├── help.ts         # show_help
│   │   ├── repo-analysis.ts # detect_stack, check_style
│   │   ├── repo.ts         # clone_repo
│   │   ├── workspace.ts    # init_workspace, clear_cache
│   │   ├── archetypes.ts   # detect_patterns
│   │   └── audit-ask.ts    # lint_interactive, security_interactive
│   ├── utils/              # Shared utilities
│   │   ├── file.ts         # FileScanner, getIgnorePatterns
│   │   ├── git.ts          # Git operations + repo cache
│   │   ├── validation.ts   # Input validation
│   │   ├── semaphore.ts    # Concurrency limiter
│   │   ├── logger.ts       # Dual output: stderr + file logs
│   │   ├── workspace.ts    # .docsgrep/ path resolution
│   │   ├── cache.ts        # TTL-based file cache
│   │   ├── plugin-manager.ts
│   │   └── app-info.ts     # AppInfo (version, name from package.json)
│   ├── types/              # TypeScript interfaces
│   │   ├── tools.ts        # McpToolResponse + all tool arg interfaces
│   │   └── plugins.ts      # DocsgrepPlugin interface
│   └── config/             # JSON configuration
│       ├── tools.json      # MCP tool definitions (JSON Schema)
│       ├── patterns.json
│       └── *.json          # Per-language configs (js, py, go, rs, etc.)
├── tests/
│   ├── unit/               # Unit tests (vi.mock for IO)
│   └── integration/        # E2E tests (StdioClientTransport)
├── docs/
│   ├── overview.md         # Project overview
│   ├── architecture.md     # System design
│   ├── requirements.md     # Runtime prerequisites
│   ├── conventions.md      # Coding standards
│   ├── index.md            # Documentation index
│   ├── README.md           # Tool documentation index
│   ├── PLUGIN_GUIDE.md     # Plugin authoring guide
│   └── tools/              # Per-tool documentation (*.md)
├── plugins/                # Local plugin directory
├── scripts/                # Build/publish scripts
├── .agents/                # OpenCode agent skills
├── package.json
├── tsconfig.json
├── vitest.config.ts
├── AGENTS.md               # AI agent instructions
└── opencode.json           # OpenCode MCP config

Architecture Notes

  • ESM-only: all local imports must include the .js extension.

  • BaseTool pattern: tool handlers extend BaseTool<T> for concurrency control, logging, credential masking, and error wrapping.

  • ToolRegistry: static class mapping tool names to handler functions. Falls back to PluginManager for plugin tools.

  • Input validation: every handler validates dirPath with validateDirPath and string params with validateStringParam.

  • FileScanner: all filesystem scanning goes through FileScanner.findFiles() which respects .gitignore, includePath, and excludePath.

  • Concurrency: a Semaphore(5) limits parallel operations via operationLimiter in BaseTool.

  • App metadata: always use AppInfo from utils/app-info.ts -- never hardcode version or name.


Security

  • Path traversal prevention: all file operations resolve against strict base paths.

  • Credential masking: BaseTool automatically redacts authToken fields in logs. New sensitive params must be added to maskSensitive.

  • No secret leakage: credentials are detected but never logged or included in responses.

  • Concurrency protection: built-in semaphore prevents system saturation from parallel tool execution.

  • Binary detection: binary files are automatically detected and skipped during scanning.


Contributing

See CONTRIBUTING.md for setup instructions, coding conventions, and PR expectations.

Quick Reference

  1. pnpm install -- install dependencies

  2. Create a feature branch

  3. Write code + tests

  4. pnpm build && pnpm test -- verify

  5. Open a PR with a clear description of intent and impact


License

MIT -- Copyright (c) 2026 Reasvyn

Available Tools

25 tools
analyze_codeC

Performs an enterprise-grade code quality audit (linting). Analyzes tech stack, conventions, and applies industry best practices.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local directory to audit.
filePatternsNoOptional. Glob patterns for files to audit.
focusAreasNoOptional. 'dead_code', 'structure', 'performance', 'naming', 'all'.
includePathNoOptional. Glob patterns to include.
excludePathNoOptional. Glob patterns to exclude.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only says the tool performs an audit/linting. It does not disclose side effects (none expected), required permissions, or performance implications. Minimal behavioral disclosure.

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?

One sentence, 18 words. Front-loaded with key term 'code quality audit'. No extraneous fluff, though it could be slightly more informative without losing brevity.

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

Completeness2/5

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

With 5 parameters, 24 sibling tools, and no output schema, the description should explain output format and selection criteria. It falls short, leaving the agent without enough context to use correctly.

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 coverage is 100% with clear parameter descriptions. The description adds minimal extra semantic value beyond 'tech stack' and 'conventions', which indirectly relate to focusAreas. Baseline 3 is appropriate.

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 states it performs a code quality audit/linting, but the verb 'analyze' is vague. It does not clearly differentiate from sibling tools like 'detect_patterns' or 'lint_interactive'. However, it specifies the resource (code quality) and scope (tech stack, conventions), so it's above average.

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?

No guidance on when to use this tool versus the many sibling tools (e.g., check_style, audit_security, measure_coverage). The description lacks any 'when to use' or 'when not to use' context.

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

audit_securityB

Guards your code with enterprise-grade security audit covering OWASP Top 10, ISO/IEC 27001, secrets detection, privacy (GDPR/CCPA), and dependency vulnerabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local directory to audit.
filePatternsNoOptional. Glob patterns for files to scan.
includePathNoOptional. Glob patterns to include.
excludePathNoOptional. Glob patterns to exclude.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions coverage areas but does not state whether the tool is read-only, modifies files, requires permissions, or returns a report. The phrase 'Guards your code' is vague.

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?

Single sentence of 20 words, concise and to the point. No redundancy or fluff.

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

Completeness2/5

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

Despite the complexity of a multi-standard security audit, the description is very brief. It lacks information about output format, result interpretation, or required permissions. No output schema is present.

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?

All four parameters have schema descriptions (100% coverage), so the baseline is 3. The description does not add additional parameter-level context beyond what the schema provides.

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?

Description clearly states the tool performs a security audit covering OWASP Top 10, ISO/IEC 27001, secrets detection, privacy, and dependency vulnerabilities. It distinguishes from sibling tools like analyze_code, catch_bugs, and check_style by focusing specifically on security compliance.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies usage for security audits but does not mention when not to use or specify prerequisites.

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

catch_bugsC

Catches bugs, errors, warnings, and potential issues in code: race conditions, memory leaks, runtime errors, dependency coupling, and performance issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local directory to analyze.
filePatternsNoOptional. Glob patterns for files to scan.
includePathNoOptional. Glob patterns to include.
excludePathNoOptional. Glob patterns to exclude.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description bears full burden. It does not disclose behavioral traits such as read-only nature, performance impact, or whether the tool modifies files. Listing bug types is useful but insufficient for transparency.

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 a single, well-structured sentence that packs relevant information without fluff. It lists specific issue types, making it efficient and informative.

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

Completeness2/5

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

The tool has 4 parameters and no output schema. The description fails to explain the output format or how results are returned, leaving an agent without critical information for interpretation. Behavioral gaps (e.g., read-only) also reduce completeness.

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 coverage is 100%, so parameters are already well-documented. The tool description adds no extra semantic value beyond the schema, meriting the baseline score of 3.

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 catches various code issues with specific examples (race conditions, memory leaks, etc.). It distinguishes from siblings like 'analyze_code' or 'check_style' by focusing on bugs and potential issues, though it does not explicitly contrast with them.

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?

No guidance is provided on when to use this tool vs alternatives like 'analyze_code' or 'detect_patterns'. It lacks explicit when/when-not instructions, prerequisites, or context for invocation.

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

check_artefactsA

Analyzes which documentation artifacts need updates based on recent codebase changes. Uses git diff to prioritize doc updates.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local project.
sinceCommitNoOptional. Check changes since this commit (default: last commit).
priorityModeNoOptional. 'impact' or 'recency' (default: 'impact').

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It mentions using git diff to prioritize doc updates, which is useful, but does not disclose if the tool modifies files or requires specific permissions. It implies a read-only analysis.

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?

Two sentences, no redundancy, front-loaded with the purpose. Every word is relevant and efficient.

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?

Given 3 parameters, no output schema, and 25 siblings, the description is mostly complete. It explains the tool's function and how it prioritizes. However, it does not describe the return format which could aid in understanding.

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?

The input schema has 100% description coverage for all three parameters, so the description adds no additional meaning beyond the schema. Baseline 3 is appropriate.

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 specific verb 'analyzes' and resource 'documentation artifacts needing updates'. It distinguishes from siblings like check_delta and find_docs by mentioning the use of git diff and prioritizing doc updates based on codebase changes.

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

Usage Guidelines3/5

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

The description tells when to use it (based on recent codebase changes) but does not explicitly state when not to use it or mention alternatives among the 25 sibling tools.

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

check_deltaA

Compares what's documented versus what's actually in the code. Shows the delta between documentation claims and implementation reality.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local project.
docPathYesThe path to the documentation file.
includeCodeSnippetsNoOptional. Include actual code in diff (default: true).

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description should disclose behavioral traits. It only states the purpose without mentioning if it's a read-only operation, any side effects, or safety profile. The description lacks transparency beyond the basic function.

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 very concise with two sentences, no extraneous information, and the purpose is front-loaded. Every sentence adds value without padding.

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 no output schema and no annotations, the description is minimal. For a comparison tool, it could mention return format or typical output, but it is not deficient. It is adequate but lacks completeness for effective selection among 24 siblings.

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 three parameters. The description does not add any additional meaning or constraints beyond what the schema provides, so baseline score is appropriate.

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 compares documentation against code and shows the delta. The verb 'compares' and resource 'documentation vs code' are specific, and it distinguishes itself from siblings like check_stale or verify_docs.

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

Usage Guidelines3/5

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

The description implies use when wanting to compare docs and code, but does not explicitly state when to use or not, nor does it mention alternatives like sync_documentation or verify_docs. No guidance on prerequisites or context.

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

check_staleB

Sniffs out documentation that has gone stale - not updated in 30+ days or out of sync with the actual code.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local directory to check.
maxAgeDaysNoOptional. Maximum age in days (default: 30).
compareWithCodeNoOptional. Also check if docs match current code (default: true).

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. It discloses that the tool checks last update time and code sync, but does not detail how the sync comparison works or any potential side effects. This is adequate but could be more precise.

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?

A single, well-crafted sentence that front-loads the action and is easy to parse quickly. No wasted words.

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

Completeness2/5

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

The description lacks information about the output format or structure. With no output schema, the agent cannot anticipate the result type (e.g., list of files, report). This is a significant gap for a check tool.

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?

The input schema already describes all three parameters (dirPath, maxAgeDays, compareWithCode) with default values. The description echoes the staleness criteria (30 days, out of sync) but adds no new semantic detail beyond what the schema provides.

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 uses a specific verb 'sniffs out' and clearly identifies the resource as 'documentation that has gone stale'. It distinguishes from sibling tools like check_style or catch_bugs by focusing on staleness criteria (30+ days or code mismatch).

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?

No explicit guidance on when to use this tool versus alternatives such as verify_docs or sync_documentation. The description implies usage for stale doc detection but does not provide criteria for choosing it over siblings.

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

check_styleB

Sniffs out project style: conventions, linters, and infers implicit coding patterns from codebase samples. Combines convention detection and code pattern analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local directory to analyze.
excludePathNoOptional. Glob patterns to exclude from scanning.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not mention whether the tool is read-only, modifies files, requires authentication, or has rate limits. The word 'sniffs out' implies reading but is ambiguous.

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 two sentences, front-loaded with the main action ('Sniffs out project style'), and contains no superfluous words. Every sentence adds value.

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 has only two simple parameters (100% covered) and no output schema or annotations, the description is partially complete. It explains the tool's dual focus but omits details on return format or specific behavior, which is needed for full context.

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 coverage is 100% (both 'dirPath' and 'excludePath' are described). The description does not add extra meaning beyond what the schema provides, so baseline 3 is appropriate.

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?

Description clearly states the tool's purpose: 'sniffs out project style: conventions, linters, and infers implicit coding patterns.' It uses specific verbs and resources, and distinguishes from siblings like 'lint_interactive' and 'detect_patterns' by combining both convention detection and code pattern analysis.

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?

No explicit guidance on when to use this tool versus alternatives like 'lint_interactive' or 'detect_patterns'. The description does not provide when/when-not criteria, leaving the agent without clear selection help.

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

clear_cacheA

Purges old cached repositories from the .docsgrep workspace. Removes repos older than the specified max age (default 7 days).

ParametersJSON Schema
NameRequiredDescriptionDefault
localProjectPathYesThe absolute path to the local project containing .docsgrep workspace.
maxAgeDaysNoMaximum age in days for cached repos (default: 7).

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description must disclose all behavioral traits. It states it removes repos older than max age, but does not mention whether removal is permanent, whether confirmation is required, or any prerequisites (e.g., workspace must exist). Lack of destructive/reversibility info is a gap.

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?

Two concise sentences that front-load the main action ('Purges old cached repositories') and then specify the condition (older than max age). No extraneous information.

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?

No output schema, so description should explain return value (e.g., count of removed repos, success status). Without that, agent cannot determine how to proceed after invocation. Otherwise, adequate for a simple purge operation.

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 coverage is 100% with descriptions for both parameters. Description adds minimal value beyond schema (e.g., default for maxAgeDays), but does not provide further clarifications like format or constraints.

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?

Clearly states it purges old cached repositories from the .docsgrep workspace, specifying the exact resource and action. Differentiates from sibling tools like 'check_stale' which checks for staleness but doesn't purge.

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

Usage Guidelines3/5

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

Implies usage for cleanup after analysis (e.g., after running analysis tools), but does not explicitly state when to use this tool versus alternatives (e.g., manually deleting files) or when not to use it (e.g., if repos are still needed).

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

clone_repoB

Fetches a remote git repository to a temporary directory and finds documentation. Supports authentication for private repos.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoUrlYesThe URL of the git repository (e.g., https://github.com/user/repo.git).
branchNoOptional. Specific branch to explore.
tagNoOptional. Specific tag or version to explore. Overrides branch.
authTokenNoOptional. Authentication token for private repositories.
sshKeyPathNoOptional. Path to SSH private key.
localProjectPathNoOptional. Local project path for workspace.

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions fetching to a temporary directory and finding documentation, but omits details on cleanup, side effects, error handling, or return format. Essential behavioral traits like temp directory lifecycle are unclear.

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?

Two sentences, no wasted words. The primary action is front-loaded, and the auth support is placed second. Every sentence serves a purpose.

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?

For a tool with 6 parameters, no output schema, and no annotations, the description is somewhat incomplete. It doesn't specify what 'finds documentation' returns (e.g., file paths, content excerpts) or whether the temporary directory is cleaned up. While it covers the essential purpose, an agent would need more detail for reliable invocation.

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 coverage is 100%, so all 6 parameters are documented. The description adds 'Supports authentication for private repos' which relates to authToken and sshKeyPath but doesn't provide new meaning. The 'localProjectPath' parameter's role is not clarified in relation to 'temporary directory' mentioned in the description, potentially causing confusion.

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 uses specific verbs 'Fetches' and 'finds' with clear resources: 'remote git repository' and 'documentation'. It distinguishes from sibling tools like 'find_docs' or 'search_docs' by explicitly including the cloning step.

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?

No explicit guidance on when to use this tool versus alternatives among 24 siblings. The mention of auth support for private repos gives some context but no when-to-use or when-not-to-use instructions.

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

detect_patternsB

Maps project architectural patterns (MVC, Repository, etc.) and suggests refactoring candidates (Base Class, Trait, Interface).

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the project directory.
minSimilarityNoMinimum similarity score (0-1) to suggest abstraction. Default: 0.8
focusNoOptional focus area.
includePathNoOptional glob patterns to include.
excludePathNoOptional glob patterns to exclude.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description must cover behavioral traits. It does not state whether the tool is read-only or performs mutations, what the output format is, or any side effects (e.g., refactoring suggestions are just suggestions, not modifications). Lacks details on error handling or performance.

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?

Single sentence that is concise and front-loaded. No unnecessary words, clearly communicates core purpose.

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

Completeness2/5

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

Given complexity (5 params, no output schema), the description lacks completeness. No mention of return format, whether results are displayed or returned, or any dependencies (e.g., project must be analyzable). No annotations to supplement.

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 coverage is 100%, so baseline is 3. Description does not add extra meaning beyond what parameters already convey (e.g., dirPath, minSimilarity, focus). Parameter descriptions in schema are self-explanatory.

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?

Description clearly states action (maps, suggests) and resource (architectural patterns, refactoring candidates). It distinguishes from siblings like analyze_code (general analysis) and catch_bugs (bug detection).

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?

No explicit guidance on when to use this tool vs alternatives. Does not mention prerequisites, conditions, or when not to use it. Among 24 sibling tools with overlapping functions, this is a significant gap.

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

detect_stackC

Spies on the project's technology stack by reading package manager files (e.g., package.json, composer.json, go.mod, Cargo.toml).

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local directory to analyze.
excludePathNoOptional. Glob patterns to exclude from scanning.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It states it reads files (implied read-only) but does not mention side effects, permissions, rate limits, or error handling. The informal tone 'Spies' may mislead about secrecy.

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 a single, front-loaded sentence that covers the core purpose without extraneous words. It includes examples for clarity. However, its brevity sacrifices important details, balancing conciseness with completeness.

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

Completeness2/5

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

Given the tool has 2 parameters, no output schema, and no annotations, the description lacks information about return values, error conditions, or behavior when files are absent. The examples help but are insufficient for full agent context.

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 baseline is 3. The description adds context by listing example files but does not elaborate on the parameters 'dirPath' or 'excludePath' beyond their schema types. No added meaning beyond schema.

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 uses a specific verb 'Spies' and identifies the resource 'technology stack' by reading package manager files. It lists examples, giving clarity. However, it doesn't explicitly differentiate from sibling tools like 'detect_patterns', but the focus on package manager files helps distinguish it.

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?

No guidance on when to use this tool versus alternatives like 'analyze_code' or 'audit_security'. The description does not specify prerequisites or preferred scenarios, leaving the agent without decision support.

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

find_docsB

Hunts for README files and documentation inside docs/ folders in a local directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local directory to explore.
includePathNoOptional. Glob patterns to include in scanning.
excludePathNoOptional. Glob patterns to exclude from scanning.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. It lacks details on what happens if directory doesn't exist, recursion behavior, case sensitivity, or output format. Only states the search action without behavioral nuances.

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?

Single, direct sentence with no filler. Every word adds value, achieving maximum conciseness.

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?

For a simple tool with 3 parameters and no output schema, description covers the core action but omits return format, error handling, and edge cases. Adequate but not thorough.

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 parameters. Description adds no extra meaning beyond the schema, meeting baseline but not exceeding.

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?

Description uses specific verb 'hunts' and clearly states resource 'README files and documentation' and location 'inside docs/ folders in a local directory'. It effectively distinguishes from sibling tools like search_docs or read_file.

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?

No guidance on when to use or avoid this tool versus alternatives. Among 23 sibling tools (e.g., search_docs, verify_docs), there is no differentiation or context for selection.

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

get_contextB

Automatically provides relevant documentation context based on what code you're currently working on. No need to ask - it just knows.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local project.
currentFilePathYesThe path to the file currently being worked on.
contextDepthNoOptional. 'minimal', 'standard', or 'deep' (default: 'standard').

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so the description carries the full burden. It fails to disclose what the tool does under the hood (e.g., how it determines context, output format, limitations). 'It just knows' is vague and provides no actionable detail.

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?

Two short sentences, front-loaded with purpose. The second sentence is slightly marketing-fluff but does not waste much space. Could be more efficient by combining ideas.

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

Completeness2/5

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

Despite 100% schema coverage and no output schema, the description omits what 'context' actually includes (e.g., docs, examples, type info) and how the tool determines relevance. This is insufficient for an agent to predict behavior.

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 baseline is 3. The description adds no parameter details beyond the schema, but the schema is already self-explanatory for the three parameters.

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 provides documentation context based on current code, using specific verbs 'provides' and 'context'. It distinguishes from sibling search tools like search_docs and find_docs by emphasizing automatic inference.

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

Usage Guidelines3/5

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

The description implies usage when automatic context is needed ('No need to ask'), but does not explicitly state when to use it over alternatives or when not to use it. No sibling comparisons are made.

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

init_workspaceB

Sets up a docsgrep base camp in the specified project directory to store temporary files, logs, and reports. Also automatically updates the .gitignore file.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesThe absolute path to the local project root.

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description bears full burden. It discloses side effects (creating directories, updating .gitignore) but doesn't detail potential overwrites, permissions, or whether the operation is reversible.

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?

Two sentences, no wasted words, front-loaded with the main action. Ideal length for this simple tool.

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 simple initialization tool with one parameter and no output schema, the description covers the main actions and side effects. Missing details like idempotency or error handling, but adequate.

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 coverage is 100% for the single parameter. The description adds no extra meaning beyond 'specified project directory' which aligns with the schema.

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 sets up a base camp directory for temporary files, logs, and reports, and updates .gitignore. It distinguishes it from sibling tools which are primarily analysis or search tools, but doesn't explicitly differentiate from clone_repo or clear_cache.

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?

No guidance on when to use this tool vs alternatives, no prerequisites or context provided. It is implied for first-time setup but not stated.

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

lint_interactiveA

Asks what you want to lint. Generates an interactive prompt showing detected tech stack and available linting options.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local directory.

TDQS

A3.8/5.0
Behavior3/5

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

Describes interactive behavior and detected tech stack but does not clarify whether linting is executed after the prompt or what the return value is. With no annotations, more detail on side effects or subsequent actions would improve transparency.

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?

Two sentences, no redundant information. Efficiently conveys core functionality.

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?

Given only one parameter and no output schema, description provides sufficient context for an interactive tool. Lacks explicit mention of return value or subsequent actions, but sufficient for basic understanding.

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 coverage is 100% with one param (dirPath) described as absolute path. Description adds context that directory is used for tech stack detection, but this is marginal value beyond the schema.

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?

Description clearly states it asks about linting and generates an interactive prompt with detected tech stack and linting options. Distinguishes itself from sibling tools like catch_bugs or check_style by focusing on an interactive linting workflow.

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

Usage Guidelines3/5

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

Implied usage for interactive linting when user input is desired, but no explicit guidance on when to use versus sibling tools like check_style (automated style checks) or catch_bugs (bug detection). Lacks when-not-to-use or alternative recommendations.

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

measure_coverageA

Measures documentation coverage (docblocks) across the codebase. Language-agnostic support for JS, TS, PHP, Python, Go, Rust, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the source directory.
filePatternsNoOptional. Glob patterns to filter source files.
publicOnlyNoOptional. Only count public APIs (default: true).
includePathNoOptional. Glob patterns to include.
excludePathNoOptional. Glob patterns to exclude.

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, description should fully disclose behavior. It states it measures coverage but does not mention whether it modifies files, requires permissions, performance impact, or that it is read-only. Insufficient transparency for a tool with 5 parameters.

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?

Two concise sentences with no redundancy. Clearly front-loaded with the key action and scope. Every word is meaningful.

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

Completeness2/5

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

Tool has 5 parameters and no output schema. Description does not explain return value format (e.g., percentage, count, file list), which is important for an agent to use correctly. Also lacks performance or scope context. Incomplete for the complexity level.

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?

Schema covers all parameters (100% coverage), so baseline is 3. Description adds value by stating language-agnostic support (JS, TS, etc.) and clarifying that it measures docblocks, which goes beyond schema. Slightly above baseline.

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?

Description clearly states verb 'measures' and resource 'documentation coverage (docblocks)' and distinguishes from siblings like verify_docs or find_docs. It also specifies language support, making the scope clear.

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

Usage Guidelines3/5

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

Description implies usage for measuring docblock coverage, but lacks explicit guidance on when to use this tool versus siblings like verify_docs or find_docs. No when-not-to-use or alternative suggestions.

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

read_fileC

Peeks into the contents of a specific documentation or README file.

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesThe absolute path to the file to read.

TDQS

C2.9/5.0
Behavior2/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 disclosing behavioral traits. It only implies a read operation ('Peeks into the contents') but does not mention permissions, side effects (e.g., no file locking), or limitations (e.g., file size, encoding).

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 very concise (single sentence) with no wasted words. However, it could be slightly more informative without sacrificing conciseness.

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?

For a simple tool with one parameter and no output schema, the description is minimally adequate. It does not specify return format or file encoding, but given the low complexity, it covers the essential function.

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 coverage is 100%, so the description adds no additional meaning beyond what the input schema already provides. The parameter 'filePath' is adequately described in the schema, making the description redundant.

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 action ('Peeks into the contents') and the target resource ('specific documentation or README file'). However, it does not explicitly distinguish this from sibling tools like 'find_docs' or 'search_docs', though the action of reading a file is distinct enough.

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 (e.g., when to read vs. search or find documents). It lacks any when-not or prerequisite information.

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

search_docsA

Greps for a pattern within documentation files (README, docs/**/*.md) in a local directory. Returns matching lines with file path and line number. Results ranked by relevance.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local directory to search.
patternYesThe regex pattern to search for.
filePatternNoOptional. Regex to filter which doc files to search.
contextLinesNoOptional. Number of surrounding context lines (max 5).
includePathNoOptional. Glob patterns to include.
excludePathNoOptional. Glob patterns to exclude.

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that it searches only documentation files, returns lines with file path and line number, and ranks results. It implies a read-only operation and does not contradict any annotations. Could be improved by explicitly stating it is read-only or mentioning regex behavior, but overall adequate for a search tool.

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 three sentences with no wasted words. The first sentence states the action and scope, the second explains the output format, and the third notes ranking. Information is front-loaded and each sentence earns its place.

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?

Given 6 parameters (2 required), no output schema, and no annotations, the description covers the core functionality well. It explains the return format and scope. Minor omissions: no explicit mention of regex support or result limits, but these are common expectations for a 'grep' tool and the schema descriptions for optional parameters provide additional detail.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by specifying the default file scope (README, docs/**/*.md), which is not present in the optional filePattern parameter's schema description. This extra context helps the agent understand the intended search domain.

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 greps for a pattern within documentation files (README, docs/**/*.md) in a local directory, returning matching lines with file path and line number ranked by relevance. This specific verb+resource+scope distinguishes it from siblings like find_docs (file finding) and semantic_search (semantic search).

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

Usage Guidelines3/5

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

The description provides clear context (searches documentation files only) but does not explicitly state when to use this tool versus alternatives like semantic_search or find_docs. No exclusions or alternative recommendations are provided, leaving the agent to infer usage based on the 'grep' mention.

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

security_interactiveB

Asks before guarding. Shows what will be scanned (OWASP Top 10, secrets, privacy, dependencies) and available options.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local directory.

TDQS

B3.4/5.0
Behavior3/5

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

The description states it 'asks before' and 'shows options', indicating interactive behavior. However, it does not disclose what happens after the user responds (e.g., whether actions like fixes are applied), nor does it mention permissions or side effects. Given no annotations, more detail would be beneficial.

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 concise (two sentences) and front-loaded with the key interactive aspect. However, it could be slightly more precise without adding length.

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?

The tool has no output schema, so the description should explain what the tool returns after interaction. It mentions 'shows what will be scanned' and 'options', but does not describe the output format or how the agent should handle it. With no annotations, more completeness is expected.

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?

The input schema already provides a description for the only parameter (dirPath), so this is the baseline. The description does not add new meaning beyond stating it is an absolute path, which is redundant with the schema.

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 identifies the tool as interactive ('Asks before guarding') and specifies the scan scope (OWASP Top 10, secrets, privacy, dependencies), which clearly differentiates it from sibling tools like audit_security. However, the term 'guarding' is slightly vague and could better indicate that the tool performs a security scan.

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

Usage Guidelines3/5

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

Usage context is implied (when an interactive security check is desired) but no explicit guidance is provided on when to use this tool over alternatives like audit_security or detect_patterns. No exclusion criteria or prerequisites are mentioned.

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

show_helpA

Provides comprehensive help for all docsgrep tools with detailed examples, common patterns, and pro tips.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNameNoOptional. Specific tool to get help for (default: all tools).

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided; description does not disclose side effects or safety, but for a help tool it is acceptable.

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?

Single sentence that is concise and to the point, though could be slightly more compact without losing meaning.

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?

Adequately describes the tool's purpose for a simple help tool; no output schema needed, but could mention return format.

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 coverage is 100% and the description adds minimal extra meaning beyond the schema's 'Optional. Specific tool to get help for (default: all tools).'

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?

Clearly states the tool provides comprehensive help for all docsgrep tools with details like examples and patterns, which is specific and distinct from sibling tools.

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

Usage Guidelines3/5

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

Implies use for obtaining help but does not explicitly state when to use versus sibling tools or when not to use.

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

summarize_docA

Automatically summarizes specific documentation files into concise, digestible chunks. Gets the essence without the noise.

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesThe absolute path to the documentation file to summarize.
maxLengthNoOptional. Maximum summary length in characters (default: 500).

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It hints at non-destructiveness and summarization behavior but lacks specifics on authentication, rate limits, or potential limitations (e.g., file size). The 'essence without noise' is vague but adequate for a simple tool.

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?

Two sentences, no unnecessary words. The purpose is front-loaded and every word contributes to understanding.

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?

For a tool with two parameters, no output schema, and no annotations, the description provides a minimal but functional overview. It lacks details on output format or default behavior for maxLength, but is likely sufficient given low complexity.

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 coverage is 100% and both parameters are well-documented in the input schema. The description adds no additional semantic value beyond 'specific documentation files' for the filePath parameter.

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 action ('summarizes'), the resource ('specific documentation files'), and the outcome ('concise, digestible chunks'). It effectively distinguishes from sibling tools like read_file or search_docs by focusing on extraction of essence.

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?

No guidance is provided on when to use this tool versus alternatives (e.g., read_file for full content, search_docs for queries). The description does not mention prerequisites or exclusions, leaving the agent to infer usage context.

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

sync_documentationA

Automatically creates or updates documentation based on code changes. Detects new methods, changed signatures, and generates doc stubs.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local project.
filePathsNoOptional. Specific files that changed (default: auto-detect from git).
updateModeNoOptional. 'create', 'update', or 'both' (default: 'update').

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so the description carries the full burden. It adequately describes the action of creating/updating documentation and the detection of code changes, but does not disclose whether changes are reversible, required permissions, or what happens to existing documentation not covered by the changes.

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?

Two sentences with no wasted words. The first sentence captures the core purpose, and the second adds specific capabilities. Front-loaded with key action.

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?

Given no output schema, description does not explain return values, which is acceptable. It covers purpose and parameters well. Missing mention of git prerequisites or workspace setup, but overall sufficient for a tool with 3 params and simple output.

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?

Schema coverage is 100%, providing baseline of 3. The description adds context beyond the schema: 'based on code changes', 'auto-detect from git' for filePaths, and explanation of updateMode. This helps agents understand parameter usage beyond dry definitions.

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 states the verb 'creates or updates' and the resource 'documentation', with a clear scope 'based on code changes'. It provides specific details like 'detects new methods, changed signatures, and generates doc stubs', which distinguishes it from sibling tools like find_docs or search_docs.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies usage for code changes, but doesn't mention when not to use or provide any exclusion criteria or mention of sibling tools like verify_docs or check_delta.

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

verify_docsB

Checks consistency between code and documentation. Verifies that all documented methods actually exist and that parameters match reality.

ParametersJSON Schema
NameRequiredDescriptionDefault
dirPathYesThe absolute path to the local project.
docPathYesThe path to the documentation file to validate.
strictModeNoOptional. Fail on warnings too (default: false).

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses basic behavior (checks consistency, verifies methods and parameters) but lacks details on failure modes, whether it's read-only, permissions required, or scope of verification. It is not misleading but is incomplete.

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 concise (two sentences) and front-loaded with the core purpose. No unnecessary words, but could benefit from slightly more structure to separate use case from behavior.

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

Completeness2/5

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

For a tool with 3 parameters, many siblings, and no output schema, the description is too minimal. It omits return value information, error handling, and advice on when to apply. More context is needed to fully understand the tool's role.

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%; each parameter has a clear description in the schema. The tool description does not add additional parameter meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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: checking consistency between code and documentation by verifying method existence and parameter matching. It distinguishes itself from sibling tools like check_stale or check_style by focusing on documentation accuracy.

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?

No explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or context that would help an agent decide between verify_docs and sibling tools like find_docs or check_stale.

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

TDQS

B3/5.0
Disambiguation2/5

Many tools have overlapping purposes, such as multiple code analysis tools (analyze_code, catch_bugs, check_style, detect_patterns, lint_interactive) and several documentation staleness checks (check_artefacts, check_delta, check_stale). This makes it difficult for an agent to select the correct tool.

Naming Consistency3/5

Most tools follow a verb_noun pattern (e.g., clone_repo, search_docs), but a few deviate like lint_interactive and security_interactive where the second word is an adjective rather than a noun. Overall, the naming is mostly consistent but has minor inconsistencies.

Tool Count2/5

With 25 tools, the set is overly large for a server named 'docsgrep'. Many tools could be consolidated (e.g., combining check_artefacts, check_delta, check_stale into one tool with parameters). The breadth suggests poor scoping.

Completeness3/5

The tool set covers a wide range of documentation and code analysis tasks, but it includes many tools that are not directly related to the core documentation grep purpose (e.g., security auditing, bug catching). This leads to a lack of focus rather than missing functionality.

Maintenance

ActivitySlowing
ResponsivenessSyncing

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
    A
    maintenance
    A high-performance MCP server providing lightning-fast hybrid code search using TF-IDF and vector embeddings for AI assistants. It enables real-time codebase indexing and semantic retrieval with sub-50ms latency and offline support.
    12
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that transforms codebases into intelligent, queryable knowledge bases, enabling AI assistants to perform semantic search, explore architecture, and analyze code relationships.
    166
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives AI agents structured code understanding and precise code intelligence via local indexing of AST, call graphs, and semantic search.
    76
    4
    Apache 2.0

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/reasvyn/docsgrep'

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