Skip to main content
Glama
lucastl

Agentic MCP Server

by lucastl

Agentic MCP Server

This Agentic MCP Server acts as the "Hands and Eyes" for an Autonomous AI Agent, bridging the gap between Large Language Models and your local development environment. It enables "Spec-Driven Development" by providing safe, controlled access for file manipulation, context reading, command execution, and documentation verification.

🛠️ Tools Reference

The server currently exposes 4 active tools designed with strict safety mechanisms to ensure secure operation.

Tool Name

Description

Input Parameters

Safety Mechanisms

atomic-writer

Writes file content with automatic backup creation.

path (string)content (string)

Path Traversal Protection: Writes only within project root.Backups: Creates .bak files before overwriting.Blocked Files: Prevents overwriting critical config (e.g., mcp_manifest.json).

fs-reader

Reads files relative to the project root.

path (string)

Sandboxed: Access restricted to project root.Size Limit: Max 5MB per file to prevent context overflow.

terminal-runner

Executes specific shell commands.

command (enum: npm, node, tsc)args (string[])timeoutMs (number)

Allowlist: Only runs npm, node, and tsc.Timeout: Enforced execution limits (default 30s).Input Sanitization: Prevents command injection.

doc-fetcher

Fetches and converts documentation to Markdown.

url (string)timeoutMs (number)maxBytes (number)

Host Allowlist: Restricted to trusted domains (github.com, gitlab.com, developer.mozilla.org).Size Cap: Max 1.5MB download limit.

Related MCP server: universal-dev-mcp

🚀 Installation & Setup

Prerequisites

  • Node.js (v18 or higher recommended)

  • npm

Setup Steps

  1. Clone and Install Dependencies:

    npm install
  2. Build the Server:

    npm run build

    This compiles the TypeScript source into the dist/ directory.

🔌 Client Configuration

To use this server with an MCP-compatible client (like Claude Desktop), add the following configuration to your settings file (e.g., claude_desktop_config.json).

{
  "mcpServers": {
    "agentic-server": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/mcp-agentic-jvl/dist/index.js"
      ]
    }
  }
}

Note: Replace /ABSOLUTE/PATH/TO/... with the actual full path to your project directory.

🚧 Roadmap / Coming Soon

The following features are currently in development:

  • PostgreSQL Introspection (sql_db_inspector): A tool to safely inspect database schemas and table structures to assist with database-related tasks.

Available Tools

9 tools
atomic-writerB

Writes file content with automatic backup creation and path safety validation.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFilesystem path to write, relative or absolute to the project root.
contentYesContent to persist to the target file.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathYes
bytesWrittenYes
backupCreatedYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It does disclose two meaningful behaviors: backup creation and path safety validation. However, it omits notable traits such as atomicity (despite the tool name 'atomic-writer'), overwrite behavior, permission requirements, or what happens if a backup already exists.

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

Conciseness5/5

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

A single, front-loaded sentence that names the action first and then packs in the two key behavioral traits. No filler or redundant restating of the schema.

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

Completeness3/5

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

For a mutation tool with no annotations, the description is somewhat thin. It covers what and key safety behaviors, and an output schema exists so return values need not be described. But it lacks usage routing, explicit mention of atomicity, and clarification of overwrite semantics, leaving an agent to infer important invocation context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both path and content. The description adds no parameter-specific meaning beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

States a specific verb and resource: 'Writes file content', and adds distinguishing features (automatic backup creation, path safety validation). It is clearly a write tool and not a read or planning tool, but it does not explicitly differentiate itself from sibling write-capable tools like terminal-runner.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not mention that fs-reader should be used for reading, or that terminal-runner might be an alternative for shell-based writes. Usage context is entirely implied by the tool name and description.

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

doc-fetcherA

Fetches allow-listed documentation URLs and returns Markdown-formatted content.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesRemote documentation URL (must belong to an allow-listed host).
maxBytesNoOptional byte limit for downloaded content (default 1.5MB).
timeoutMsNoOptional request timeout in milliseconds (default 10000, max 20000).

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
bytesYes
statusYes
markdownYes
truncatedYes
contentTypeNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose two important behaviors: only allow-listed URLs are accepted, and content is returned as Markdown. However, it does not mention what happens on disallowed hosts, authentication requirements, rate limits, or failure modes, which are material for a network-fetching 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 front-loaded sentence that immediately communicates the action, target, and output format. Every word earns its place, and there is no filler or redundant restatement of the tool name.

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

Completeness4/5

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

For a low-to-moderate complexity tool, the description covers the key constraints (allow-listed URLs, Markdown output), and the schema covers parameter defaults and limits. An output schema exists, so return-value details are not the description's burden. It could still mention error behavior or authentication context, but nothing essential for basic invocation is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents all three parameters with meaningful descriptions. The tool description adds no extra parameter-level detail beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description names a specific verb ('Fetches'), a concrete resource ('allow-listed documentation URLs'), and a clear output ('Markdown-formatted content'). This makes the tool's purpose immediately distinguishable from siblings like fs-reader and code-search, which operate on local files and code rather than remote documentation URLs.

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

Usage Guidelines3/5

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

The description implies the tool is for retrieving remote documentation from allow-listed hosts and returning it in Markdown, which gives some usage context. However, it does not explicitly state when to prefer this tool over alternatives, nor does it mention exclusions such as 'not for arbitrary URLs' or 'not for local files.'

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

fs-readerA

Reads files relative to the project root with a 5MB size cap.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesProject-relative file path to read.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYesBase64-encoded file contents.
pathYes
sizeYes
encodingYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It discloses the 5MB cap and project-root scoping, but does not describe behavior for missing files, over-cap files, binary content, or encoding. The read-only nature is implied by 'Reads'.

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

Conciseness5/5

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

A single, front-loaded sentence states the purpose, scope, and constraint with no filler. Every word earns its place.

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

Completeness4/5

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

This is a low-complexity single-parameter read tool and an output schema exists, so the description does not need to explain return values. The description plus schema cover the essential invocation details. Minor gaps around handling large or missing files are not critical for basic use.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents 'path' as a project-relative file path. The description reinforces the project-root relativity, which is helpful, but it does not add further parameter semantics such as path format or unsupported patterns. Baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('Reads'), a clear resource ('files relative to the project root'), and a distinguishing constraint (5MB size cap). It clearly separates this tool from siblings like code-search, which searches code, and project-topology, which describes structure.

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

Usage Guidelines3/5

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

The usage context is implied: use this tool when you need file content from the project root. However, it does not explicitly say when not to use it or name alternatives, leaving some routing decisions to inference.

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

git-observerA

Provides read-only git status, log, and diff information.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoReference commit or branch for log/diff commands.
pathNoRestrict diff output to a specific path (diff command).
limitNoMaximum number of log entries to return (log command).
baseRefNoBase reference when computing diffs (diff command).
commandYesGit information command to execute.

Output Schema

ParametersJSON Schema
NameRequiredDescription
logNo
diffNo
statusNo
commandYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It explicitly advertises 'read-only', which tells the agent there are no mutating side effects. However, it does not mention other behavioral traits such as whether it requires being inside a git repository, how it handles errors, or that the command parameter selects the specific 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?

A single, front-loaded sentence conveys the core purpose with zero wasted words. It is appropriately sized for the tool's simplicity.

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

Completeness4/5

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

The tool is simple, the schema fully documents all five parameters with descriptions, and an output schema exists so return values do not need explanation. The only notable gap is the lack of guidance about which sibling to choose for git operations, but that is covered more under usage guidelines than completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning about the parameters beyond what the schema already provides, and it does not clarify interactions between command and the optional parameters beyond what is in the schema.

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

Purpose4/5

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

Description names a specific resource ('git status, log, and diff information') and a key attribute ('read-only'), making the tool's function clear. It does not explicitly contrast with siblings like terminal-runner, but the read-only scope and observer name strongly imply a safe inspection role.

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

Usage Guidelines3/5

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

The description implies when to use the tool: when the agent needs read-only git status, log, or diff information. It provides no explicit guidance on when not to use it or how it compares to terminal-runner for executing git commands, leaving the routing decision partially to inference.

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

pingA

Responds with a pong acknowledgement and timestamp to verify connectivity.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageNoOptional message echoed back with the pong response.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
responseYes
receivedAtYesISO-8601 timestamp indicating when the request was processed.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It explicitly states the response behavior (pong acknowledgement and timestamp) and the purpose, which is sufficient for a non-destructive ping utility.

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, front-loaded sentence with no wasted words. It states the outcome and the purpose efficiently.

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

Completeness5/5

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

This is a very simple tool with one optional parameter and an output schema available. The description, combined with the schema, provides everything an agent needs to invoke it correctly and interpret the basic response.

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 has 100% description coverage for the only parameter (message), stating it is echoed back with the pong response. The tool description adds no parameter-level detail, but it does not need to because the schema fully documents it.

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

Purpose5/5

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

The description uses a specific verb ('Responds'), identifies the resource ('pong acknowledgement and timestamp'), and states the purpose ('verify connectivity'). It is distinct from all sibling tools, none of which are connectivity checks.

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

Usage Guidelines4/5

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

The description clearly implies the tool should be used to verify connectivity or availability, which is adequate context for such a simple utility. No explicit exclusions or alternatives are needed since no sibling tool provides an overlapping function.

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

plan-managerA

Lists, reads, and writes .plan.json files under docs/archive.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNoPlan payload required for write action.
fileNoPlan file name to read or write (omitting .plan.json is allowed).
actionYesOperation to execute.

Output Schema

ParametersJSON Schema
NameRequiredDescription
fileNo
planNo
filesNo
actionYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral transparency burden. It does disclose that write operations are possible and constrains all operations to docs/archive, which is useful. However, it does not explain overwrite/create behavior, file-resolution rules, or any side effects of the write action, leaving important behavioral details unspecified.

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 entire description is a single front-loaded sentence that states the actions and scope without redundancy. Every word contributes to the agent's understanding, and no schema content is unnecessarily repeated.

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

Completeness3/5

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

Full parameter descriptions, an action enum, and an output schema make the basic invocation understandable. The main completeness gap is the absence of write-safety context and alternative-tool routing, but for a narrowly scoped plan-file manager the description is minimally viable.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters already have meaningful documentation in the input schema. The description adds only the .plan.json and docs/archive context, not parameter-level detail, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description states specific verbs ('Lists, reads, and writes') and a precise resource target ('.plan.json files under docs/archive'). This clearly distinguishes the tool from generic sibling tools like fs-reader or atomic-writer by file type and path scope.

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

Usage Guidelines3/5

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

The scope is implied: use this tool for .plan.json files under docs/archive. However, the description gives no explicit guidance about when NOT to use it or when to prefer siblings such as fs-reader or atomic-writer, so the agent must infer the usage boundary.

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

project-topologyA

Produces a directory tree snapshot rooted at the project base, excluding ignored directories.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoOptional subdirectory (relative to project root) to serve as tree root.
maxDepthNoMaximum directory depth to traverse (default 3, max 10).

Output Schema

ParametersJSON Schema
NameRequiredDescription
rootYes
ignoredYes
truncatedYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It does this well by framing the operation as a read-only 'snapshot' and by specifying that ignored directories are excluded. It does not mention side effects or authentication, but those are not significant concerns for a directory tree traversal 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, tightly worded sentence with no unnecessary content. It front-loads the main action and immediately communicates the root scope and exclusion behavior, making it highly efficient for an agent to parse.

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

Completeness4/5

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

The description, combined with a complete input schema and an output schema, provides enough information for an agent to invoke the tool correctly. It clearly states the root, exclusion behavior, and optional parameters. It falls just short of complete because it does not offer any guidance on when this is preferable to sibling tools or mention potential traversal costs.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both parameters (path and maxDepth). The description adds no parameter-level detail, but the baseline of 3 applies because the structured schema handles parameter semantics completely.

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

Purpose5/5

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

The description uses a specific verb ('Produces') and resource ('directory tree snapshot'), and clearly defines the scope ('rooted at the project base') and key exclusion behavior ('excluding ignored directories'). This makes it easy to distinguish from siblings like fs-reader or code-search, which serve different purposes.

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

Usage Guidelines3/5

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

The description implies when to use the tool—when a structural snapshot of the project is needed—but it does not explicitly state when not to use it or mention alternatives. There is no direct comparison to sibling tools such as fs-reader or code-search, so usage guidance remains implicit rather than explicit.

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

terminal-runnerA

Executes allow-listed shell commands (npm, node, tsc) with enforced timeout and captured output.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoOptional list of arguments to pass to the command.
commandYesBase command to execute from the allow list.
timeoutMsNoExecution timeout in milliseconds (default 30000, max 30000).

Output Schema

ParametersJSON Schema
NameRequiredDescription
argsYes
signalYes
stderrYes
stdoutYes
commandYes
exitCodeYes
timedOutYes
durationMsYes
stderrTruncatedYes
stdoutTruncatedYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the allow-list restriction, enforced timeout, and captured output, which are meaningful traits. However, it does not warn that npm/node/tsc commands can have side effects on the filesystem or describe exit-code/error behavior, which is a notable gap for a command-execution 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 sentence that front-loads the core action, then efficiently adds the command list and the two key behavioral constraints. Every phrase earns its place with no fluff or repetition.

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

Completeness4/5

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

Given the tool's moderate complexity, the presence of an output schema, and full schema parameter coverage, the description is mostly complete. It covers the essential operational details (scope, timeout, output capture) even though it omits side-effect warnings and explicit usage boundaries, which are already partially addressed by the clear purpose.

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

Parameters3/5

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

Schema description coverage is 100%, so each parameter (command, args, timeoutMs) is already documented in the schema. The description adds context about the allow-list and timeout but does not materially extend parameter meaning beyond the schema, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description starts with a specific verb ('Executes') and a concrete resource ('allow-listed shell commands'), then enumerates the exact commands (npm, node, tsc). It also names two behavioral constraints, enforced timeout and captured output, which fully disambiguates it from sibling tools like ping, fs-reader, or git-observer.

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

Usage Guidelines4/5

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

The description clearly implies when to use this tool: whenever an agent needs to run npm, node, or tsc commands. The sibling list contains no other shell-execution tool, so the alternatives are implicitly clear. However, it does not explicitly state when not to use it or name a specific alternative, so it stops short of full exclusion guidance.

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.

  1. 9 tool updatesv1.0.0
    • First observedatomic-writer
    • First observedcode-search
    • First observeddoc-fetcher
    • First observedfs-reader
    • First observedgit-observer
    • First observedping
    • First observedplan-manager
    • First observedproject-topology
    • First observedterminal-runner

TDQS

A3.9/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct concern: connectivity, file reading, planning, search, git inspection, writing, command execution, project structure, and documentation fetching. There is no meaningful overlap that would cause an agent to select the wrong tool.

Naming Consistency4/5

Most names follow a consistent lowercase hyphenated compound pattern like fs-reader, git-observer, and terminal-runner. The lone ping is a minor deviation, but overall the style is predictable and readable.

Tool Count5/5

Nine tools is well-scoped for an agentic coding assistance server. Each tool earns its place and the set is neither bloated nor too thin.

Completeness4/5

The tool set covers the core agent loop: reading, writing, searching, executing, inspecting git state, planning, and fetching docs. Minor gaps like file deletion/rename and git write operations are present, but they are not critical for many workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers