1. Conduid
  2. Developer Tools
  3. Developer Tool
MCP server · Developer Tools

Developer Tool

MCP server: Developer Tool

Unclaimed MIT last commit a year ago devtools
45Fair

Scored 5 months ago · breakdown

About Developer Tool

Developer Tool is an MCP server published by da-snap in the Developer Tools category: mCP server: Developer Tool.

The repository has 1 stars and 0 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/da-snap/mcp-server-developer-tool

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Developer Tool

Powered by Claude · Grounded in docs

I know everything about Developer Tool. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 7 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

Modular MCP Server

This is a Go implementation of the Model Context Protocol (MCP) server using the github.com/metoro-io/mcp-golang library, restructured in a modular way.

Project Structure

mcp-server/
├── cmd/
│   └── mcp-server/
│       └── main.go           # Entry point
├── internal/
│   ├── config/
│   │   └── config.go         # Server configuration
│   ├── server/
│   │   ├── server.go         # MCP server implementation
│   │   └── server_test.go    # Server tests
│   ├── tools/
│   │   ├── tool.go           # Tool interface
│   │   ├── execute.go        # Execute shell command tool
│   │   ├── showfile.go       # Show file tool
│   │   ├── searchfile.go     # Search in file tool
│   │   └── writefile.go      # Write file tool
│   └── utils/
│       └── response.go       # Common response utilities
├── go.mod
├── go.sum
└── README.md

Building and Running

# Build the server
cd cmd/mcp-server
go build -o mcp-server

# Run the server
./mcp-server

Security Features

The server now includes a path restriction system to limit file operations to specified directories.

Configuring Allowed Paths

You can configure allowed paths in several ways:

1. Using Command-line Flags

# Allow operations only in specific directories
./mcp-server --paths=/home/user/safe:/tmp/workspace

# Explicitly deny specific paths even if within allowed paths
./mcp-server --paths=/home/user --deny-paths=/home/user/.ssh:/home/user/credentials

2. Using Environment Variables

# Set allowed paths
export MCP_ALLOWED_PATHS=/home/user/safe:/tmp/workspace

# Set denied paths
export MCP_DENIED_PATHS=/home/user/.ssh:/home/user/credentials

# Run the server
./mcp-server

3. Programmatically

You can also create a custom configuration programmatically:

cfg := config.DefaultConfig()
cfg.AddAllowedPath("/path/to/allow")
cfg.AddDeniedPath("/path/to/deny")

server, err := server.NewServerWithConfig(cfg)

Default Behavior

  • If no paths are specified, the server defaults to allowing only the current working directory.
  • Common sensitive directories like .git and .env are automatically added to the deny list.

Shell Command Security

For the execute_shell_command tool:

  • Commands are restricted to a whitelist of common utilities
  • Custom executable paths are checked against the allowed paths configuration
  • Working directories must be within allowed paths

Adding New Tools

To add a new tool:

  1. Create a new file in the internal/tools directory
  2. Implement the Tool interface
  3. Optionally implement the ConfigAware interface if your tool needs access to server configuration
  4. Register the tool in cmd/mcp-server/main.go

Example:

// internal/tools/newtool.go
package tools

import (
    "github.com/metoro-io/mcp-golang"
    "mcp-server/internal/config"
    "mcp-server/internal/utils"
)

type NewToolArgs struct {
    // Tool arguments
}

type NewTool struct{
    config *config.ServerConfig
}

func NewNewTool() *NewTool {
    return &NewTool{}
}

// Implement ConfigAware interface
func (t *NewTool) SetConfig(cfg *config.ServerConfig) {
    t.config = cfg
}

func (t *NewTool) Name() string {
    return "new_tool"
}

func (t *NewTool) Description() string {
    return "Description of the new tool"
}

func (t *NewTool) Execute(args NewToolArgs) (*mcp.ToolResponse, error) {
    // Access configuration if needed
    if t.config != nil {
        // Use configuration for security checks
    }

    // Tool implementation
    return utils.CreateSuccessResponse(result), nil
}

Testing

go test ./...

README fetched from the repository 7 days ago. The original is authoritative.

Questions

About Developer Tool

How do I install Developer Tool?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Developer Tool safe to use with an AI agent?

Its trust score is 45 out of 100 (fair). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Developer Tool still maintained?

The last commit was a year ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.