AiDD MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Supports code analysis using tree-sitter for C++ files (.cpp, .hpp, .cc)

  • Provides Git operations including repository initialization, status checking, adding files, resetting, checkout, commit, diff, and log viewing

  • Upcoming features include GitHub tools such as PR Description Generator, Code Review, and Actions Manager

SkyDeckAI 코드

AI 기반 개발 워크플로를 위한 포괄적인 도구 세트를 제공하는 MCP 서버입니다. 파일 시스템 작업, 여러 프로그래밍 언어에 대한 트리시터를 활용한 코드 분석, Git 작업, 코드 실행, HTML-마크다운 변환을 통한 웹 콘텐츠 가져오기, 다중 엔진 웹 검색, 코드 콘텐츠 검색, 린팅 감지, 시스템 정보 검색 등의 기능을 제공합니다. 로컬 및 원격 리소스에 대한 직접 액세스를 제공하여 소프트웨어 개발 작업을 지원하는 AI의 역량을 강화하도록 설계되었습니다.

이전에는 MCP-Server-AIDD로 알려짐

이 MCP 서버는 이전에 mcp-server-aidd 로 알려져 있었습니다. SkyDeck.ai 팀과 East Agile 팀이 이 애플리케이션을 개발한 공로를 인정하기 위해 skydeckai-code 로 이름을 변경했습니다. 하지만 더 중요한 것은 AI 기반 개발(AIDD)이라는 용어가 아직 널리 알려지지 않았다는 점입니다. 사람들은 AIDD가 무엇인지 한눈에 이해하지 못했고, LLM(로스쿨 석사)도 마찬가지였습니다. "코드"는 훨씬 더 직관적이었습니다. 그리고 에이전트 AI 세계에서는 언어적으로 직관적인 것이 중요합니다.

설치

지엑스피1

클로드 데스크탑 설정

claude_desktop_config.json 에 다음을 추가하세요:

{ "mcpServers": { "skydeckai-code": { "command": "uvx", "args": ["skydeckai-code"] } } }

SkyDeck AI 도우미 앱

SkyDeck AI Helper 앱을 사용하고 있다면 "SkyDeckAI 코드"를 검색하여 설치할 수 있습니다.

주요 특징

  • 파일 시스템 작업(읽기, 쓰기, 편집, 이동, 복사, 삭제)
  • 디렉토리 관리 및 트래버설
  • 트리시터를 이용한 다국어 코드 분석
  • Python 및 JavaScript/TypeScript에 대한 코드 린팅 및 문제 감지
  • 정규식 패턴 매칭을 통한 코드 내용 검색
  • 안전 조치를 통한 다국어 코드 실행
  • Git 작업(상태, diff, 커밋, 브랜치 관리, 복제)
  • HTML-마크다운 변환을 통해 API 및 웹사이트에서 웹 콘텐츠 가져오기
  • 안정적인 대체 메커니즘을 갖춘 다중 엔진 웹 검색
  • 병렬 및 직렬 도구 실행을 위한 일괄 작업
  • 구성 가능한 작업 공간 경계를 통한 보안 제어
  • 스크린샷 및 화면 컨텍스트 도구
  • 이미지 처리 도구

사용 가능한 도구

기본 파일 작업

도구매개변수보고
읽기_파일경로: 문자열, 오프셋?: 정수, 제한?: 정수파일 내용(전체 또는 일부)
여러 파일 읽기경로: 문자열[]헤더가 있는 여러 파일 내용
쓰기_파일경로: 문자열, 내용: 문자열성공 확인
이동_파일소스: 문자열, 대상: 문자열성공 확인
복사_파일출처: 문자열, 대상: 문자열, 재귀적 여부: 부울성공 확인
파일 삭제경로: 문자열성공 확인
파일_정보_받기경로: 문자열파일 메타데이터(크기, 타임스탬프, 권한)

일반적인 사용법:

# Read entire file skydeckai-code-cli --tool read_file --args '{"path": "src/main.py"}' # Read 10 lines starting from line 20 skydeckai-code-cli --tool read_file --args '{"path": "src/main.py", "offset": 20, "limit": 10}' # Read from line 50 to the end of the file skydeckai-code-cli --tool read_file --args '{"path": "src/main.py", "offset": 50}' # Write file skydeckai-code-cli --tool write_file --args '{"path": "output.txt", "content": "Hello World"}' # Copy file or directory skydeckai-code-cli --tool copy_file --args '{"source": "config.json", "destination": "config.backup.json"}' # Get file info skydeckai-code-cli --tool get_file_info --args '{"path": "src/main.py"}'

복잡한 파일 작업

편집_파일

미리 보기 지원을 통한 패턴 기반 파일 편집:

{ "path": "src/main.py", "edits": [ { "oldText": "def old_function():", "newText": "def new_function():" } ], "dryRun": false, "options": { "partialMatch": true } }

반환: 변경 사항의 차이점 또는 드라이런 모드에서의 미리보기.

디렉토리 작업

도구매개변수보고
get_allowed_directory없음현재 허용된 디렉토리 경로
업데이트 허용 디렉토리디렉토리: 문자열(절대 경로)성공 확인
목록_디렉토리경로: 문자열디렉토리 콘텐츠 목록
디렉토리 생성경로: 문자열성공 확인
검색_파일패턴: 문자열, 경로?: 문자열, include_hidden?: 부울일치하는 파일 목록

search_files 도구는 이름 패턴으로 파일을 검색하는 반면, search_code 도구는 정규식을 사용하여 파일 내용 내에서 검색합니다. 특정 이름이나 확장자를 가진 파일을 찾으려면 search_files 사용하고, 파일 내에서 특정 텍스트 패턴을 찾으려면 search_code 사용하세요.

디렉토리 트리

완전한 디렉토리 구조를 생성합니다:

{ "path": "src", "include_hidden": false }

반환: 디렉토리 내용의 JSON 트리 구조.

일반적인 사용법:

# List directory skydeckai-code-cli --tool list_directory --args '{"path": "."}' # Search for Python files skydeckai-code-cli --tool search_files --args '{"pattern": ".py", "path": "src"}'

Git 작업

도구매개변수보고
git_init경로: 문자열, 초기_브랜치?: 문자열저장소 초기화 상태
git_statusrepo_path: 문자열작업 디렉토리 상태
git_addrepo_path: 문자열, 파일: 문자열[]스테이징 확인
git_resetrepo_path: 문자열스테이징 해제 확인
git_checkoutrepo_path: 문자열, branch_name: 문자열지점 전환 확인
git_create_branchrepo_path: 문자열, branch_name: 문자열지점 생성 확인
git_cloneurl: 문자열, target_path: 문자열, branch?: 문자열복제 확인
git_diff_unstagedrepo_path: 문자열단계적이지 않은 변경 사항 diff
git_diff_stagedrepo_path: 문자열단계적 변경 사항 diff
git_showrepo_path: 문자열, commit_hash: 문자열특정 커밋의 세부 정보

복잡한 Git 작업

git_commit
{ "repo_path": ".", "message": "feat: add new feature" }

반환: 커밋 해시와 확인.

git_diff
{ "repo_path": ".", "target": "main" }

반환: 현재 브랜치와 지정된 대상 브랜치 또는 커밋 사이의 모든 변경 사항을 보여주는 자세한 diff 출력입니다.

git_log
{ "repo_path": ".", "max_count": 10 }

반환: 해시, 작성자, 날짜, 메시지가 포함된 커밋 항목의 배열입니다.

일반적인 사용법:

# Check status skydeckai-code-cli --tool git_status --args '{"repo_path": "."}' # Clone a repository skydeckai-code-cli --tool git_clone --args '{"url": "https://github.com/username/repo.git", "target_path": "repo"}' # Create and switch to new branch skydeckai-code-cli --tool git_create_branch --args '{"repo_path": ".", "branch_name": "feature/new-branch"}'

코드 분석

코드베이스_매퍼

소스 코드 구조를 분석합니다.

{ "path": "src" }

보고:

  • 클래스와 그 메서드
  • 함수 및 매개변수
  • 모듈 구조
  • 코드 구성 통계
  • 상속 관계

지원 언어:

  • 파이썬(.py)
  • 자바스크립트(.js, .jsx, .mjs, .cjs)
  • 타입스크립트(.ts, .tsx)
  • 자바(.java)
  • C++(.cpp, .hpp, .cc)
  • 루비(.rb, .rake)
  • 고(.go)
  • 녹(.rs)
  • PHP(.php)
  • C#(.cs)
  • 코틀린(.kt, .kts)

체크_린트

기본 린팅 도구를 사용하여 코드베이스에서 린팅 문제를 확인하세요.

{ "path": "src", "languages": ["python", "javascript"], "linters": { "pylint": "--disable=C0111", "flake8": true, "eslint": "--fix" }, "max_issues": 100 }

매개변수:

매개변수유형필수의설명
아니요린트할 디렉토리 또는 파일(기본값: ".")
언어들정렬아니요린트할 언어 목록(비어 있으면 자동 감지)
린터물체아니요특정 린터에 대한 구성 - 부울 또는 CLI 인수를 사용할 수 있습니다.
최대_문제정수아니요반환할 문제의 최대 개수(기본값: 100, 무제한의 경우 0)

반환: 코드베이스에서 발견된 린팅 문제에 대한 상세 보고서(파일 경로, 줄 번호, 문제 설명 및 심각도 포함)입니다. 문제는 파일별로 그룹화되고 심각도별로 정렬됩니다.

지원되는 언어 및 린터:

  • Python: pylint, flake8(사용 가능한 것을 자동으로 사용)
  • JavaScript/TypeScript: ESLint
  • Dart/Flutter: dart_analyze(컴파일 오류도 보고함)

사용 예:

# Check entire codebase with default settings skydeckai-code-cli --tool check_lint # Check specific directory with custom pylint flags skydeckai-code-cli --tool check_lint --args '{ "path": "src", "linters": { "pylint": "--disable=missing-docstring,invalid-name" } }' # Check only Python files and disable flake8 skydeckai-code-cli --tool check_lint --args '{ "path": "src", "languages": ["python"], "linters": { "flake8": false } }' # Check Dart/Flutter files for linting and compilation errors skydeckai-code-cli --tool check_lint --args '{ "path": "lib", "languages": ["dart"], "linters": { "dart_analyze": "--fatal-infos" } }'

검색_코드

정규 표현식을 사용한 빠른 콘텐츠 검색 도구:

{ "pattern": "function\\s+\\w+", "include": "*.js", "exclude": "node_modules/**", "max_results": 50, "case_sensitive": false, "path": "src" }

매개변수:

매개변수유형필수의설명
무늬파일 내용을 검색하기 위한 정규 표현식 패턴
포함하다아니요포함할 파일 패턴(glob 구문, 기본값: "*")
들어오지 못하게 하다아니요제외할 파일 패턴(glob 구문, 기본값: "")
최대 결과정수아니요반환할 최대 결과 수(기본값: 100)
대소문자 구분부울아니요검색 시 대소문자를 구분하는지 여부(기본값: false)
아니요검색할 기본 디렉토리(기본값: ".")

반환: 줄 번호가 있는 파일로 그룹화된 일치하는 줄을 파일 수정 시간순으로 정렬하여 최신 파일이 먼저 나오도록 합니다.

이 도구는 최적의 성능을 위해 Python 대체 구현과 함께 ripgrep을 사용하며, 함수 선언, import, 변수 사용 또는 오류 처리와 같은 특정 코드 패턴을 찾는 데 이상적입니다.

사용 예:

# Find function declarations in JavaScript files skydeckai-code-cli --tool search_code --args '{ "pattern": "function\\s+\\w+", "include": "*.js" }' # Find all console.log statements with errors skydeckai-code-cli --tool search_code --args '{ "pattern": "console\\.log.*[eE]rror", "path": "src" }' # Find import statements in TypeScript files skydeckai-code-cli --tool search_code --args '{ "pattern": "import.*from", "include": "*.{ts,tsx}", "exclude": "node_modules/**" }'

시스템 정보

도구매개변수보고
시스템 정보 가져오기없음포괄적인 시스템 세부 정보

보고:

{ "working_directory": "/path/to/project", "system": { "os", "os_version", "architecture", "python_version" }, "wifi_network": "MyWiFi", "cpu": { "physical_cores", "logical_cores", "total_cpu_usage" }, "memory": { "total", "available", "used_percentage" }, "disk": { "total", "free", "used_percentage" }, "mac_details": { // Only present on macOS "model": "Mac mini", "chip": "Apple M2", "serial_number": "XXX" } }

깔끔하고 읽기 쉬운 형식으로 필수 시스템 정보를 제공합니다.

# Get system information skydeckai-code-cli --tool get_system_info

화면 컨텍스트 및 이미지 도구

활성 앱 가져오기

사용자 시스템에서 현재 활성화된 애플리케이션 목록을 반환합니다.

{ "with_details": true }

매개변수:

매개변수유형필수의설명
세부 정보 포함부울아니요각 애플리케이션에 대한 추가 세부 정보를 포함할지 여부(기본값: false)

보고:

{ "success": true, "platform": "macos", "app_count": 12, "apps": [ { "name": "Firefox", "has_windows": true, "window_count": 3, "visible_windows": [ { "name": "GitHub - Mozilla Firefox", "width": 1200, "height": 800 } ] }, { "name": "VSCode", "has_windows": true } ] }

이 도구는 사용자 시스템에서 현재 실행 중인 애플리케이션에 대한 귀중한 맥락을 제공하여 더욱 관련성 있는 지원을 제공하는 데 도움이 될 수 있습니다.

사용 가능한 창 가져오기

사용자 화면에 현재 표시된 모든 사용 가능한 창에 대한 자세한 정보를 반환합니다.

{}

보고:

{ "success": true, "platform": "macos", "count": 8, "windows": [ { "id": 42, "title": "Document.txt - Notepad", "app": "Notepad", "visible": true }, { "title": "Terminal", "app": "Terminal", "visible": true, "active": true } ] }

이 도구는 사용자 화면에 표시되는 내용을 이해하는 데 도움이 되며 상황에 맞는 지원에 사용할 수 있습니다.

캡처_스크린샷

사용자 화면이나 특정 창의 스크린샷을 캡처합니다.

{ "output_path": "screenshots/capture.png", "capture_mode": { "type": "named_window", "window_name": "Visual Studio Code" } }

매개변수:

매개변수유형필수의설명
출력 경로아니요스크린샷을 저장할 경로(기본값: 생성된 경로)
캡처 모드물체아니요캡처할 내용을 지정합니다
캡처_모드.유형아니요스크린샷 유형: '전체', '활성 창' 또는 '지정된 창'(기본값: '전체')
캡처_모드.윈도우_이름아니요캡처할 창의 이름(유형이 'named_window'인 경우 필수)

보고:

{ "success": true, "path": "/path/to/screenshots/capture.png" }

이 도구는 시각화, 디버깅 또는 상황 인식 지원을 위해 스크린샷을 캡처합니다.

이미지 파일 읽기

파일 시스템에서 이미지 파일을 읽고 그 내용을 base64로 인코딩된 문자열로 반환합니다.

{ "path": "images/logo.png" }

매개변수:

매개변수유형필수의설명
읽을 이미지 파일의 경로
최대 크기정수아니요최대 파일 크기(바이트) (기본값: 100MB)

반환: 표시 또는 처리가 가능한 Base64로 인코딩된 이미지 데이터입니다.

이 도구는 PNG, JPEG, GIF, WebP와 같은 일반적인 이미지 형식을 지원하고, 최적의 보기를 위해 이미지 크기를 자동으로 조정합니다.

웹 도구

_페치

URL에서 콘텐츠를 가져와서 선택적으로 파일에 저장합니다.

{ "url": "https://api.github.com/users/octocat", "headers": { "Accept": "application/json" }, "timeout": 15, "save_to_file": "downloads/octocat.json", "convert_html_to_markdown": true }

매개변수:

매개변수유형필수의설명
URL콘텐츠를 가져올 URL(http/https만 해당)
헤더물체아니요요청에 포함할 선택적 HTTP 헤더
타임아웃정수아니요응답을 기다리는 최대 시간(기본값: 10초)
파일에 저장아니요응답 콘텐츠를 저장하는 경로(허용된 디렉토리 내)
HTML을 마크다운으로 변환부울아니요true인 경우 가독성을 높이기 위해 HTML 콘텐츠를 마크다운으로 변환합니다(기본값: true)

반환: HTTP 상태 코드와 크기 정보가 포함된 텍스트 형식의 응답 콘텐츠입니다. 바이너리 콘텐츠의 경우, 메타데이터를 반환하고 요청 시 파일에 저장합니다. convert_html_to_markdown을 활성화하면 HTML 콘텐츠가 가독성 향상을 위해 마크다운 형식으로 자동 변환됩니다.

이 도구는 크기 제한(최대 10MB)과 보안 제약 조건을 준수하면서 웹 API에 액세스하고, 문서를 가져오고, 웹에서 콘텐츠를 다운로드하는 데 사용할 수 있습니다.

사용 예:

# Fetch JSON from an API skydeckai-code-cli --tool web_fetch --args '{ "url": "https://api.github.com/users/octocat", "headers": {"Accept": "application/json"} }' # Download content to a file skydeckai-code-cli --tool web_fetch --args '{ "url": "https://github.com/github/github-mcp-server/blob/main/README.md", "save_to_file": "downloads/readme.md" }' # Fetch a webpage and convert to markdown for better readability skydeckai-code-cli --tool web_fetch --args '{ "url": "https://example.com", "convert_html_to_markdown": true }'

웹 검색

여러 검색 엔진을 사용하여 강력한 웹 검색을 수행하고 간결하고 관련성 있는 결과를 제공합니다.

{ "query": "latest python release features", "num_results": 8, "convert_html_to_markdown": true, "search_engine": "bing" }

매개변수:

매개변수유형필수의설명
질문처리할 검색어입니다. 더 나은 결과를 얻으려면 구체적으로 입력하세요.
결과 수정수아니요반환할 검색 결과의 최대 개수(기본값: 10, 최대값: 20)
HTML을 마크다운으로 변환부울아니요true인 경우 가독성을 높이기 위해 콘텐츠가 HTML에서 마크다운으로 변환됩니다(기본값: true)
검색 엔진아니요사용할 검색 엔진을 지정합니다: "auto"(기본값), "bing" 또는 "duckduckgo"

반환값: 마크다운 형식으로 작성된 검색 결과 목록(제목, URL, 각 결과의 스니펫 포함). 결과는 중복을 제거하고 계층적으로 정리하여 읽기 쉽게 합니다.

이 도구는 다양한 검색 엔진을 사용하여 다양한 구문 분석 전략을 시도하는 다중 엔진 방식을 사용하여 신뢰할 수 있는 결과를 보장합니다. 선호하는 엔진을 지정할 수 있지만, 일부 엔진은 자동 액세스를 차단할 수 있으며, 이 경우 "자동"을 선택하면 도구는 다른 엔진으로 대체됩니다.

사용 예:

# Search with default settings (auto engine selection) skydeckai-code-cli --tool web_search --args '{ "query": "latest python release features" }' # Try DuckDuckGo if you want alternative results skydeckai-code-cli --tool web_search --args '{ "query": "machine learning frameworks comparison", "search_engine": "duckduckgo" }' # Use Bing for reliable results skydeckai-code-cli --tool web_search --args '{ "query": "best programming practices 2023", "search_engine": "bing" }'

유틸리티 도구

배치 도구

가능하다면 병렬 실행으로 단일 요청에서 여러 도구 호출을 실행합니다.

{ "description": "Setup new project", "sequential": true, "invocations": [ { "tool": "create_directory", "arguments": { "path": "src" } }, { "tool": "write_file", "arguments": { "path": "README.md", "content": "# New Project\n\nThis is a new project." } }, { "tool": "git_init", "arguments": { "path": ".", "initial_branch": "main" } } ] }

매개변수:

매개변수유형필수의설명
설명배치 작업에 대한 간략한 설명
잇달아 일어나는부울아니요도구를 순서대로 실행할지 여부(기본값: false)
기도정렬실행할 도구 호출 목록
호출[].도구호출할 도구의 이름
호출[].인수물체지정된 도구에 대한 인수

반환값: 모든 도구 호출의 결과를 도구별로 그룹화하여 성공/오류 상태를 표시합니다. 결과는 원래 호출 순서대로 명확한 섹션 헤더와 함께 표시됩니다.

이 도구는 단일 요청으로 여러 작업을 효율적으로 실행합니다. sequential 이 false(기본값)이면 도구가 병렬로 실행되어 성능 향상을 가져옵니다. sequential true이면 도구가 순서대로 실행되며, 도구에 오류가 발생하면 실행이 중지됩니다.

중요 : 배치에 포함된 모든 도구는 동일한 작업 디렉터리 컨텍스트에서 실행됩니다. 도구가 디렉터리를 생성하고 후속 도구가 해당 디렉터리 내에서 작업해야 하는 경우, 다음 중 하나를 수행해야 합니다.

  1. 현재 작업 디렉토리에 대한 상대 경로를 사용합니다(예: "src" 대신 "project/src"). 또는
  2. update_allowed_directory 사용하여 디렉토리를 변경하기 위한 명시적 도구 호출을 포함합니다.

사용 예:

# Setup a new project with multiple steps in sequential order (using proper paths) skydeckai-code-cli --tool batch_tools --args '{ "description": "Setup new project", "sequential": true, "invocations": [ {"tool": "create_directory", "arguments": {"path": "project"}}, {"tool": "create_directory", "arguments": {"path": "project/src"}}, {"tool": "write_file", "arguments": {"path": "project/README.md", "content": "# Project\n\nA new project."}} ] }' # Create nested structure using relative paths (without changing directory) skydeckai-code-cli --tool batch_tools --args '{ "description": "Create project structure", "sequential": true, "invocations": [ {"tool": "create_directory", "arguments": {"path": "project/src"}}, {"tool": "create_directory", "arguments": {"path": "project/docs"}}, {"tool": "write_file", "arguments": {"path": "project/README.md", "content": "# Project"}} ] }' # Gather system information and take a screenshot (tasks can run in parallel) skydeckai-code-cli --tool batch_tools --args '{ "description": "System diagnostics", "sequential": false, "invocations": [ {"tool": "get_system_info", "arguments": {}}, {"tool": "capture_screenshot", "arguments": { "output_path": "diagnostics/screen.png", "capture_mode": { "type": "full" } }} ] }'

생각하다

저장소를 변경하지 않고도 복잡한 추론과 브레인스토밍을 위한 도구입니다.

{ "thought": "Let me analyze the performance issue in the codebase:\n\n## Root Cause Analysis\n\n1. The database query is inefficient because:\n - It doesn't use proper indexing\n - It fetches more columns than needed\n - The JOIN operation is unnecessarily complex\n\n## Potential Solutions\n\n1. **Add database indexes**:\n - Create an index on the user_id column\n - Create a composite index on (created_at, status)\n\n2. **Optimize the query**:\n - Select only necessary columns\n - Rewrite the JOIN using a subquery\n - Add LIMIT clause for pagination\n\n3. **Add caching layer**:\n - Cache frequent queries using Redis\n - Implement cache invalidation strategy\n\nAfter weighing the options, solution #2 seems to be the simplest to implement with the highest impact." }

매개변수:

매개변수유형필수의설명
생각귀하의 자세한 생각, 분석 또는 추론 과정

반환: 여러분의 생각을 마크다운 형식으로 작성하고, 이것이 사고 연습이었다는 것을 나타내는 메모를 첨부합니다.

이 도구는 실제 변경 없이 복잡한 문제를 깊이 있게 고민하고, 해결책을 브레인스토밍하고, 실행 계획을 세우는 데 유용합니다. 추론 과정을 문서화하고, 다양한 접근 방식을 평가하고, 실행하기 전에 다단계 전략을 계획하는 데 매우 유용합니다.

사용 예:

# Analyze a bug and plan a fix skydeckai-code-cli --tool think --args '{ "thought": "# Bug Analysis\n\n## Observed Behavior\nThe login endpoint returns a 500 error when email contains Unicode characters.\n\n## Root Cause\nThe database adapter is not properly encoding Unicode strings before constructing the SQL query.\n\n## Potential Fixes\n1. Update the database adapter to use parameterized queries\n2. Add input validation to reject Unicode in emails\n3. Encode email input manually before database operations\n\nFix #1 is the best approach as it solves the core issue and improves security." }' # Evaluate design alternatives skydeckai-code-cli --tool think --args '{ "thought": "# API Design Options\n\n## REST vs GraphQL\nFor this use case, GraphQL would provide more flexible data fetching but adds complexity. REST is simpler and sufficient for our current needs.\n\n## Authentication Methods\nJWT-based authentication offers stateless operation and better scalability compared to session-based auth.\n\nRecommendation: Use REST with JWT authentication for the initial implementation." }'

코드 실행

실행 코드

다양한 프로그래밍 언어로 안전 조치와 제한 사항을 적용하여 코드를 실행합니다.

{ "language": "python", "code": "print('Hello, World!')", "timeout": 5 }

지원 언어:

  • 파이썬(python3)
  • 자바스크립트(Node.js)
  • 루비
  • 페피(PHP)
  • 가다

매개변수:

매개변수유형필수의설명
언어사용할 프로그래밍 언어
암호실행할 코드
타임아웃정수아니요최대 실행 시간(기본값: 5초)

사용 예:

# Python example skydeckai-code-cli --tool execute_code --args '{ "language": "python", "code": "print(sum(range(10)))" }' # JavaScript example skydeckai-code-cli --tool execute_code --args '{ "language": "javascript", "code": "console.log(Array.from({length: 5}, (_, i) => i*2))" }' # Ruby example skydeckai-code-cli --tool execute_code --args '{ "language": "ruby", "code": "puts (1..5).reduce(:+)" }' # Go example skydeckai-code-cli --tool execute_code --args '{ "language": "go", "code": "fmt.Println(\"Hello, Go!\")" }'

요구 사항:

  • 각 언어 런타임을 설치해야 합니다.
  • 명령은 시스템 PATH에서 사용할 수 있어야 합니다.
  • 임시 파일 생성에 대한 적절한 권한

⚠️ 보안 경고: 이 도구는 시스템에서 임의의 코드를 실행합니다. 항상:

  1. 실행하기 전에 코드를 철저히 검토하세요
  2. 코드의 목적과 예상 결과를 이해하세요
  3. 신뢰할 수 없는 코드는 실행하지 마세요
  4. 잠재적인 시스템 영향을 인식하세요
  5. 모니터 실행 출력

쉘 스크립트 실행

안전 조치와 제한 사항을 적용하여 셸 스크립트(bash/sh)를 실행합니다.

{ "script": "echo \"Current directory:\" && pwd", "timeout": 300 }

매개변수:

매개변수유형필수의설명
스크립트실행할 쉘 스크립트
타임아웃정수아니요최대 실행 시간(기본값: 300초, 최대값: 600초)

사용 예:

# List directory contents with details skydeckai-code-cli --tool execute_shell_script --args '{ "script": "ls -la" }' # Find all Python files recursively skydeckai-code-cli --tool execute_shell_script --args '{ "script": "find . -name \"*.py\" -type f" }' # Complex script with multiple commands skydeckai-code-cli --tool execute_shell_script --args '{ "script": "echo \"System Info:\" && uname -a && echo \"\nDisk Usage:\" && df -h" }'

특징:

  • 시스템 간 최대 호환성을 위해 /bin/sh를 사용합니다.
  • 허용된 디렉토리 내에서 실행됩니다.
  • stdout과 stderr 출력을 분리합니다.
  • 적절한 오류 처리 및 시간 초과 제어

⚠️ 보안 경고: 이 도구는 시스템에서 임의의 셸 명령을 실행합니다. 항상:

  1. 실행하기 전에 스크립트를 철저히 검토하세요
  2. 스크립트의 목적과 예상 결과를 이해하세요
  3. 신뢰할 수 없는 스크립트를 실행하지 마십시오
  4. 잠재적인 시스템 영향을 인식하세요
  5. 모니터 실행 출력

구성

구성 파일: ~/.skydeckai_code/config.json

{ "allowed_directory": "/path/to/workspace" }

CLI 사용법

기본 명령 구조:

skydeckai-code-cli --tool <tool_name> --args '<json_arguments>' # List available tools skydeckai-code-cli --list-tools # Enable debug output skydeckai-code-cli --debug --tool <tool_name> --args '<json_arguments>'

디버깅

디버깅을 위해 MCP Inspector를 사용하세요.

npx @modelcontextprotocol/inspector run

보안

  • 구성된 허용 디렉토리로 제한된 작업
  • 경로 탐색 방지
  • 파일 권한 보존
  • 안전한 작업 취급

곧 출시될 기능

  • GitHub 도구:
    • PR 설명 생성기
    • 코드 검토
    • 액션 관리자
  • Pivotal Tracker 도구:
    • 스토리 생성기
    • 스토리 매니저

개발 현황

현재 개발 중입니다. 기능과 API는 변경될 수 있습니다.

특허

Apache License 2.0 - LICENSE 참조

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

AiDD MCP 서버는 AI 에이전트가 파일 시스템 작업과 코드 분석을 수행할 수 있는 안전한 인터페이스를 제공하여 여러 프로그래밍 언어에서 AI 지원 개발 워크플로를 향상시킵니다.

  1. Formerly Known As MCP-Server-AIDD
    1. Installation
    2. Claude Desktop Setup
    3. SkyDeck AI Helper App
    4. Key Features
    5. Available Tools
    6. Configuration
    7. CLI Usage
    8. Debugging
    9. Security
    10. Upcoming Features
    11. Development Status
    12. License
ID: mpixtij6se