Skip to main content
Glama
talentedmrweb

Local Dev Bridge MCP

Local Dev Bridge MCP v2.0

A shared MCP server that bridges any combination of Claude Code, Claude Desktop (Cowork), and Claude in Chrome. It gives every Claude session access to a shared local filesystem and a UAT test queue so development sessions can author browser tests and browser sessions can execute them.

Project-agnostic by design — configure PROJECTS_DIR and UAT_DIR per-developer and it works with any codebase.

What It Does

Filesystem tools — read, write, edit, search, list, and run commands against a shared project directory. Any Claude session (Code, Desktop, Chrome) can operate on the same files.

UAT queue — a file-based task queue that lets a coding session write browser test specs and a browser session execute them. No database, no server, no polling. The queue is just a directory of JSON files.

Related MCP server: VS Code + GPT Bridge

Setup

git clone https://github.com/talentedmrweb/local-dev-bridge-mcp.git
cd local-dev-bridge-mcp
npm install

Configuration

The MCP server takes two environment variables:

Variable

Default

Description

PROJECTS_DIR

~/Desktop/Projects

Base directory for relative file paths

UAT_DIR

$PROJECTS_DIR/uat-queue

Where the UAT queue lives

Each developer sets these to their own workspace. The MCP itself has no opinion about project structure, team names, or URLs.

Claude Desktop / Cowork

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "local-dev-bridge": {
      "command": "node",
      "args": ["/path/to/local-dev-bridge-mcp/index.js"],
      "env": {
        "PROJECTS_DIR": "/Users/you/Projects",
        "UAT_DIR": "/Users/you/Projects/uat-queue"
      }
    }
  }
}

Claude Code

Add to your project's .claude/settings.local.json:

{
  "mcpServers": {
    "local-dev-bridge": {
      "command": "node",
      "args": ["/path/to/local-dev-bridge-mcp/index.js"],
      "env": {
        "PROJECTS_DIR": "/Users/you/Projects",
        "UAT_DIR": "/Users/you/Projects/uat-queue"
      }
    }
  }
}

Both sessions point at the same filesystem and queue directory — that's the entire trick.

Claude in Chrome

Chrome doesn't connect to the MCP directly. Instead, Cowork (Claude Desktop) acts as the bridge — it has both the MCP for file access and Chrome for browser automation. The workflow is:

Claude Code ──writes tests──► MCP ──reads tests──► Cowork ──drives──► Chrome

Tools

Filesystem Tools

Tool

Description

read_file

Read file contents (relative to PROJECTS_DIR or absolute)

write_file

Create or overwrite a file

edit_file

Find-and-replace within a file

list_directory

List directory contents

run_command

Execute a shell command

search_files

Recursive text search across files

UAT Queue Tools

Tool

Description

uat_queue_test

Queue a new test with steps, URL, priority, tags, and context

uat_get_pending

List pending tests (filterable by tag/priority)

uat_get_test

Read full test details by ID

uat_claim_test

Claim a test for execution (moves pending → in-progress)

uat_complete_test

Record results: pass/fail/blocked/skipped with per-step details

uat_get_results

Retrieve results (filterable by status/date)

uat_reset_test

Move a test back to pending for re-execution

uat_dashboard

Overview of queue counts, priorities, and pass rates

UAT Queue

The Workflow

┌──────────────┐         uat-queue/          ┌────────────────────┐
│  Claude Code │                             │  Cowork + Chrome   │
│  (or any     │ ──queue_test──► pending/ ──►│  (or any session   │
│   coding     │                             │   with browser     │
│   session)   │ ◄──get_results── results/ ◄─│   access)          │
└──────────────┘                             └────────────────────┘
  1. Coding session finishes a change and queues a UAT test via uat_queue_test

  2. Browser session calls uat_get_pendinguat_claim_test → executes in browser → uat_complete_test

  3. Coding session checks results with uat_get_results or uat_dashboard

This can be driven manually or automated via CLAUDE.md instructions and hooks in each project.

Test Format

Tests are JSON files with a companion .md for human readability:

{
  "id": "login-flow-happy-path-a1b2c3d4",
  "name": "Login flow happy path",
  "url": "https://your-app.example.com/login",
  "priority": "high",
  "tags": ["auth", "smoke"],
  "context": "Just refactored the auth middleware — verify login still works",
  "steps": [
    {
      "action": "type",
      "target": "#email",
      "value": "test@example.com",
      "description": "Enter email address"
    },
    {
      "action": "click",
      "target": "button[type='submit']",
      "description": "Click the login button"
    },
    {
      "action": "assert_url",
      "value": "/dashboard",
      "description": "Verify redirect to dashboard"
    }
  ],
  "created_at": "2026-04-06T12:00:00.000Z",
  "created_by": "claude-code",
  "status": "pending"
}

Supported Actions

Action

Description

navigate

Go to a URL

click

Click an element (CSS selector or description)

type

Type text into an input

select

Select a dropdown option

scroll

Scroll the page or to an element

wait

Wait for an element or a duration

assert_visible

Verify an element is visible

assert_text

Verify text content matches

assert_url

Verify the current URL

screenshot

Take a screenshot

custom

Free-form instruction for the browser agent

Queue Directory Structure

uat-queue/
├── pending/          # Tests waiting to be run
│   ├── test-id.json
│   └── test-id.md
├── in-progress/      # Tests currently being executed
├── results/          # Completed tests with outcomes
│   ├── test-id.json
│   └── test-id.md
└── archive/          # Old results (manual cleanup)

Integrating With Your Project

The MCP is project-agnostic. To wire it into a specific codebase:

1. Add the MCP to .claude/settings.local.json

{
  "mcpServers": {
    "local-dev-bridge": {
      "command": "node",
      "args": ["/path/to/local-dev-bridge-mcp/index.js"],
      "env": {
        "PROJECTS_DIR": "/Users/you/Projects",
        "UAT_DIR": "/Users/you/Projects/uat-queue"
      }
    }
  }
}

2. Add a deploy hook (optional)

Add a PostToolUse hook to .claude/settings.local.json that reminds Claude Code to queue tests after deployment:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -qiE '(deploy|gcloud run|gcloud builds)'; then echo '\\n🧪 DEPLOYMENT DETECTED — Queue UAT tests before closing this session.'; fi"
          }
        ]
      }
    ]
  }
}

3. Add instructions to CLAUDE.md

Append a section to your project's CLAUDE.md telling Claude Code to:

  • Check uat-queue/results/ for previous test outcomes before starting work

  • Queue tests to uat-queue/pending/ after every deployment

  • Tell the developer to trigger browser testing in Cowork

Example section:

## UAT Queue — Post-Deployment Testing

After every deployment, you MUST:
1. Check `uat-queue/results/` for previous failures
2. Write test JSON files to `uat-queue/pending/` based on what changed
3. Tell the developer: "Tests queued. Open Cowork and say 'run UAT tests'"

4. Run tests from Cowork

When the developer opens Cowork and says "run UAT tests", Cowork:

  1. Reads pending tests via the MCP

  2. Claims them (moves to in-progress)

  3. Executes each step in Chrome

  4. Writes results back to the queue

No scheduled tasks, no polling — the developer triggers it as part of their deploy workflow.

Supported Combinations

Coding Session

Testing Session

How It Works

Claude Code

Cowork + Chrome

Most common. Code writes tests, Cowork drives Chrome.

Cowork

Cowork + Chrome

Same session can write and execute tests.

Claude Code

Claude Code

Code reads results from a previous Chrome session.

Any

Any

The queue is just files. Any session with the MCP can read/write.

License

MIT

Available Tools

6 tools
edit_fileC

Edit a file by replacing specific text. The old_text must match exactly (including whitespace).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file
old_textYesText to find and replace (must match exactly)
new_textYesText to replace it with

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It adds some context: 'The old_text must match exactly (including whitespace),' which clarifies a constraint. However, it lacks details on permissions, error handling, or what happens if the text isn't found, which are critical for a mutation tool. 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 extremely concise and front-loaded: the first sentence states the core purpose, and the second adds a critical constraint. There is no wasted language, and every sentence earns its place by providing essential information efficiently.

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-editing mutation tool with no annotations and no output schema, the description is incomplete. It covers the basic operation and a constraint but omits details on permissions, side effects, error cases, and return values. This makes it inadequate for safe and effective use by an AI agent without additional 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?

The schema description coverage is 100%, so the schema already documents all three parameters. The description reinforces the exact match requirement for 'old_text' but doesn't add new semantic details beyond what's in the schema. With high schema coverage, the baseline is 3, as the description provides minimal additional value.

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: 'Edit a file by replacing specific text.' It specifies the verb ('edit') and resource ('file') with the operation ('replacing specific text'). However, it doesn't explicitly distinguish this from sibling tools like 'write_file' or 'search_files', which might have overlapping functionality, so it doesn't reach the highest score.

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

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 sibling tools like 'write_file' (which might overwrite entire files) or 'search_files' (which might find text without editing), nor does it specify prerequisites or exclusions. The agent must infer usage from the purpose alone.

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

list_directoryC

List files and directories in a given path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to directory (relative to projects directory or absolute)

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 states the action ('List') but lacks details on permissions, error handling, output format, pagination, or whether it's read-only. This is a significant gap for a tool with no structured safety hints.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded and appropriately sized for a simple tool, with zero waste.

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 lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like what the output looks like (e.g., list format, error cases), permissions needed, or how it differs from siblings. For a tool with no structured context, more detail is warranted.

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 input schema has 100% description coverage, with the 'path' parameter well-documented in the schema itself. The description adds minimal value beyond implying the path is for listing contents, but it doesn't provide additional context like path validation or examples. Baseline 3 is appropriate when the schema does the heavy lifting.

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 ('List') and resource ('files and directories'), and it specifies the scope ('in a given path'). However, it doesn't explicitly distinguish this from sibling tools like 'search_files' or 'read_file', which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention scenarios like browsing directory contents versus searching for specific files, nor does it reference sibling tools such as 'search_files' for filtered queries or 'read_file' for file content access.

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

read_fileB

Read the contents of a file from the local file system. Use this to view existing code files.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file (relative to projects directory or absolute)

TDQS

B3.3/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 reads files but doesn't mention potential issues like file permissions, errors for non-existent files, encoding handling, or output format. For a file system tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves in practice.

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 front-loaded with the core purpose in the first sentence and uses a second sentence to add context efficiently. Both sentences earn their place by clarifying usage without waste, 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.

Completeness3/5

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

Given the tool's low complexity (single parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and usage but lacks details on behavioral aspects like error handling or output format, which would be helpful for an agent to use it correctly in varied scenarios.

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 input schema has 100% description coverage, with the 'path' parameter well-documented in the schema itself. The description adds no additional meaning beyond what the schema provides (e.g., no examples or constraints), so it meets the baseline score of 3 where the schema does the heavy lifting.

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 ('Read') and resource ('contents of a file from the local file system'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'search_files' or 'list_directory' beyond the general 'view existing code files' context, which is why it doesn't reach a perfect score.

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

Usage Guidelines3/5

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

The description provides some implied usage guidance with 'Use this to view existing code files,' which suggests a context for reading code files. However, it lacks explicit when-to-use vs. alternatives (e.g., compared to 'search_files' for finding files or 'edit_file' for modifying them), and no exclusions or prerequisites are mentioned, making it only moderately helpful.

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

run_commandB

Execute a shell command in the projects directory. Use for running npm install, git commands, tests, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesShell command to execute
cwdNoWorking directory (relative to projects directory or absolute)

TDQS

B3.2/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 mentions executing shell commands but fails to disclose critical behavioral traits: it does not warn about potential destructive effects (e.g., commands that delete files), security implications (e.g., requiring specific permissions), or operational constraints (e.g., rate limits or timeouts). The description is vague on what happens during execution, leaving gaps in transparency for a tool that interacts with the system.

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 highly concise and well-structured, consisting of two sentences that efficiently convey the core purpose and usage examples. Every sentence adds value: the first defines the action and context, and the second provides practical applications without redundancy. It is front-loaded with the main functionality, making it easy to understand 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 executing shell commands (which can have significant side effects), the lack of annotations, and no output schema, the description is incomplete. It does not address key contextual aspects such as error handling, output format, security warnings, or limitations. For a tool with potential system-wide impact, more detail is needed to ensure safe and effective use, making it inadequate for its intended 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?

The input schema has 100% description coverage, with clear documentation for both parameters ('command' and 'cwd'). The description adds minimal value beyond the schema by implying the context ('in the projects directory') and providing usage examples, but does not elaborate on parameter semantics, such as specific formats or constraints for the 'command' string or how 'cwd' interacts with the projects directory. Baseline 3 is appropriate as the schema handles most of the 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: 'Execute a shell command in the projects directory.' It specifies the verb ('Execute') and resource ('shell command'), and provides examples of typical use cases ('running npm install, git commands, tests, etc.'). However, it doesn't explicitly differentiate from sibling tools like 'list_directory' or 'search_files' in terms of when to use one over the other for command execution versus 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 by providing examples ('Use for running npm install, git commands, tests, etc.'), which gives some context for when to apply this tool. However, it lacks explicit guidance on when to use this versus alternatives (e.g., 'edit_file' for editing vs. 'run_command' for execution), and does not specify exclusions or prerequisites, such as needing appropriate permissions or avoiding destructive commands.

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

search_filesC

Search for text within files in a directory (recursive)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesText to search for
pathNoDirectory to search in (defaults to projects directory)
file_patternNoFile pattern to match (e.g., '*.js', '*.py')

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool searches recursively but doesn't cover other critical aspects: it doesn't mention if the search is case-sensitive, what the output format is (e.g., list of matches, file paths), performance implications for large directories, or error handling. For a search tool with zero annotation coverage, this is a significant gap in 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: 'Search for text within files in a directory (recursive)'. It is front-loaded with the core purpose and includes essential scope information 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 the tool's complexity (searching files recursively with three parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., search results format), potential limitations, or how it interacts with sibling tools. For a search operation, more context is needed to guide effective use by an agent.

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 input schema has 100% description coverage, with clear parameter descriptions: 'query' for text to search, 'path' for the directory (with a default), and 'file_pattern' for filtering. The description adds minimal value beyond the schema by implying recursive search, but it doesn't provide additional syntax or format details. This meets the baseline score when the schema does the heavy lifting.

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: 'Search for text within files in a directory (recursive)'. It specifies the verb ('Search'), resource ('text within files'), and scope ('directory (recursive)'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'list_directory' or 'read_file', which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools such as 'list_directory' for listing files without searching or 'read_file' for viewing file contents, nor does it specify prerequisites or exclusions. This lack of contextual advice leaves the agent to infer usage scenarios independently.

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

write_fileA

Create or overwrite a file with new content. Use this to create new files or completely replace existing ones.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the file (relative to projects directory or absolute)
contentYesContent to write to the file

TDQS

A3.9/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 clearly indicates this is a write/mutation operation ('create or overwrite') and specifies it completely replaces existing files. However, it doesn't mention permission requirements, error conditions (e.g., path validation), or what happens on success/failure, which are important for a destructive operation.

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

Conciseness5/5

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

The description is perfectly concise with two sentences that each earn their place: the first states the core functionality, the second provides usage guidance. No wasted words, and it's front-loaded with the essential information.

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 destructive write operation with no annotations and no output schema, the description is adequate but has clear gaps. It covers the basic purpose and behavior but lacks information about return values, error handling, and specific constraints. Given the complexity of file operations, more context would be helpful.

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 input schema has 100% description coverage, providing clear documentation for both parameters. The description doesn't add any additional parameter semantics beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting.

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 clearly states the tool's purpose with specific verbs ('create or overwrite') and resource ('a file with new content'), distinguishing it from siblings like edit_file (partial updates) and read_file (read-only). It explicitly covers both creation and replacement scenarios.

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 provides clear usage context ('create new files or completely replace existing ones'), which helps differentiate from edit_file for partial modifications. However, it doesn't explicitly mention when NOT to use this tool (e.g., for appending) or name specific alternatives beyond the implied contrast with edit_file.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updates
    • First observededit_file
    • First observedlist_directory
    • First observedread_file
    • First observedrun_command
    • First observedsearch_files
    • First observedwrite_file

TDQS

A3.6/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: edit_file modifies specific text in files, list_directory shows directory contents, read_file reads file contents, run_command executes shell commands, search_files searches text across files, and write_file creates or overwrites files. The descriptions clearly differentiate their functions, making misselection unlikely.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., edit_file, list_directory, read_file). There are no deviations in naming conventions, making the set predictable and easy to understand at a glance.

Tool Count5/5

With 6 tools, this server is well-scoped for local development tasks. Each tool earns its place by covering essential file operations (read, write, edit, search, list) and command execution, without being overly sparse or bloated for the domain.

Completeness4/5

The tool surface provides strong coverage for local development workflows, including file CRUD operations (read, write, edit), directory listing, file searching, and command execution. A minor gap is the lack of file deletion or move/copy operations, but agents can work around this using run_command for such tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/talentedmrweb/local-dev-bridge-mcp'

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