A single, high-performance MCP server that replaces multiple Node.js and Python-based MCP servers with one efficient Go binary, providing access to essential developer tools through a unified, modular interface that can be easily extended with new tools.
graph TD
A[MCP DevTools Server] --> B[Search & Discovery]
A --> C[Document Processing]
A --> E[Intelligence & Memory]
A --> F[Utilities]
B --> B1[Internet Search]
B --> B2[Package Search]
B --> B3[Package Documentation]
B --> B4[GitHub]
B --> B5[ShadCN UI Components]
B --> B6[Web Fetch]
C --> C1[Document Processing]
C --> C2[PDF Processing]
E --> E1[Think Tool]
E --> E2[Memory Graph]
F --> F3[American→English]
F --> F4[Filesystem]
classDef server fill:#E6E6FA,stroke:#756BB1,color:#756BB1
classDef category fill:#EFF3FF,stroke:#9ECAE1,color:#3182BD
classDef utility fill:#E6FFE6,stroke:#4CAF50,color:#2E7D32
classDef searchDiscovery fill:#FFF3E6,stroke:#FF9800,color:#F57C00
classDef intelligence fill:#E6F7FF,stroke:#81D4FA,color:#0288D1
classDef documentProcessing fill:#FFF0F0,stroke:#FFCDD2,color:#C62828
class A server
class B,C,D,E,F category
class D1,F1,F2,F3,F4 utility
class B1,B2,B3,B4,B5,B6 searchDiscovery
class C1,C2 documentProcessing
class E1,E2 intelligence
🚀 Single Binary Solution
- Replace multiple potentially resource-heavy Node.js/Python MCP servers, each spawned for every client tool you use
- One binary, one configuration, consistent performance
- Built in Go for speed and efficiency
- Minimal memory footprint compared to multiple separate servers
- Fast startup and response times
- Download one binary, configure once - or compile from source
- Optional dependencies only for specific tools
- Works out of the box for most tools
🛠Comprehensive Tool Suite
- 12+ essential developer tools in one package
- No need to manage multiple MCP server installations
- Consistent API across all tools
You must have a recent version of Go installed.
- Install the latest MCP DevTools binary:
go install github.com/sammcj/mcp-devtools@HEAD
echo "${GOPATH}/bin/mcp-devtools" # Use this path in your MCP configuration, if your GOPATH is not set, please check your Go installation / configuration.
# If you're on macOS, you'll also need to run the following command to allow the downloaded binary to run:
xattr -r -d com.apple.quarantine ${GOPATH}/bin/mcp-devtools
- Update your MCP client to add the MCP DevTools server configuration, replacing
/path/to/mcp-devtools
with the actual path to the binary (e.g./Users/samm/go/bin/mcp-devtools
):
{
"mcpServers": {
"dev-tools": {
"type": "stdio",
"command": "/path/to/mcp-devtools",
"env": {
"DISABLED_FUNCTIONS": "brave_local_search,brave_video_search" // Optional, disable specific tools if not needed
}
}
}
}
See below for various environment variables you can set to configure specific features.
Tool | Purpose | Dependencies | Quick Example |
---|---|---|---|
Web Fetch | Retrieve web content as Markdown | None | Documentation and articles |
Internet Search | Multi-provider web search | None (Provider keys optional) | Web, image, news, video search |
Package Search | Check package versions | None | NPM, Python, Go, Java, Docker |
Package Documentation | Library documentation lookup | None | React, Django, TensorFlow docs |
PDF Processing | Fast PDF text extraction | None | Quick PDF to Markdown |
Document Processing | Convert documents to Markdown | pip install - U docling |
PDF, DOCX → Markdown with OCR |
Think | Structured reasoning space | None | Complex problem analysis |
Memory | Persistent knowledge graphs | None | Store entities and relationships |
ShadCN UI | Component information | None | Button, Dialog, Form components |
American→English | Convert to British spelling | None | Organise, colour, centre |
GitHub | GitHub repositories and data | None (GitHub token optional) | Issues, PRs, repos, cloning |
Filesystem | File and directory operations | FILESYSTEM_TOOL_ENABLE=true |
Read, write, edit, search files |
👉 See detailed tool documentation
Option 1: Go Install
go install github.com/sammcj/mcp-devtools@HEAD
Option 2: Build from Source
git clone https://github.com/sammcj/mcp-devtools.git
cd mcp-devtools
make build
Option 3: Download Release Download the latest binary from releases and place in your PATH and remember to check for updates!
STDIO
{
"mcpServers": {
"dev-tools": {
"type": "stdio",
"command": "/path/to/mcp-devtools",
"env": {
"BRAVE_API_KEY": "This is optional - remove if not needed",
}
}
}
}
Replacing /path/to/mcp-devtools
with your actual binary path (e.g., /Users/yourname/go/bin/mcp-devtools
).
Note: The BRAVE_API_KEY
is optional and only needed if you want to use the Brave Search provider, there are other providers available, see the various tools documentation for more details.
Streamable HTTP
mcp-devtools --transport http --port 8080
{
"mcpServers": {
"dev-tools": {
"type": "streamableHttp",
"url": "https://localhost:8080/http"
}
}
}
MCP DevTools supports three transport modes for different use cases:
Best for: Simple, local use with MCP clients like Claude Desktop, Cline, etc.
{
"mcpServers": {
"dev-tools": {
"type": "stdio",
"command": "/path/to/mcp-devtools",
"env": {
"BRAVE_API_KEY": "your-api-key-if-needed"
}
}
}
}
Best for: Production deployments, shared use, centralised configuration
# Basic HTTP mode
mcp-devtools --transport http --port 8080
# With authentication
mcp-devtools --transport http --port 8080 --auth-token mysecrettoken
# With OAuth (see OAuth documentation)
mcp-devtools --transport http --port 8080 --oauth-enabled
Client Configuration:
{
"mcpServers": {
"dev-tools": {
"type": "streamableHttp",
"url": "https://localhost:8080/http",
"headers": {
"Authorization": "Bearer mysecrettoken"
}
}
}
}
Best for: Real-time applications, web dashboards
mcp-devtools --transport sse --port 18080 --base-url https://localhost
Client Configuration:
{
"mcpServers": {
"dev-tools": {
"type": "sse",
"url": "https://localhost:18080/sse"
}
}
}
All environment variables are optional, but if you want to use specific search providers or document processing features, you may need to provide the the appropriate variables.
Core Tools:
BRAVE_API_KEY
- Enable Brave Search provider by providing a (free Brave search API key)SEARXNG_BASE_URL
- Enable SearXNG search provider by providing the base URL (e.g.https://searxng.example.com
)MEMORY_FILE_PATH
- Memory storage location (default:~/.mcp-devtools/
)DISABLED_FUNCTIONS
- Comma-separated list of functions to disable (e.g.think,internet_search
)
Filesystem Tool (Security-Sensitive):
FILESYSTEM_TOOL_ENABLE
- Set to"carview.php?tsp=true"
to enable filesystem operations (disabled by default)FILESYSTEM_TOOL_ALLOWED_DIRS
- Colon-separated (Unix) list of allowed directories
Document Processing:
DOCLING_PYTHON_PATH
- Python executable path (default: auto-detected)DOCLING_CACHE_ENABLED
- Enable processed document cache (default:true
)DOCLING_HARDWARE_ACCELERATION
- Hardware acceleration (auto
(default),mps
,cuda
,cpu
)
--transport
,-t
- Transport type (stdio
,sse
,http
). Default:stdio
--port
- Port for HTTP transports. Default:18080
--base-url
- Base URL for HTTP transports. Default:https://localhost
--auth-token
- Authentication token for HTTP transport--debug
,-d
- Enable debug logging
MCP DevTools uses a modular architecture:
- Tool Registry: Central registry managing tool discovery and registration
- Tool Interface: Standardised interface all tools implement
- Transport Layer: Supports STDIO, HTTP, and SSE transports
- Plugin System: Easy to add new tools following the interface
Each tool is self-contained and registers automatically when the binary starts.
For production deployments requiring centralised user authentication:
👉 Complete OAuth Setup Guide
Quick example:
# Browser-based authentication
mcp-devtools --transport http --oauth-browser-auth --oauth-client-id="your-client"
# Resource server mode
mcp-devtools --transport http --oauth-enabled --oauth-issuer="https://auth.example.com"
# Pull latest image
docker pull ghcr.io/sammcj/mcp-devtools:latest
# Run with environment variables
docker run -e BRAVE_API_KEY="your-key" ghcr.io/sammcj/mcp-devtools:latest
Want to add your own tools? See the Development Guide.
- Tool Documentation: docs/tools/overview.md
- OAuth Setup: docs/oauth/README.md
- Development: docs/development/creating-new-tools.md
- Issues: GitHub Issues, please note that I built this tool for my own use and it is not a commercially supported product, so if you can - please raise a PR instead of an issue.
Contributions welcome! This project follows standard Go development practices and includes comprehensive tests.
# Development setup
git clone https://github.com/sammcj/mcp-devtools.git
cd mcp-devtools
make deps
make test
make build
Apache Public License 2.0 - Copyright 2025 Sam McLeod