PT-MCP (Paul Test Man Context Protocol)
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PT-MCP (Paul Test Man Context Protocol)analyze the current project structure and dependencies"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 buildUsage
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_codebasetool - fully functionalStub implementations for remaining tools
Phase 2: Core Analysis (π§ In Progress)
Implement
generate_contexttoolImplement
extract_patternstoolImplement
analyze_dependenciestoolAdd tree-sitter integration for deep code analysis
Phase 3: Advanced Features (π Planned)
Implement
update_contexttool with incremental updatesImplement
watch_projecttool with file system monitoringImplement
extract_api_surfacetoolImplement
validate_contexttool
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.mdTesting
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.jsContributing
This is a work in progress. See the specification document for the full implementation roadmap.
Next Steps
Implement context file generators for different formats
Add tree-sitter integration for deeper code analysis
Implement pattern extraction algorithms
Add file system watching and incremental updates
Create comprehensive test suite
License
MIT
Related Projects
Giga AI - VS Code extension for context management
Kilo Code CLI - CLI wrapper for VS Code extensions
Model Context Protocol - Protocol specification
Available Tools
9 toolsanalyze_codebaseC
Perform comprehensive codebase analysis including structure, dependencies, and metrics
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Root directory path to analyze | |
| languages | No | Languages to analyze (auto-detect if omitted) | |
| depth | No | Analysis depth (1-5, default: 3) | |
| include_patterns | No | Glob patterns to include | |
| exclude_patterns | No | Glob patterns to exclude | |
| analysis_type | No | Analysis thoroughness level | standard |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Root directory path | |
| include_external | No | Include external package dependencies | |
| include_internal | No | Include internal module dependencies | |
| max_depth | No | Maximum dependency depth to traverse |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Root directory path | |
| analysis_result | No | Previous analysis result from analyze_codebase (optional) | |
| enrichment_level | No | Level of enrichment (minimal: frameworks+languages, standard: +dependencies, comprehensive: +dev deps+patterns) | standard |
| include_yago | No | Include YAGO knowledge graph entity linking | |
| include_schema | No | Include Schema.org semantic annotations | |
| max_entities | No | Maximum entities to resolve from YAGO |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Root directory path | |
| include_private | No | Include private/internal APIs | |
| output_format | No | Output format for API documentation | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Root directory path | |
| pattern_types | No | Types of patterns to extract (architectural, design, naming, testing) | |
| min_occurrences | No | Minimum occurrences to consider a pattern |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Root directory path | |
| format | Yes | Context file format to generate | |
| output_path | No | Output path for generated files (optional) | |
| analysis_result | No | Previous analysis result to use (optional) | |
| options | No | Format-specific options |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Root directory path | |
| changed_files | Yes | List of changed file paths | |
| context_format | Yes | Context format to update | |
| force_full_regeneration | No | Force complete regeneration instead of incremental update |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Root directory path | |
| context_path | Yes | Path to context files to validate | |
| checks | No | Validation checks to perform |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Root directory path to watch | |
| context_formats | Yes | Context formats to auto-update | |
| debounce_ms | No | Debounce delay in milliseconds | |
| watch_patterns | No | Glob patterns to watch |
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
v1.0.0- First observed
analyze_codebase - First observed
analyze_dependencies - First observed
enrich_context - First observed
extract_api_surface - First observed
extract_patterns - First observed
generate_context - First observed
update_context - First observed
validate_context - First observed
watch_project
TDQS
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.
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.
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.
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
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
AI-powered codebase analysis β call graphs, security, dead code, complexity. 150+ tools.
Codebase intelligence for agents: 152 structured artifacts across 21 programs, one call.
Ground-truth code graph for your codebase: exact callers, callees, symbols & dependencies.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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