Skip to main content
Glama
mdz-axo

PT-MCP (Paul Test Man Context Protocol)

by mdz-axo

PT-MCP (Paul Test Man Context Protocol)

"Where am I now?"

Named after Paul Marcarelli, the Verizon "Test Man" who famously traversed America asking "Can you hear me now?", PT-MCP asks the essential question for AI coding assistants: "Where am I now?" - providing comprehensive context understanding through integrated knowledge graphs and semantic schemas.

The Paul Test Man Story

Just as Paul Test Man mapped Verizon's network coverage across America to ensure clear communication, PT-MCP maps your codebase's semantic landscape to ensure clear understanding. The server doesn't just return code structure - it returns meaning through:

  • YAGO 4.5 Knowledge Graphs: Base knowledge graph segments relevant to your context

  • Schema.org Domain Graphs: Domain-specific semantic understanding

  • Codebase Analysis: Comprehensive structure, patterns, and relationships

Overview

PT-MCP helps AI coding assistants understand your codebase by providing:

  • Comprehensive codebase analysis - File structure, language distribution, code metrics

  • Context file generation - Multiple format support (.cursorrules, SPEC.md, etc.)

  • Incremental updates - Efficient context regeneration based on changes

  • Pattern extraction - Identify architectural and coding patterns

  • Dependency analysis - Map internal and external dependencies

  • API surface extraction - Document public interfaces

  • Context validation - Ensure accuracy and completeness

Installation

npm install
npm run build

Usage

As an MCP Server

Add to your Claude Code configuration (~/.config/claude/config.json):

{
  "mcpServers": {
    "context-manager": {
      "command": "node",
      "args": ["/path/to/context-manager-mcp/dist/index.js"],
      "env": {}
    }
  }
}

Available Tools

1. analyze_codebase

Perform comprehensive codebase analysis including structure, dependencies, and metrics.

{
  path: string;              // Root directory path
  languages?: string[];      // Languages to analyze (auto-detect if omitted)
  depth?: number;            // Analysis depth (1-5, default: 3)
  include_patterns?: string[]; // Glob patterns to include
  exclude_patterns?: string[]; // Glob patterns to exclude
  analysis_type?: 'quick' | 'standard' | 'deep'; // Default: 'standard'
}

Example:

{
  "path": "/path/to/project",
  "analysis_type": "standard",
  "exclude_patterns": ["**/node_modules/**", "**/.git/**"]
}

Returns:

  • Total files, lines, and size

  • Language distribution with percentages

  • Directory structure and depth

  • Entry points identification

  • Package information (if available)

2. generate_context

Generate context files in specified format.

{
  path: string;
  format: 'cursorrules' | 'cursor_dir' | 'spec_md' | 'agents_md' | 'custom';
  output_path?: string;
  analysis_result?: any;
  options?: Record<string, any>;
}

Note: Implementation pending (stub currently returns placeholder)

3. update_context

Incrementally update existing context files based on code changes.

{
  path: string;
  changed_files: string[];
  context_format: string;
  force_full_regeneration?: boolean;
}

Note: Implementation pending (stub currently returns placeholder)

4. extract_patterns

Identify and extract architectural and coding patterns.

{
  path: string;
  pattern_types?: string[];
  min_occurrences?: number;
}

Note: Implementation pending (stub currently returns placeholder)

5. analyze_dependencies

Analyze and map internal and external dependencies.

{
  path: string;
  include_external?: boolean;
  include_internal?: boolean;
  max_depth?: number;
}

Note: Implementation pending (stub currently returns placeholder)

6. watch_project

Start monitoring project for changes and auto-update context.

{
  path: string;
  context_formats: string[];
  debounce_ms?: number;
  watch_patterns?: string[];
}

Note: Implementation pending (stub currently returns placeholder)

7. extract_api_surface

Extract and document public API surface.

{
  path: string;
  include_private?: boolean;
  output_format?: 'markdown' | 'json' | 'typescript';
}

Note: Implementation pending (stub currently returns placeholder)

8. validate_context

Validate accuracy and completeness of generated context files.

{
  path: string;
  context_path: string;
  checks?: string[];
}

Note: Implementation pending (stub currently returns placeholder)

Available Resources

context://project/{path}

Current project context including structure, patterns, and dependencies.

context://patterns/{path}

Architectural and coding patterns detected in the codebase.

context://dependencies/{path}

Internal and external dependency relationships.

Development Status

Phase 1: Foundation (βœ… Complete)

  • MCP server boilerplate with stdio transport

  • Project structure and dependencies

  • analyze_codebase tool - fully functional

  • Stub implementations for remaining tools

Phase 2: Core Analysis (🚧 In Progress)

  • Implement generate_context tool

  • Implement extract_patterns tool

  • Implement analyze_dependencies tool

  • Add tree-sitter integration for deep code analysis

Phase 3: Advanced Features (πŸ“‹ Planned)

  • Implement update_context tool with incremental updates

  • Implement watch_project tool with file system monitoring

  • Implement extract_api_surface tool

  • Implement validate_context tool

Architecture

context-manager-mcp/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ index.ts              # MCP server entry point
β”‚   β”œβ”€β”€ tools/                # Tool implementations
β”‚   β”‚   β”œβ”€β”€ index.ts          # Tool registration
β”‚   β”‚   β”œβ”€β”€ analyze-codebase.ts
β”‚   β”‚   β”œβ”€β”€ generate-context.ts
β”‚   β”‚   β”œβ”€β”€ update-context.ts
β”‚   β”‚   β”œβ”€β”€ extract-patterns.ts
β”‚   β”‚   β”œβ”€β”€ analyze-dependencies.ts
β”‚   β”‚   β”œβ”€β”€ watch-project.ts
β”‚   β”‚   β”œβ”€β”€ extract-api-surface.ts
β”‚   β”‚   └── validate-context.ts
β”‚   β”œβ”€β”€ resources/            # Resource handlers
β”‚   β”‚   └── index.ts
β”‚   β”œβ”€β”€ analyzers/            # Code analysis engines (future)
β”‚   β”œβ”€β”€ generators/           # Context generators (future)
β”‚   β”œβ”€β”€ utils/                # Utility functions (future)
β”‚   └── types/                # TypeScript type definitions (future)
β”œβ”€β”€ dist/                     # Compiled JavaScript
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
└── README.md

Testing

Test the MCP server locally:

# Build the project
npm run build

# Test analyze_codebase tool
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"analyze_codebase","arguments":{"path":"/path/to/project","analysis_type":"standard"}}}' | node dist/index.js

Contributing

This is a work in progress. See the specification document for the full implementation roadmap.

Next Steps

  1. Implement context file generators for different formats

  2. Add tree-sitter integration for deeper code analysis

  3. Implement pattern extraction algorithms

  4. Add file system watching and incremental updates

  5. Create comprehensive test suite

License

MIT

Available Tools

9 tools
analyze_codebaseC

Perform comprehensive codebase analysis including structure, dependencies, and metrics

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRoot directory path to analyze
languagesNoLanguages to analyze (auto-detect if omitted)
depthNoAnalysis depth (1-5, default: 3)
include_patternsNoGlob patterns to include
exclude_patternsNoGlob patterns to exclude
analysis_typeNoAnalysis thoroughness levelstandard

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While it mentions 'comprehensive analysis,' it doesn't describe what this entails operationally - whether it's read-only, how long it might take, what resources it consumes, or what format the results take. For a complex analysis tool with 6 parameters, this leaves significant behavioral questions unanswered.

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, efficient sentence that gets straight to the point without unnecessary words. It's appropriately sized for the tool's complexity, though it could potentially benefit from being slightly more specific about what 'comprehensive' means in practice.

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 complex analysis tool with 6 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the analysis produces, how results are structured, what 'comprehensive' entails, or how this differs from sibling tools. The agent would need to guess about the tool's behavior and outputs.

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?

With 100% schema description coverage, the input schema already documents all 6 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain how parameters interact, provide usage examples, or clarify the meaning of 'comprehensive analysis' in relation to the parameters. This meets the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the tool's purpose with specific verbs ('perform comprehensive codebase analysis') and resources ('structure, dependencies, and metrics'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'analyze_dependencies' or 'extract_patterns', which appear to offer more specialized analyses.

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. With multiple sibling tools like 'analyze_dependencies' and 'extract_patterns' that seem related, there's no indication of when this comprehensive analysis is preferred over more specialized tools or what specific scenarios warrant its use.

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

analyze_dependenciesC

Analyze and map internal and external dependencies

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRoot directory path
include_externalNoInclude external package dependencies
include_internalNoInclude internal module dependencies
max_depthNoMaximum dependency depth to traverse

TDQS

C2.6/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 behavioral disclosure. It mentions analyzing and mapping dependencies but fails to describe key behaviors such as output format, performance implications, error handling, or whether this is a read-only operation. This leaves significant gaps for an agent to understand how to invoke it effectively.

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, efficient sentence that directly states the tool's purpose. It is appropriately sized and front-loaded, with no wasted words, though it could benefit from more detail to improve clarity and 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 complexity of dependency analysis, no annotations, and no output schema, the description is insufficient. It lacks details on what the analysis produces, how results are structured, or any behavioral traits, making it incomplete for an agent to use this tool confidently in context with its 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?

The input schema has 100% description coverage, clearly documenting all four parameters. The description adds no additional meaning beyond what the schema provides, such as explaining how 'internal' vs 'external' dependencies are defined or the impact of 'max_depth'. This meets the baseline for high schema coverage.

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

Purpose3/5

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

The description states the tool's purpose as analyzing and mapping dependencies, which is clear but vague. It specifies 'internal and external' dependencies, providing some scope, but doesn't distinguish this from sibling tools like 'analyze_codebase' or 'extract_patterns', leaving ambiguity about when to use each.

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. The description lacks context about prerequisites, typical use cases, or comparisons to sibling tools, leaving the agent to infer usage from the tool name alone.

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

enrich_contextC

Enrich codebase context with knowledge graph data from YAGO 4.5 and Schema.org annotations

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRoot directory path
analysis_resultNoPrevious analysis result from analyze_codebase (optional)
enrichment_levelNoLevel of enrichment (minimal: frameworks+languages, standard: +dependencies, comprehensive: +dev deps+patterns)standard
include_yagoNoInclude YAGO knowledge graph entity linking
include_schemaNoInclude Schema.org semantic annotations
max_entitiesNoMaximum entities to resolve from YAGO

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 full burden but only states what the tool does, not how it behaves. It doesn't disclose whether this is a read-only operation, if it modifies files, performance characteristics, error handling, or output format. For a tool with 6 parameters and complex data sources, this lack of behavioral detail is a significant 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?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every element ('enrich codebase context', 'knowledge graph data', 'YAGO 4.5', 'Schema.org annotations') earns its place by contributing essential information about what the tool does.

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 6 parameters, no annotations, no output schema, and complex functionality involving external knowledge graphs, the description is incomplete. It doesn't explain what 'enriched context' means in practice, how results are structured, or what the agent should expect after invocation, leaving significant gaps for effective tool use.

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 description mentions YAGO and Schema.org, which map to the 'include_yago' and 'include_schema' parameters, but doesn't add meaningful semantics beyond what's already in the schema (which has 100% coverage). It doesn't explain why one would choose different enrichment levels or how parameters interact, so it provides minimal value over the well-documented 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 action ('enrich') and target ('codebase context') with specific data sources ('knowledge graph data from YAGO 4.5 and Schema.org annotations'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'generate_context' or 'update_context', which might have overlapping functionality.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'analyze_codebase' or 'generate_context'. It mentions optional parameters ('analysis_result' from 'analyze_codebase') but doesn't explain the relationship or when one should be preferred over the other, leaving usage context unclear.

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

extract_api_surfaceB

Extract and document public API surface of the codebase

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRoot directory path
include_privateNoInclude private/internal APIs
output_formatNoOutput format for API documentationmarkdown

TDQS

B3.1/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 behavioral disclosure. It mentions extraction and documentation but doesn't specify whether this is read-only, destructive, requires permissions, has rate limits, or details the output behavior. This leaves significant gaps for a tool that likely interacts with codebases.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose without any wasted words. It's appropriately sized for the tool's complexity, making it easy to parse and understand quickly.

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

Completeness3/5

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

Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is adequate but incomplete. It states what the tool does but lacks details on behavioral traits, usage context, and output expectations, which are crucial for effective agent invocation in a code analysis environment.

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, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond what's in the schema, such as explaining why to include private APIs or how output formats differ. Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose with specific verbs ('extract and document') and resource ('public API surface of the codebase'), making it immediately understandable. However, it doesn't explicitly distinguish this from sibling tools like 'analyze_codebase' or 'extract_patterns', which might have overlapping functionality, so it doesn't reach the highest score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'analyze_codebase' or 'extract_patterns', nor does it mention prerequisites or exclusions. It implies usage for API documentation but lacks explicit context, resulting in a minimal score.

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

extract_patternsC

Identify and extract architectural and coding patterns from the codebase

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRoot directory path
pattern_typesNoTypes of patterns to extract (architectural, design, naming, testing)
min_occurrencesNoMinimum occurrences to consider a pattern

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'identifies and extracts' patterns but doesn't explain what this entailsβ€”e.g., whether it scans files recursively, outputs results in a specific format, requires specific permissions, or has performance considerations like rate limits. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

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

Conciseness5/5

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

The description is a single, efficient sentence: 'Identify and extract architectural and coding patterns from the codebase.' It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for the tool's complexity. Every part of the sentence contributes to understanding the tool's function.

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's complexity (analyzing codebases for patterns), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like how results are returned, what formats are supported, or any prerequisites. With no structured data to fill these gaps, the description should provide more context to be fully helpful for an AI agent.

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 schema description coverage is 100%, with clear descriptions for all three parameters ('path,' 'pattern_types,' 'min_occurrences'). The description doesn't add any additional meaning beyond what the schema provides, such as explaining how 'pattern_types' are used or what 'min_occurrences' implies in practice. Given the high schema coverage, a baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Identify and extract architectural and coding patterns from the codebase.' It specifies the verb ('identify and extract'), resource ('architectural and coding patterns'), and target ('from the codebase'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate itself from sibling tools like 'analyze_codebase' or 'extract_api_surface,' which might have overlapping functionality.

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. With sibling tools like 'analyze_codebase,' 'extract_api_surface,' and 'enrich_context,' there's no indication of how this tool differs in context or application. It lacks explicit when-to-use or when-not-to-use instructions, leaving the agent to infer usage based on the name and description alone.

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

generate_contextC

Generate context files in specified format for the codebase

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRoot directory path
formatYesContext file format to generate
output_pathNoOutput path for generated files (optional)
analysis_resultNoPrevious analysis result to use (optional)
optionsNoFormat-specific options

TDQS

C2.9/5.0
Behavior2/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 states what the tool does but doesn't disclose behavioral traits like whether it overwrites existing files, requires specific permissions, has side effects on the codebase, or handles errors. For a tool that generates files (potentially destructive), this lack of transparency is a significant gap.

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, efficient sentence that front-loads the core purpose. There's no wasted verbiage or redundancy. However, it could be slightly more informative by hinting at the tool's role in a workflow (e.g., 'Generate context files... to summarize codebase structure').

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 5 parameters, no annotations, no output schema, and siblings with overlapping functions, the description is incomplete. It doesn't clarify the tool's place in the workflow (e.g., after analysis), what 'context files' are used for, or behavioral risks. For a file-generation tool with potential side effects, more context is needed.

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 fully documents all 5 parameters. The description adds no additional meaning beyond implying 'path' is for the codebase and 'format' specifies the output type. It doesn't explain what 'context files' contain, how 'analysis_result' integrates, or what 'options' might include. Baseline 3 is appropriate as the schema does the heavy lifting.

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 ('generate') and resource ('context files') with the scope ('for the codebase') and format specification. It distinguishes from siblings like 'analyze_codebase' or 'update_context' by focusing on file generation rather than analysis or modification. However, it doesn't explicitly differentiate from 'enrich_context' or 'validate_context' which might have overlapping purposes.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'enrich_context', 'update_context', or 'validate_context'. It doesn't mention prerequisites (e.g., needing an analyzed codebase first) or exclusions (e.g., not for real-time monitoring). The agent must infer usage from the tool name and parameters alone.

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

update_contextC

Incrementally update existing context files based on code changes

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRoot directory path
changed_filesYesList of changed file paths
context_formatYesContext format to update
force_full_regenerationNoForce complete regeneration instead of incremental update

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 behavioral disclosure. It states the tool performs 'incremental updates' and mentions 'code changes,' but doesn't describe what 'context files' are, how updates are applied (e.g., merging, overwriting), potential side effects, or performance considerations. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action ('incrementally update') and key constraints ('existing context files,' 'based on code changes'). There is no wasted verbiage or redundant information, making it highly scannable and focused.

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's complexity (mutation with 4 parameters, no annotations, no output schema), the description is insufficient. It doesn't explain what 'context files' are, the impact of updates, error handling, or output format. While schema coverage is high, the description fails to compensate for the lack of behavioral context, making it incomplete for safe and effective use.

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 fully documents all parameters. The description adds no additional parameter semantics beyond what's in the schemaβ€”it doesn't explain relationships between parameters (e.g., how 'changed_files' interacts with 'context_format') or provide examples. This meets the baseline for high schema coverage but doesn't enhance understanding.

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 ('incrementally update') and target ('existing context files'), with the qualifier 'based on code changes' providing additional specificity. It distinguishes from siblings like 'generate_context' (likely creates new) and 'enrich_context' (likely adds content rather than updates based on changes). However, it doesn't explicitly contrast with all siblings like 'validate_context' or 'watch_project'.

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. It doesn't mention when incremental updates are appropriate versus full regeneration (hinted at by the 'force_full_regeneration' parameter), nor does it differentiate from siblings like 'enrich_context' or 'generate_context' in terms of use cases. The agent must infer usage from the tool name and parameters alone.

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

validate_contextC

Validate accuracy and completeness of generated context files

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRoot directory path
context_pathYesPath to context files to validate
checksNoValidation checks to perform

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 behavioral disclosure. It mentions validation of 'accuracy and completeness' but doesn't specify what validation entails (e.g., checks performed, output format, error handling, or permissions required). This leaves significant gaps in understanding the tool's behavior beyond its basic purpose.

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

Conciseness5/5

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

The description is a single, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance.

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 complexity of validation operations and the lack of annotations and output schema, the description is insufficient. It doesn't explain what validation results look like, what happens on failure, or how it interacts with sibling tools. For a tool with 3 parameters and no structured behavioral hints, more context is needed to be complete.

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 schema description coverage is 100%, so all parameters are documented in the schema. The description doesn't add any additional meaning or context for the parameters beyond what the schema provides (e.g., it doesn't explain what 'checks' might include or how 'path' and 'context_path' relate). Baseline 3 is appropriate when the schema handles parameter documentation adequately.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('validate') and resource ('generated context files'), and specifies what is being validated ('accuracy and completeness'). However, it doesn't explicitly differentiate this validation tool from sibling tools like 'analyze_codebase' or 'enrich_context', which might also involve context file operations.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'enrich_context' or 'update_context', nor does it mention prerequisites or exclusions. It simply states what the tool does without contextual usage information.

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

watch_projectB

Start monitoring project for changes and auto-update context

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRoot directory path to watch
context_formatsYesContext formats to auto-update
debounce_msNoDebounce delay in milliseconds
watch_patternsNoGlob patterns to watch

TDQS

B3.2/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 but lacks critical behavioral details. It mentions 'auto-update context' but doesn't specify what triggers updates, how long monitoring persists, resource implications, or error handling. The description is insufficient for a tool with ongoing side effects.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core functionality. Every word earns its place with no redundancy or fluff, making it highly concise and well-structured.

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's complexity (ongoing monitoring with side effects), no annotations, and no output schema, the description is incomplete. It lacks details on monitoring scope, update mechanisms, termination conditions, and error scenarios, leaving significant gaps for agent 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 description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional parameter semantics beyond what's in the schema, maintaining the baseline score of 3 for adequate coverage without extra value.

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

Purpose4/5

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

The description clearly states the tool's purpose with specific verbs ('Start monitoring', 'auto-update') and identifies the resource ('project for changes', 'context'). It distinguishes from siblings like 'update_context' by emphasizing continuous monitoring rather than one-time updates, though it doesn't explicitly name alternatives.

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 for continuous monitoring scenarios but doesn't explicitly state when to use this versus alternatives like 'update_context' for manual updates or 'enrich_context' for enhancement. No guidance on prerequisites or exclusions is provided.

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. Dates show when Glama detected each change.

  1. 9 tool updatesv1.0.0
    • First observedanalyze_codebase
    • First observedanalyze_dependencies
    • First observedenrich_context
    • First observedextract_api_surface
    • First observedextract_patterns
    • First observedgenerate_context
    • First observedupdate_context
    • First observedvalidate_context
    • First observedwatch_project

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, such as analyze_codebase for overall analysis, enrich_context for adding external knowledge, and watch_project for monitoring changes. However, analyze_codebase and analyze_dependencies could be slightly confusing as dependencies are part of codebase analysis, but their descriptions help clarify the separation.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with clear, descriptive names (e.g., analyze_codebase, enrich_context, extract_api_surface). There are no deviations in style or convention, making the set highly predictable and readable.

Tool Count5/5

With 9 tools, the count is well-scoped for the server's purpose of codebase analysis and context management. Each tool appears to serve a specific function in the workflow, from analysis to generation and validation, without feeling excessive or insufficient.

Completeness5/5

The tool set provides complete coverage for the domain of codebase context management, including analysis (analyze_codebase, analyze_dependencies), enrichment (enrich_context), extraction (extract_api_surface, extract_patterns), generation (generate_context), updating (update_context), validation (validate_context), and monitoring (watch_project). There are no obvious gaps, and the tools support a full lifecycle from initial analysis to ongoing maintenance.

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

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/mdz-axo/pt-mcp'

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