Skip to main content
Glama
abhishekbhakat

mcp-server-code-assist

mcp-server-code-assist: A Code Assistant MCP Server

Overview

A Model Context Protocol server for code modification and generation. This server provides tools to create, modify, and delete code via Large Language Models.

Tools

  1. create

    • Creates new files

    • Input: XML instruction with path and content

    • Returns: Confirmation of file creation

  2. modify

    • Modifies existing files with search/replace

    • Input: XML instruction with path, search pattern, and new content

    • Returns: Diff of changes

  3. rewrite

    • Completely rewrites a file

    • Input: XML instruction with path and new content

    • Returns: Confirmation of rewrite

  4. delete

    • Removes files

    • Input: XML instruction with path

    • Returns: Confirmation of deletion

XML Format

<Plan>
Describe approach and reasoning
</Plan>

<file path="/path/to/file" action="create|modify|rewrite|delete">
  <change>
    <description>What this change does</description>
    <search>
===
Original code for modification
===
    </search>
    <content>
===
New or modified code
===
    </content>
  </change>
</file>

Related MCP server: Code Merge MCP

Installation

uvx mcp-server-code-assist

Using pip

pip install mcp-server-code-assist
python -m mcp_server_code_assist

Configuration

Usage with Claude Desktop

"mcpServers": {
  "code-assist": {
    "command": "uvx",
    "args": ["mcp-server-code-assist"]
  }
}
"mcpServers": {
  "code-assist": {
    "command": "docker",
    "args": ["run", "--rm", "-i", "--mount", "type=bind,src=/Users/username,dst=/Users/username", "mcp/code-assist"]
  }
}

Usage with Zed

Add to settings.json:

"context_servers": {
  "mcp-server-code-assist": {
    "command": {
      "path": "uvx",
      "args": ["mcp-server-code-assist"]
    }
  }
},

Development

cd src/code-assist
uvx mcp-server-code-assist

# For docker:
docker build -t mcp/code-assist .

License

MIT License. See LICENSE file for details.

Available Tools

12 tools
create_directoryD

Creates a new directory

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

D1.7/5.0
Behavior1/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 action ('creates') but fails to describe critical traits: whether this requires specific permissions, if it overwrites existing directories, what happens on success or error (e.g., returns a path or error message), or any rate limits. This is inadequate for a mutation tool with zero annotation coverage.

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 extremely concise with a single sentence ('Creates a new directory'), which is front-loaded and wastes no words. However, this conciseness comes at the cost of under-specification, but per the scoring rules, it earns full points for brevity and structure.

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

Completeness1/5

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

Given the tool's complexity (a mutation operation with no annotations), low schema coverage (0%), and no output schema, the description is completely inadequate. It lacks essential details: parameter meaning, behavioral traits, usage context, and expected outcomes. For a tool that creates directories—a potentially destructive or permission-sensitive action—this leaves the agent ill-equipped to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning the parameter 'path' is undocumented in the schema. The description adds no information about this parameter—it does not explain what 'path' represents (e.g., absolute or relative path, format requirements like slashes), valid values, or examples. With one required parameter and no compensation in the description, this is a significant gap.

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

Purpose2/5

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

The description 'Creates a new directory' is essentially a tautology that restates the tool name 'create_directory' with minimal elaboration. While it does specify the verb ('creates') and resource ('directory'), it lacks any distinguishing details from sibling tools like 'create_file' or specificity about what constitutes a directory in this context.

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

Usage Guidelines1/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 does not mention prerequisites (e.g., permissions, existing parent directories), exclusions (e.g., cannot create nested directories in one call), or comparisons to siblings like 'create_file' or 'list_directory'. This leaves the agent without context for tool selection.

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

create_fileC

Creates a new file with content

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
contentNo

TDQS

C2.8/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 states the action ('creates') but doesn't mention permissions needed, whether it overwrites existing files, error conditions, or what happens on success. This leaves significant gaps for a mutation 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 a single, efficient sentence with zero wasted words. It's appropriately sized for a basic tool and front-loads the essential information.

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 file creation tool with 2 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns, error conditions, or important behavioral aspects like whether it overwrites existing files at the same path.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but doesn't. It mentions 'content' but not 'path', and provides no details about parameter formats, constraints, or relationships. Both parameters remain essentially undocumented beyond their schema titles.

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 ('creates') and resource ('new file with content'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'modify_file' or 'rewrite_file', which also involve file content manipulation.

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 about when to use this tool versus alternatives like 'modify_file' (for existing files) or 'create_directory' (for directories). The description offers no context about prerequisites, constraints, or appropriate scenarios for file creation.

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

delete_fileC

Deletes a file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

C2.5/5.0
Behavior1/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. 'Deletes a file' implies a destructive, irreversible mutation, but the description doesn't specify whether deletion is permanent, requires specific permissions, has confirmation prompts, or what happens on success/failure. For a destructive tool with zero annotation coverage, this is critically inadequate.

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 extremely concise at just three words, with zero wasted language. It's front-loaded with the core action and resource. While it's too brief to be helpful, it earns full marks for conciseness as every word serves a purpose.

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

Completeness1/5

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

Given this is a destructive mutation tool with no annotations, 0% schema description coverage, no output schema, and multiple sibling tools that modify files, the description is completely inadequate. It doesn't address safety concerns, error conditions, return values, or differentiation from similar tools, leaving the agent with insufficient information to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter information beyond what the input schema provides. With 0% schema description coverage and 1 parameter ('path'), the description doesn't explain what 'path' represents (e.g., absolute vs relative, file system constraints), expected format, or examples. It fails to compensate for the schema's lack of descriptions.

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 verb ('Deletes') and resource ('a file'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'create_file', 'read_file', or 'modify_file' by specifying a deletion operation. However, it doesn't specify whether this is permanent deletion or moves to trash, which would make it more specific.

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 prerequisites (e.g., file must exist), when not to use it (e.g., for directories - though 'create_directory' is a sibling), or alternatives like moving to trash if available. With sibling tools like 'modify_file' and 'rewrite_file' that also alter files, the lack of differentiation 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.

file_treeC

Lists directory tree structure with git tracking support

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

C2.8/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 'git tracking support,' hinting at additional functionality beyond basic listing, but doesn't specify what that entails (e.g., shows git status per file, includes untracked files, or handles git repositories only). It lacks details on output format, error handling, or any constraints, making it insufficient for a mutation-free 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 a single, efficient sentence: 'Lists directory tree structure with git tracking support.' It's front-loaded with the core purpose and includes the key feature without unnecessary words. Every part earns its place, 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 moderate complexity (directory tree with git support), no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't explain the output (e.g., tree format, git indicators), error cases, or how git tracking integrates, leaving significant gaps for an AI agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter ('path') with 0% description coverage, so the schema provides no semantic details. The description adds no information about the parameter—it doesn't explain what 'path' represents (e.g., absolute vs. relative, default to current directory), its format, or any constraints. This fails to compensate for the low 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: 'Lists directory tree structure with git tracking support.' It specifies the verb ('Lists') and resource ('directory tree structure'), and adds the unique feature of 'git tracking support.' However, it doesn't explicitly distinguish it from sibling tools like 'list_directory' or 'git_status,' which prevents a perfect 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. It doesn't mention when to choose 'file_tree' over 'list_directory' (which might list files without tree structure or git info) or 'git_status' (which might show git status without a full tree). No exclusions or prerequisites are stated, leaving usage unclear.

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

git_diffD

Shows git diff

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathYes
targetYes

TDQS

D1.7/5.0
Behavior1/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. 'Shows git diff' gives no information about whether this is a read-only operation, what permissions might be required, whether it modifies any state, what format the output takes, or any error conditions. For a tool with two required parameters and no output schema, this is completely inadequate behavioral 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?

The description is maximally concise at just two words. While this represents severe under-specification, from a pure conciseness perspective, it contains zero wasted words and is front-loaded with the core function. Every word earns its place, even though those words provide insufficient information.

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

Completeness1/5

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

Given the tool has 2 required parameters, 0% schema description coverage, no annotations, no output schema, and multiple sibling git tools, the description is completely inadequate. 'Shows git diff' doesn't explain what the tool actually does, how to use its parameters, what behavior to expect, or how it differs from alternatives. This fails to provide the necessary context for an agent to effectively select and invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for both parameters (repo_path and target), the description provides absolutely no information about what these parameters mean or how they should be used. 'Shows git diff' doesn't mention parameters at all, leaving the agent with no guidance about what 'repo_path' and 'target' represent in the context of showing git differences.

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

Purpose2/5

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

The description 'Shows git diff' is essentially a tautology that restates the tool name with minimal elaboration. While it correctly identifies the verb ('shows') and resource ('git diff'), it lacks specificity about what 'git diff' means in this context or how it differs from similar operations like git_show or git_status among the sibling tools. The description doesn't clarify whether this shows differences between commits, branches, working directory changes, or other git comparisons.

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

Usage Guidelines1/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 git_log, git_show, and git_status available, there's no indication of what scenarios warrant using git_diff over these other git-related tools. No context about prerequisites, typical use cases, or exclusions is mentioned.

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

git_logC

Shows git commit history

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathYes
max_countNo

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. 'Shows git commit history' implies a read-only operation, but it doesn't specify output format (e.g., list of commits with metadata), pagination behavior (handled by max_count), or potential errors (e.g., invalid repo_path). For a tool with two parameters and no annotation coverage, this is insufficient.

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 extremely concise—a single three-word phrase—with zero wasted words. It's front-loaded with the core purpose. While brevity risks under-specification, every word ('Shows git commit history') directly contributes to understanding the tool's function, making it efficient in 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 the tool's moderate complexity (two parameters, no output schema, no annotations), the description is incomplete. It lacks details on parameter usage, output format, error conditions, and differentiation from sibling git tools. For a tool that interacts with version control systems, more context is needed to ensure reliable agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter descriptions. The tool description adds no information about parameters—it doesn't explain what 'repo_path' means (e.g., local path to git repository) or how 'max_count' affects output (e.g., limits number of commits shown). With two undocumented parameters, the description fails to compensate for the schema gap.

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 'Shows git commit history' clearly states the tool's function with a specific verb ('Shows') and resource ('git commit history'), distinguishing it from non-git siblings like file operations. However, it doesn't differentiate from other git tools (git_diff, git_show, git_status), leaving ambiguity about its specific scope within git 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. It doesn't mention when to prefer git_log over git_show (for viewing specific commits) or git_status (for current state), nor does it specify prerequisites like needing a git repository. This lack of context leaves 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.

git_showC

Shows git commit details

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathYes
revisionYes

TDQS

C2.6/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. 'Shows' implies a read-only operation, but it doesn't specify what 'details' include (e.g., commit message, author, diff), whether it requires git to be initialized, or if there are any error conditions. The description is too vague to inform the agent about how the tool behaves beyond a basic read action.

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 extremely concise with just three words: 'Shows git commit details.' It's front-loaded and wastes no words, making it easy to parse. However, this conciseness comes at the cost of completeness, as noted in other dimensions.

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 (a git tool with 2 required parameters), no annotations, 0% schema coverage, and no output schema, the description is incomplete. It doesn't explain what the tool returns, how to interpret parameters, or any behavioral nuances. For a tool that likely outputs structured commit data, this minimal description leaves significant gaps for the agent to operate effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the input schema provides no descriptions for the two parameters (repo_path and revision). The description 'Shows git commit details' doesn't add any semantic meaning to these parameters—it doesn't explain what repo_path should be (e.g., a file path or URL) or what revision entails (e.g., a commit hash, branch name). The description fails to compensate for the lack of schema documentation.

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 'Shows git commit details' clearly states the verb ('shows') and resource ('git commit details'), which is better than a tautology. However, it doesn't distinguish this from sibling tools like git_log or git_diff, which also show git-related information. The purpose is understandable but lacks specificity about what makes this tool unique.

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 git_show is appropriate compared to git_log (which might list commits) or git_diff (which shows changes). There's no context about prerequisites, such as needing a valid git repository or revision. The agent must 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.

git_statusC

Shows git repository status

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathYes

TDQS

C2.8/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. 'Shows' implies a read-only operation, but it doesn't specify what information is included in the status output, whether it's safe to run, or any performance considerations. The description is too minimal for a tool that likely returns complex repository state information.

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 maximally concise with just three words that directly convey the core function. There's zero wasted language, and it's perfectly front-loaded with the essential information.

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 git status tool with no annotations, no output schema, and 0% schema description coverage, the description is inadequate. It doesn't explain what information will be returned (staged/unstaged changes, untracked files, etc.), doesn't document the single parameter, and provides no behavioral context for a potentially complex operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but fails to do so. It mentions no parameters at all, leaving the single required 'repo_path' parameter completely undocumented. Users wouldn't know what format or constraints apply to the repository path.

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 verb ('shows') and resource ('git repository status'), making the purpose immediately understandable. However, it doesn't differentiate from sibling git tools like git_diff, git_log, or git_show, which prevents a perfect 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 git_diff or git_log. It doesn't mention prerequisites (e.g., needing a git repository) or context for when status checks are appropriate versus other git operations.

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

list_directoryC

Lists directory contents using system ls/dir command

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

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. It mentions using 'system ls/dir command', which implies platform-specific behavior (Unix vs. Windows) and potential command-line output formatting, but doesn't disclose critical details like error handling, permissions required, output format, or whether it's read-only (though implied by 'Lists'). This leaves significant gaps in behavioral understanding.

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 directly states the tool's function without unnecessary words. It's front-loaded with the core action and includes a useful implementation detail, 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 no annotations, no output schema, and low schema coverage, the description is incomplete for a tool that interacts with the filesystem. It lacks details on output format, error conditions, permissions, and how it differs from siblings like 'file_tree'. For a directory listing tool, this leaves the agent with insufficient context to use it effectively.

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 0%, with one parameter 'path' undocumented in the schema. The description adds no specific meaning about the parameter beyond what's implied by the tool name (e.g., it doesn't clarify if 'path' is absolute/relative, supports wildcards, or has default values). However, with only one parameter and a straightforward purpose, the baseline is met but not exceeded.

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 ('Lists directory contents') and the resource ('directory'), with the specific implementation detail 'using system ls/dir command' adding precision. However, it doesn't explicitly differentiate from sibling tools like 'file_tree' or 'read_file', which might have overlapping functionality for directory inspection.

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 siblings like 'file_tree' that might also list directory contents, there's no indication of when this tool is preferred or what its specific scope or limitations are compared to others.

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

modify_fileC

Modifies parts of a file using string replacements

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
replacementsYes

TDQS

C2.8/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. It states the tool modifies a file, implying mutation, but doesn't disclose critical behavioral traits: whether it requires write permissions, if changes are destructive or reversible, error handling (e.g., for invalid paths), or output format. The description is minimal and lacks necessary context for safe operation.

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 with zero waste. It is front-loaded with the core action and mechanism, making it easy to parse. Every word earns its place, though this conciseness comes at the cost of 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 (mutation tool with 2 parameters, 0% schema coverage, no annotations, no output schema), the description is inadequate. It doesn't explain return values, error conditions, or behavioral nuances. For a tool that modifies files, more context is needed to ensure correct and safe usage, especially with sibling tools like 'rewrite_file' present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions 'string replacements' which hints at the 'replacements' parameter, but doesn't explain the structure (object mapping) or the 'path' parameter's role. No details on format, constraints, or examples are provided, leaving significant gaps beyond the schema's basic property definitions.

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 verb ('modifies') and resource ('parts of a file') with the specific mechanism 'using string replacements'. It distinguishes from siblings like 'rewrite_file' (likely full rewrite) and 'read_file' (read-only), though it doesn't explicitly name alternatives. The purpose is specific but lacks explicit sibling differentiation.

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 'rewrite_file' or 'create_file'. It doesn't mention prerequisites (e.g., file must exist), exclusions, or typical use cases. The context is implied but not articulated, leaving the agent to infer usage from 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.

read_fileC

Reads file content

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

C2.4/5.0
Behavior1/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. 'Reads file content' implies a read-only operation, but it doesn't disclose any behavioral traits such as error handling (e.g., what happens if the file doesn't exist or isn't readable), performance characteristics, encoding considerations, or what 'content' specifically includes (e.g., binary vs. text). This leaves significant gaps for an agent to understand how to use 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.

Conciseness5/5

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

The description is extremely concise with just three words, front-loaded with the core action. There's no wasted language or unnecessary elaboration, making it easy to parse quickly.

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 (a file operation with no annotations, 0% schema coverage, and no output schema), the description is incomplete. It doesn't provide enough context for an agent to reliably invoke the tool, missing details on parameters, behavior, and output. For a tool that reads files, more information is needed to ensure correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning beyond what the input schema provides. With 0% schema description coverage and one parameter ('path'), the schema only indicates it's a required string. The description doesn't explain what 'path' represents (e.g., absolute vs. relative, file system specifics), its format, or any constraints, failing to compensate for the low 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 'Reads file content' clearly states the verb ('reads') and resource ('file content'), making the basic purpose understandable. However, it doesn't distinguish this tool from potential sibling read operations (like 'git_show' or 'git_diff' which might also read file content), and it's somewhat vague about what exactly is being read (e.g., metadata vs. content).

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 siblings like 'git_show', 'git_diff', 'file_tree', and 'list_directory' that might involve reading file information, there's no indication of when 'read_file' is the appropriate choice versus these other tools.

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

rewrite_fileC

Rewrites entire file content

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
contentYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. 'Rewrites entire file content' implies a destructive mutation (overwrites existing content), but it doesn't address permissions, error handling (e.g., if file doesn't exist), or side effects. This is a significant gap for a mutation tool with zero annotation coverage.

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 with zero waste. It's appropriately sized and front-loaded, making it easy to parse quickly, though it sacrifices detail for 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?

Given the complexity (a destructive file operation), no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on behavior, error cases, and output, making it insufficient for safe and effective tool invocation by an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions 'file content' which hints at the 'content' parameter, but doesn't explain 'path' or add meaning beyond the schema's basic titles. With 2 parameters and no schema descriptions, this is inadequate.

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 'Rewrites entire file content' clearly states the action (rewrites) and target (file content), but it's vague about scope and lacks differentiation from sibling tools like 'modify_file'. It doesn't specify whether this replaces all content or handles partial updates, making it adequate but with clear gaps.

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 like 'modify_file' or 'create_file'. The description implies a full rewrite but doesn't mention prerequisites (e.g., file must exist), exclusions, or specific contexts, leaving the agent without usage direction.

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
Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity. For example, create_file vs. modify_file vs. rewrite_file handle different file operations, while git tools target specific git commands. The descriptions make it easy to tell tools apart.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case throughout. The naming is predictable and readable, such as create_directory, list_directory, git_status, and modify_file, with no deviations in style.

Tool Count5/5

With 12 tools, the count is well-scoped for code assistance, covering file operations and git commands. Each tool earns its place without feeling excessive or thin, aligning with the server's purpose.

Completeness4/5

The tool surface is nearly complete for code assistance, covering file CRUD and key git operations. Minor gaps exist, such as no git commit or branch management tools, but agents can work around this with the provided tools.

Maintenance

ActivityInactive
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

  • -
    license
    A
    quality
    Not graded
    maintenance
    A Model Context Protocol server that allows LLMs to interact with Python environments, enabling code execution, file operations, package management, and development workflows.
    9
  • A
    license
    A
    quality
    B
    maintenance
    A robust, language-agnostic Model Context Protocol (MCP) server that provides AI coding agents with the ability to edit files surgically via Abstract Syntax Trees (AST) instead of relying on token-heavy, brittle search-and-replace or diff operations.
    28
    7
    MIT

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/abhishekbhakat/mcp_server_code_assist'

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