devtools MCP server
✓ 인증됨AI 에이전트에게 로컬 파일 시스템, 데이터베이스, 시스템 프로세스 및 OpenAPI 엔드포인트에 대한 안전하고 제한된 액세스 권한을 제공합니다.
다른 이름 marin1321/mcp-devtools, @oscarmarin/mcp-devtools
- 스타
- 4
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 1.0.1
- 마지막 커밋
- 2026년 7월 1일
- 라이선스
- MIT
devtools MCP란?
devtools은(는) MCP server입니다. AI 에이전트에게 로컬 파일 시스템, 데이터베이스, 시스템 프로세스 및 OpenAPI 엔드포인트에 대한 안전하고 제한된 액세스 권한을 제공합니다.
프로젝트 README에서 생성된 요약
devtools MCP server 정보
mcp-devtools는 Claude, Cursor 또는 Copilot과 같은 AI 에이전트에게 로컬 개발 환경에 대한 안전한 액세스 권한을 부여합니다. 14개의 특화된 도구를 통해 에이전트가 파일 시스템, 데이터베이스, 시스템 프로세스 및 OpenAPI 엔드포인트와 상호 작용할 수 있는 통합 인터페이스를 제공합니다. 개발자는 npx를 사용하여 stdio 방식으로 서버를 로컬에서 실행하거나, 원격 액세스를 위해 Bearer 인증이 포함된 HTTP 전송 방식을 설정할 수 있습니다.
이 서버는 파일 시스템 범위 제한, 프로세스 실행을 위한 명령 허용 목록, 데이터베이스 쿼리를 위한 읽기 전용 모드와 같은 내장 보안 조치를 포함합니다. 또한 도구 호출을 추적하기 위한 감사 로그와 환경 변수에 대한 자동 비밀값 마스킹 기능을 제공합니다. 사용자는 Plugin API를 사용하여 설정 파일을 통해 커스텀 도구 정의를 로드함으로써 코드를 포크하지 않고도 기능을 확장할 수 있습니다. 이는 AI 기반 워크플로우 내에서 여러 개발 작업을 관리하기 위해 단일 프로덕션급 패키지가 필요한 개발자에게 다재다능한 선택지가 됩니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
devtools MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 devtools MCP 설치
$ claude mcp add mcp-devtools -- npx -y @oscarmarin/mcp-devtoolsCursor에 devtools MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-devtools": {
"command": "npx",
"args": [
"-y",
"@oscarmarin/mcp-devtools"
]
}
}
}VS Code에 devtools MCP 설치
.vscode/mcp.json
{
"servers": {
"mcp-devtools": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@oscarmarin/mcp-devtools"
]
}
}
}VS Code CLI에 devtools MCP 설치
$ code --add-mcp '{"name":"mcp-devtools","type":"stdio","command":"npx","args":["-y","@oscarmarin/mcp-devtools"]}'Claude Desktop에 devtools MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"mcp-devtools": {
"command": "npx",
"args": [
"-y",
"@oscarmarin/mcp-devtools"
]
}
}
}Codex에 devtools MCP 설치
$ codex mcp add mcp-devtools -- npx -y @oscarmarin/mcp-devtoolsCodex config.toml에 devtools MCP 설치
~/.codex/config.toml
[mcp_servers.mcp-devtools] command = "npx" args = ["-y", "@oscarmarin/mcp-devtools"]
Gemini CLI에 devtools MCP 설치
$ gemini mcp add -s user mcp-devtools npx -- -y @oscarmarin/mcp-devtoolsGemini settings.json에 devtools MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"mcp-devtools": {
"command": "npx",
"args": [
"-y",
"@oscarmarin/mcp-devtools"
]
}
}
}자동 검사
2026년 11월 15일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능marin1321/mcp-devtools is public and reachablegithub.com/marin1321/mcp-devtools ↗통과
- 패키지가 이 저장소를 소스로 명시@oscarmarin/mcp-devtools names marin1321/mcp-devtools as sourcenpmjs.com/package/@oscarmarin/mcp-devtools ↗통과
- 빌드 출처(Sigstore 증명)No build attestation published for this release검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-07-01github.com/marin1321/mcp-devtools ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from @oscarmarin/mcp-devtools통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음139 resolved dependencies checked; no critical advisoryosv.dev ↗통과
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기mcp-devtools
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.
Why
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.
Quick start
stdio (default)
npx @oscarmarin/mcp-devtools
Add it to Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"devtools": {
"command": "npx",
"args": ["-y", "@oscarmarin/mcp-devtools"]
}
}
}
Or Cursor (~/.cursor/mcp.json): same block.
HTTP transport
Create a mcp-devtools.json in your project root:
{
"transport": "http",
"port": 3333,
"auth": {
"token": "env:MCP_AUTH_TOKEN"
}
}
Then start the server:
npx @oscarmarin/mcp-devtools
The MCP endpoint will be available at http://localhost:3333.
Tools
| 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/.
MCP Resources
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 |
MCP Prompts
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 |
Plugin API
Extend mcp-devtools with custom tools — no fork required.
Config-based (load at startup):
{
"plugins": ["./my-tools.js", "@scope/mcp-plugin-foo"]
}
Each plugin module default-exports an array of tool definitions:
import { defineTool } from "@oscarmarin/mcp-devtools";
import { z } from "zod";
export default [
defineTool({
name: "my_tool",
description: "Does something useful",
inputSchema: z.object({ input: z.string() }),
handler: async (args, config) => ({
ok: true,
data: { result: args.input.toUpperCase() },
}),
}),
];
Configuration
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).
Security
Four non-bypassable controls:
- Filesystem scope boundary. Every path is resolved to an absolute and
compared against
config.scope. Symlinks that escape scope throwSCOPE_VIOLATION. - Command allowlist.
run_commandonly executes binaries whose basename is inallowedCommands. Invocation usesspawn(file, args)(no shell), so shell-injection via the command argument is structurally impossible. - Database read-only mode. When
readOnly: true, all SQL is parsed andINSERT/UPDATE/DELETE/DROP/CREATE/GRANTare rejected. Queries run inBEGIN READ ONLY ... ROLLBACKon PostgreSQL. - HTTP Bearer auth. When
auth.tokenis configured, every HTTP request must includeAuthorization: Bearer <token>. Comparison usescrypto.timingSafeEqualto prevent timing attacks.
Additional safety measures:
- Audit log. Opt-in NDJSON log of every tool invocation with timing, sanitized inputs, and result status.
- Secret masking.
get_envautomatically masks values matching common secret patterns (SECRET,TOKEN,PASSWORD,KEY, etc.). - OpenAPI host restriction.
call_apionly sends requests to hosts listed in the spec'sserversarray. - Output capping. All tools cap their output to prevent context flooding (100KB for commands, 1MB for files, 200 rows for queries).
Contributing
git clone https://github.com/marin1321/mcp-devtools.git
cd mcp-devtools
npm install
npm run dev # tsup --watch
npm run test # vitest
npm run typecheck # tsc --noEmit
npm run lint # eslint .
See CONTRIBUTING.md for the full workflow and
CODE_OF_CONDUCT.md for community guidelines.
License
MIT © Oscar Humberto Marin Molina — oscarmarindev.com
devtools MCP 질문
devtools MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add mcp-devtools -- npx -y @oscarmarin/mcp-devtools를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
devtools MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
자체 도구로 서버를 확장할 수 있나요?
Plugin API를 사용하면 서버를 포크하지 않고도 커스텀 도구를 추가할 수 있습니다. 시작 시 설정 기반 로딩을 사용하거나 도구 모듈을 정의하는 방식을 지원합니다.
HTTP를 통해 이 서버를 사용할 수 있나요?
네, 이 서버는 stdio(기본값)와 인증 기능이 포함된 HTTP의 두 가지 전송 모드를 지원합니다.
서버가 셸 인젝션을 방지하나요?
네, run_command 도구는 셸 없이 spawn(file, args)를 사용하므로 명령 인자를 통한 셸 인젝션이 구조적으로 불가능합니다.