Agentic MCP Server
Click on "Deploy 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., "@Agentic MCP ServerWrite a new file named config.json with default settings."
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.
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 |
| Writes file content with automatic backup creation. |
| • Path Traversal Protection: Writes only within project root.• Backups: Creates |
| Reads files relative to the project root. |
| • Sandboxed: Access restricted to project root.• Size Limit: Max 5MB per file to prevent context overflow. |
| Executes specific shell commands. |
| • Allowlist: Only runs |
| Fetches and converts documentation to Markdown. |
| • Host Allowlist: Restricted to trusted domains ( |
Related MCP server: universal-dev-mcp
🚀 Installation & Setup
Prerequisites
Node.js (v18 or higher recommended)
npm
Setup Steps
Clone and Install Dependencies:
npm installBuild the Server:
npm run buildThis 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 toolsatomic-writerB
Writes file content with automatic backup creation and path safety validation.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Filesystem path to write, relative or absolute to the project root. | |
| content | Yes | Content to persist to the target file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| path | Yes | |
| bytesWritten | Yes | |
| backupCreated | Yes |
TDQS
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.
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.
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.
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.
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.
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.
code-searchA
Performs regex or text searches over project files, excluding node_modules and .git.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search string or regex pattern. | |
| regex | No | Treat query as JavaScript regular expression. | |
| maxResults | No | Maximum number of matches to return (default 50, max 200). | |
| pathFilter | No | Optional substring filter applied to file paths. | |
| caseSensitive | No | Perform case-sensitive search when true. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| regex | Yes | |
| results | Yes | |
| truncated | Yes | |
| caseSensitive | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden and does disclose a non-obvious behavior: the automatic exclusion of node_modules and .git. It also implies a read-only operation, though it does not state defaults or side-effect guarantees beyond the schema.
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?
Single sentence with no redundant words; action, target, and exclusion are front-loaded and every phrase adds information.
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?
Output schema and fully described parameters cover invocation details; the description adds the crucial exclusion behavior. Missing is guidance on when to pick this over sibling tools, but that is a usage nuance rather than a completeness gap for a straightforward search tool.
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 coverage is 100%, so baseline 3 applies. The description does not add parameter-level meaning beyond the schema, but the schema already documents query, regex, maxResults, pathFilter, and caseSensitive 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?
States a specific action ('regex or text searches') with a clear resource ('project files') and important scope constraints (excludes node_modules and .git), making its intent unambiguous and distinguishable from siblings like fs-reader and project-topology.
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 cross-file code search but provides no explicit when-to-use guidance or exclusions vs alternatives such as fs-reader or git-observer. An agent can infer appropriate use from the wording but gets no direct routing help.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Remote documentation URL (must belong to an allow-listed host). | |
| maxBytes | No | Optional byte limit for downloaded content (default 1.5MB). | |
| timeoutMs | No | Optional request timeout in milliseconds (default 10000, max 20000). |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| bytes | Yes | |
| status | Yes | |
| markdown | Yes | |
| truncated | Yes | |
| contentType | No |
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 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Project-relative file path to read. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Base64-encoded file contents. |
| path | Yes | |
| size | Yes | |
| encoding | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Reference commit or branch for log/diff commands. | |
| path | No | Restrict diff output to a specific path (diff command). | |
| limit | No | Maximum number of log entries to return (log command). | |
| baseRef | No | Base reference when computing diffs (diff command). | |
| command | Yes | Git information command to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| log | No | |
| diff | No | |
| status | No | |
| command | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Optional message echoed back with the pong response. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| response | Yes | |
| receivedAt | Yes | ISO-8601 timestamp indicating when the request was processed. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Plan payload required for write action. | |
| file | No | Plan file name to read or write (omitting .plan.json is allowed). | |
| action | Yes | Operation to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| file | No | |
| plan | No | |
| files | No | |
| action | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Optional subdirectory (relative to project root) to serve as tree root. | |
| maxDepth | No | Maximum directory depth to traverse (default 3, max 10). |
Output Schema
| Name | Required | Description |
|---|---|---|
| root | Yes | |
| ignored | Yes | |
| truncated | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Optional list of arguments to pass to the command. | |
| command | Yes | Base command to execute from the allow list. | |
| timeoutMs | No | Execution timeout in milliseconds (default 30000, max 30000). |
Output Schema
| Name | Required | Description |
|---|---|---|
| args | Yes | |
| signal | Yes | |
| stderr | Yes | |
| stdout | Yes | |
| command | Yes | |
| exitCode | Yes | |
| timedOut | Yes | |
| durationMs | Yes | |
| stderrTruncated | Yes | |
| stdoutTruncated | Yes |
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 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.
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.
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.
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.
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.
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.
9 tool updates
v1.0.0- First observed
atomic-writer - First observed
code-search - First observed
doc-fetcher - First observed
fs-reader - First observed
git-observer - First observed
ping - First observed
plan-manager - First observed
project-topology - First observed
terminal-runner
TDQS
Scored across 9 tools
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.
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.
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.
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
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Securely search and manage workspace context files for AI agents and teams.
Give your AI hands. Identity, credential vault, and API gateway for autonomous agents.
Git-backed platform for skills, tools, and context for AI agents
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to autonomously navigate a codebase by listing directories, reading files, searching code, and running whitelisted commands.56 npmISC
- AlicenseAqualityCmaintenanceConnects AI tools to local dev servers, enabling them to view pages, call APIs, read/edit files, and run commands with safety guardrails.13MIT
- AlicenseNot gradedqualityAmaintenanceProvides AI clients with safe, structured access to local filesystem, Git repositories, and project contexts, featuring file operations, git status/diff, project management, and built-in code review/bug analysis prompts.681 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to securely interact with local files, live internet search, databases, and development tools through the Model Context Protocol, turning them into autonomous production-ready assistants.5MIT