Skip to main content
Glama
theburgerllc

AI Development Pipeline MCP

by theburgerllc

AI Development Pipeline MCP Integration

A comprehensive Model Context Protocol (MCP) server implementation that enables seamless integration between Claude AI, VSCode, Augment, and various cloud services including Vercel, Airtable, and Square.

๐Ÿš€ Features

  • Local MCP Server: Direct stdio integration with Claude Desktop

  • Cloud MCP Server: HTTP endpoint for web-based Claude integration

  • 7 Powerful MCP Tools: File operations, shell commands, and AI agent integration

  • Multi-Platform Support: Windows (PowerShell) and Unix (Bash) startup scripts

  • Production Ready: Vercel deployment configuration included

Related MCP server: My MCP Server

๐Ÿ“‹ Prerequisites

  • Node.js 18+ and npm

  • TypeScript and ts-node

  • Claude Desktop (for local integration)

  • Vercel account (for cloud deployment)

๐Ÿ› ๏ธ Installation

  1. Clone the repository:

git clone https://github.com/yourusername/ai-development-pipeline-mcp.git
cd ai-development-pipeline-mcp
  1. Install dependencies:

npm install
  1. Configure environment variables:

cp .env.example .env
# Edit .env with your API keys and configuration

๐Ÿ”ง Configuration

Create a .env file in the root directory with the following variables:

# Vercel Configuration
VERCEL_TOKEN=your_vercel_token_here
VERCEL_PROJECT_ID=your_project_id_here

# Airtable Configuration  
AIRTABLE_API_KEY=your_airtable_api_key_here
AIRTABLE_BASE_ID=your_base_id_here
AIRTABLE_TABLE_NAME=your_table_name_here

# Square Configuration
SQUARE_APPLICATION_ID=your_square_app_id_here
SQUARE_ACCESS_TOKEN=your_square_access_token_here

# Analytics Configuration
ANALYTICS_SECRET=your_analytics_secret_here
NEXT_PUBLIC_APP_URL=https://your-app-url.vercel.app

๐Ÿ–ฅ๏ธ Local MCP Server Setup

For Windows (PowerShell):

.\start-mcp.ps1

For Unix/Linux/macOS (Bash):

chmod +x start-mcp.sh
./start-mcp.sh

Manual Start:

npx ts-node local-mcp-server.ts

๐Ÿ”— Claude Desktop Integration

  1. Start the local MCP server using one of the methods above

  2. Configure Claude Desktop by adding the following to your Claude Desktop configuration:

{
  "mcpServers": {
    "ai-development-pipeline": {
      "command": "npx",
      "args": ["ts-node", "/path/to/your/project/local-mcp-server.ts"],
      "env": {}
    }
  }
}
  1. Restart Claude Desktop to load the MCP server

โ˜๏ธ Cloud Deployment (Vercel)

  1. Connect to GitHub:

    • Go to Vercel Dashboard

    • Click "New Project" and import your GitHub repository

    • Vercel will automatically detect the configuration

  2. Manual Deployment:

npm install -g vercel
vercel deploy --prod

Build Configuration

The project includes a vercel.json configuration that handles:

  • TypeScript compilation

  • API route setup

  • CORS headers

  • Output directory configuration

Environment Variables

Configure these in your Vercel dashboard:

  • AIRTABLE_API_KEY

  • AIRTABLE_BASE_ID

  • AIRTABLE_TABLE_NAME

  • SQUARE_ACCESS_TOKEN

  • SQUARE_APPLICATION_ID

  • NEXTAUTH_SECRET

  • MCP_API_KEY

  • All other variables from .env.example

Claude Integration

Add to Claude as an HTTP MCP server:

  • URL: https://your-app.vercel.app/api/mcp

  • Method: POST

  • Headers: Content-Type: application/json

๐Ÿ› ๏ธ Available MCP Tools

The server provides 7 powerful tools for AI-driven development:

  1. read_project_file - Read files from the workspace

  2. write_project_file - Write/update files in the workspace

  3. run_shell_command - Execute shell commands (npm, git, etc.)

  4. check_file_exists - Check if files exist

  5. list_directory_files - List directory contents

  6. run_augment_prompt - Send prompts to Augment coding agent

  7. run_project_tests - Execute project tests

๐Ÿ“ Project Structure

ai-development-pipeline-mcp/
โ”œโ”€โ”€ app/
โ”‚   โ””โ”€โ”€ api/
โ”‚       โ””โ”€โ”€ mcp/
โ”‚           โ””โ”€โ”€ route.ts          # Cloud MCP endpoint
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ hello.ts                  # Example TypeScript module
โ”œโ”€โ”€ local-mcp-server.ts           # Local MCP server implementation
โ”œโ”€โ”€ start-mcp.sh                  # Unix startup script
โ”œโ”€โ”€ start-mcp.ps1                 # Windows startup script
โ”œโ”€โ”€ package.json                  # Dependencies and scripts
โ”œโ”€โ”€ tsconfig.json                 # TypeScript configuration
โ”œโ”€โ”€ .env.example                  # Environment template
โ””โ”€โ”€ README.md                     # This file

๐Ÿงช Testing

Run the TypeScript compiler to check for errors:

npx tsc --noEmit

Test the local MCP server:

npx ts-node local-mcp-server.ts

๐Ÿ”’ Security Considerations

  • Never commit .env files - They contain sensitive API keys

  • Use environment variables for all secrets in production

  • Review API permissions before deploying to production

  • Enable proper authentication for cloud deployments

๐Ÿค Contributing

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ†˜ Troubleshooting

Common Issues:

"Module not found" errors:

  • Ensure all dependencies are installed: npm install

  • Check TypeScript configuration in tsconfig.json

MCP server won't start:

  • Verify Node.js version (18+ required)

  • Check that ts-node is available: npx ts-node --version

Claude Desktop integration issues:

  • Ensure the MCP server is running before starting Claude

  • Check the file path in Claude Desktop configuration

  • Restart Claude Desktop after configuration changes

Getting Help:

๐Ÿ“Š Project Status

โœ… Ready for Production

  • Local MCP server fully functional

  • Cloud deployment configured

  • All 7 MCP tools tested and validated

  • Cross-platform startup scripts included

  • Comprehensive documentation provided


Built with โค๏ธ for the AI development community

Available Tools

7 tools
check_file_existsB

Check if a local file exists (restricted to workspace directory)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool checks file existence and is restricted to the workspace directory, which adds some context about scope. However, it doesn't describe what the tool returns (e.g., boolean, error messages), whether it requires specific permissions, or any rate limits. For a tool with zero annotation coverage, this is a significant gap in 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 a single, efficient sentence that is front-loaded with the core purpose ('Check if a local file exists') and includes essential context ('restricted to workspace directory'). There is zero waste, and every word earns its place, making it appropriately sized and well-structured.

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

Completeness2/5

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

Given the tool's complexity (simple existence check), no annotations, no output schema, and low schema description coverage (0%), the description is incomplete. It doesn't explain the return value (e.g., success/failure indicators), error handling, or detailed parameter usage. For a tool with no structured data support, the description should provide more context to be fully helpful.

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, meaning the schema provides no details about the parameter. The description doesn't add any meaning beyond what's implied by the tool name; it doesn't explain what 'path' should be (e.g., relative to workspace, file extension requirements). With low schema coverage, the description fails to compensate adequately, leaving the parameter semantics unclear.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('Check') and resource ('local file'), and specifies the scope ('restricted to workspace directory'). It distinguishes from siblings like 'list_directory_files' (which lists files) and 'read_project_file' (which reads content), but doesn't explicitly differentiate from them. The purpose is clear 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 Guidelines3/5

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

The description implies usage context by mentioning 'restricted to workspace directory', suggesting when to use it (for local file existence checks within the workspace). However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'list_directory_files' (for listing files) or 'read_project_file' (for reading files), nor does it mention prerequisites or exclusions. Usage is implied but not fully articulated.

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

list_directory_filesC

List files in a workspace directory (restricted to workspace directory)

ParametersJSON Schema
NameRequiredDescriptionDefault
dirYes

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 mentions the workspace restriction but doesn't describe what the tool returns (file names, metadata, structure), whether it's paginated, what errors might occur, or any performance characteristics. This leaves significant gaps in understanding how the tool behaves.

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 sentence that states the core purpose. There's no wasted verbiage or unnecessary elaboration. It's appropriately sized for a simple listing tool.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and 0% schema description coverage, the description is insufficient. It doesn't explain what the tool returns, how to interpret results, error conditions, or provide enough context for reliable use. The workspace restriction is mentioned but not elaborated.

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 schema has 0% description coverage for the single 'dir' parameter. The description doesn't explain what format 'dir' should be (path syntax, relative vs absolute), what constitutes a valid workspace directory, or provide any examples. This leaves the parameter meaning unclear despite the simple schema.

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

Purpose4/5

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

The description clearly states the verb ('List') and resource ('files in a workspace directory'), making the purpose understandable. However, it doesn't distinguish this tool from potential siblings like 'check_file_exists' or 'read_project_file' beyond mentioning the restriction to workspace directories.

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 'check_file_exists' or 'read_project_file'. It mentions the restriction to workspace directories but doesn't explain why this matters or what happens if you try to list non-workspace files.

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

read_project_fileB

Read a local file from the VS Code workspace (restricted to workspace directory)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

B3/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 the restriction to the workspace directory, which is useful behavioral context. However, it lacks details on error handling (e.g., what happens if the file doesn't exist), permissions, or return format, leaving significant gaps for a read operation 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 that front-loads the core purpose ('Read a local file') and adds necessary context ('from the VS Code workspace') and restriction ('restricted to workspace directory') without any wasted words, 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, 0% schema coverage, and no output schema, the description is incomplete. It covers the basic action and scope but misses critical details like parameter specifics, error behavior, and return values, which are essential for a file read tool in this context.

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%, with one parameter 'path' undocumented in the schema. The description adds minimal semantics by implying 'path' refers to a file path within the workspace, but doesn't specify format (e.g., relative vs. absolute), constraints, or examples, 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.

Purpose4/5

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

The description clearly states the action ('Read') and resource ('a local file from the VS Code workspace'), making the purpose understandable. It distinguishes from siblings like 'write_project_file' by specifying read vs. write, but doesn't explicitly differentiate from 'check_file_exists' or 'list_directory_files' which also involve file operations.

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

Usage Guidelines3/5

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

The description implies usage context by mentioning 'restricted to workspace directory', suggesting it's for accessing files within the workspace. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'check_file_exists' for existence checks or 'list_directory_files' for directory listings, leaving usage somewhat ambiguous.

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

run_augment_promptC

Send a prompt to the local Augment coding agent

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions sending a prompt but doesn't explain what the agent does (e.g., generates code, provides explanations), potential side effects, authentication needs, rate limits, or response format. This leaves significant gaps in understanding the tool's behavior.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, clearly stating the tool's purpose without 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 of interacting with a coding agent, no annotations, no output schema, and low schema coverage, the description is incomplete. It fails to address key aspects like what the agent does, response expectations, or error handling, leaving the agent unsure of the tool's full context and behavior.

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

Parameters3/5

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

The description adds minimal meaning beyond the input schema, which has 0% coverage. It implies the 'prompt' parameter is a string sent to the agent, but doesn't specify format, content expectations, or constraints. With low schema coverage, the description doesn't fully compensate, resulting in a baseline score due to the single parameter.

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 ('Send a prompt') and target ('to the local Augment coding agent'), providing specific verb+resource. However, it doesn't differentiate from sibling tools like 'run_shell_command' or 'run_project_tests' that might also involve execution, leaving room for improvement in distinguishing its unique role.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description lacks context about its intended use cases, prerequisites, or exclusions, such as whether it's for code generation, debugging, or other tasks compared to siblings like 'run_shell_command' or 'run_project_tests'.

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

run_project_testsB

Run project tests (npm test, yarn test, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool runs tests but lacks details on execution context (e.g., in a specific directory, with environment variables), error handling, output format, or side effects. This is inadequate for a tool that performs an action with potential runtime implications.

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 (one short sentence) and front-loaded with the core action. Every word earns its place by specifying the tool's function and providing examples without redundancy or unnecessary elaboration.

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

Completeness2/5

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

Given the tool's complexity (executing tests, which can involve dependencies, environment setup, and output interpretation), the description is incomplete. With no annotations, no output schema, and minimal behavioral details, it fails to provide sufficient context for safe and effective use, especially compared to sibling tools that might overlap in functionality.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here, but it could have mentioned implicit parameters (e.g., project context) to enhance clarity, though not required.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('Run') and resource ('project tests'), and provides concrete examples (npm test, yarn test) that clarify the action. However, it doesn't explicitly differentiate from sibling tools like 'run_shell_command' or 'run_augment_prompt', which could also execute commands.

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., needing a project with test scripts), exclusions, or comparisons to sibling tools like 'run_shell_command' for general commands or 'run_augment_prompt' for other execution tasks.

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

run_shell_commandB

Run a whitelisted shell command in the workspace (npm, yarn, git, node, npx, tsc, eslint, prettier)

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes

TDQS

B3/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. It mentions 'whitelisted' which hints at security restrictions, but doesn't disclose critical behavioral traits: whether this requires specific permissions, if commands run synchronously/asynchronously, what happens on errors, output format, or workspace context implications. For a shell command execution tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose ('Run a whitelisted shell command in the workspace') and provides relevant examples. Every word earns its place with no redundancy or wasted text, 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 complexity of shell command execution (potentially destructive, security-sensitive), no annotations, no output schema, and minimal parameter documentation, the description is incomplete. It should address safety, permissions, error handling, and output expectations to be adequate for safe and effective use by an AI 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% (no parameter descriptions in schema), and the single parameter 'command' is undocumented. The description adds minimal semantics by implying the command should be from a whitelisted set (npm, yarn, etc.), but doesn't explain format, syntax, or constraints beyond listing examples. For a tool with 1 parameter at 0% coverage, this doesn't adequately compensate.

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 'Run' and specifies the resource as 'a whitelisted shell command in the workspace', listing specific examples (npm, yarn, git, etc.). It distinguishes from siblings like check_file_exists or list_directory_files by focusing on command execution rather than file operations. However, it doesn't explicitly differentiate from run_project_tests or run_augment_prompt, which might also involve execution.

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

Usage Guidelines3/5

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

The description implies usage context by mentioning 'whitelisted shell command' and listing specific tools, suggesting this is for running development/workspace commands. However, it provides no explicit guidance on when to use this versus alternatives like run_project_tests or run_augment_prompt, nor does it mention prerequisites or exclusions (e.g., only for workspace commands, not arbitrary shell commands).

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

write_project_fileB

Write to a local file in the VS Code workspace (restricted to workspace directory)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
contentYes

TDQS

B3/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 the restriction to the workspace directory, which adds some context about safety and scope. However, it fails to disclose critical traits such as whether the tool overwrites existing files, requires specific permissions, handles errors, or has any rate limits, leaving significant gaps for a write operation 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 that front-loads the core action ('Write to a local file') and includes essential context ('in the VS Code workspace, restricted to workspace directory') without any wasted words. Every part of the sentence contributes to understanding the tool's purpose and scope.

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

Completeness2/5

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

Given the complexity of a file write operation, no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on behavior, error handling, return values, and parameter semantics, making it insufficient for safe and effective tool invocation by an AI 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?

The input schema has 2 parameters with 0% description coverage, so the schema provides no semantic information. The description does not add any meaning beyond the schema; it does not explain what 'path' and 'content' represent, their formats, or constraints. This fails to compensate for the low schema coverage, resulting in inadequate parameter documentation.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('Write') and resource ('local file in the VS Code workspace'), and distinguishes it from siblings like 'read_project_file' by specifying the write operation. However, it doesn't explicitly differentiate from other file-related tools like 'check_file_exists' or 'list_directory_files' beyond the write action.

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

Usage Guidelines3/5

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

The description implies usage context by mentioning 'restricted to workspace directory,' which suggests when to use this tool for workspace file writing. However, it lacks explicit guidance on when to use this versus alternatives like 'run_shell_command' for file operations or prerequisites for safe usage, leaving usage somewhat inferred rather than clearly defined.

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. 1 tool updatev1.0.0
    • Changedrun_project_tests1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
  2. 7 tool updates
    • First observedcheck_file_exists
    • First observedlist_directory_files
    • First observedread_project_file
    • First observedrun_augment_prompt
    • First observedrun_project_tests
    • First observedrun_shell_command
    • First observedwrite_project_file

TDQS

B3.4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: file operations (check, list, read, write), running tests, executing shell commands, and interacting with an AI agent. The descriptions make it easy to tell them apart, preventing misselection.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., check_file_exists, list_directory_files, run_project_tests), but 'run_augment_prompt' deviates slightly by including the agent name. Overall, the naming is predictable and readable with only minor inconsistency.

Tool Count5/5

With 7 tools, this server is well-scoped for AI development pipeline tasks. Each tool earns its place by covering essential operations like file management, testing, shell commands, and AI interaction, without being too sparse or bloated.

Completeness4/5

The toolset covers core AI development workflows effectively, including file CRUD, testing, and command execution. A minor gap exists in version control operations (e.g., git commits or branches), but agents can work around this using the shell command tool.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers