The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MCP Devtools listing page.
AI-native developer tools via Model Context Protocol. A production-grade MCP server that gives AI agents (Claude, Cursor, Copilot, Continue, ...) safe, scoped access to your local development environment.
The MCP ecosystem is full of single-purpose tutorials and vendor-locked adapters. There is no well-maintained, multi-tool, framework-agnostic, production-quality MCP package for everyday developer tooling.
mcp-devtools fills that gap with 14 tools, 3 MCP Resources,
4 MCP Prompts, a Plugin API, two transport modes (stdio + HTTP
with auth), and an audit log — built on patterns refined in production
at DailyBot.
Add it to Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
Or Cursor (~/.cursor/mcp.json): same block.
Create a mcp-devtools.json in your project root:
Then start the server:
The MCP endpoint will be available at http://localhost:3333.
| Group | Tools |
|---|---|
| Filesystem | read_file, write_file, list_directory, search_files, get_file_info |
| Database | query_db, list_tables, describe_table |
| Process | run_command, read_logs, get_env, list_processes |
| OpenAPI | parse_openapi, call_api |
Per-tool reference: docs/tools/.
The server exposes read-only data via MCP Resources:
| URI | Description |
|---|---|
devtools://tools | Catalog of all registered tools with schemas |
devtools://server-info | Server version, transport, scope, tool count |
Curated prompt templates for common development workflows:
| Prompt | Description |
|---|---|
debug_error | Systematically debug an error using mcp-devtools tools |
code_review | Review a file for bugs, security issues, and code quality |
explore_codebase | Explore and understand a project's structure and conventions |
refactor_function | Refactor a function for readability, performance, or testability |
Extend mcp-devtools with custom tools — no fork required.
Config-based (load at startup):
Each plugin module default-exports an array of tool definitions:
Configuration is loaded by cosmiconfig
from mcp-devtools.json, .mcp-devtoolsrc, or the mcpDevtools key in
package.json. See mcp-devtools.example.json
and docs/configuration.md for the full schema.
Zero-config is supported: running npx @oscarmarin/mcp-devtools with no config uses
schema defaults (RNF-05).
Four non-bypassable controls:
config.scope. Symlinks that escape scope throw
SCOPE_VIOLATION.run_command only executes binaries whose basename
is in allowedCommands. Invocation uses spawn(file, args) (no shell), so
shell-injection via the command argument is structurally impossible.readOnly: true, all SQL is parsed and
INSERT/UPDATE/DELETE/DROP/CREATE/GRANT are rejected. Queries run in
BEGIN READ ONLY ... ROLLBACK on PostgreSQL.auth.token is configured, every HTTP request
must include Authorization: Bearer <token>. Comparison uses
crypto.timingSafeEqual to prevent timing attacks.Additional safety measures:
get_env automatically masks values matching common
secret patterns (SECRET, TOKEN, PASSWORD, KEY, etc.).call_api only sends requests to hosts listed
in the spec's servers array.See CONTRIBUTING.md for the full workflow and
CODE_OF_CONDUCT.md for community guidelines.
MIT © Oscar Humberto Marin Molina — oscarmarindev.com