Skip to main content
Glama

SkyDeckAIコード

AI駆動型開発ワークフローのための包括的なツールセットを提供するMCPサーバー。ファイルシステム操作、複数のプログラミング言語に対応したtree-sitterを用いたコード分析、コード実行、HTMLからMarkdownへの変換によるWebコンテンツの取得、マルチエンジンWeb検索、コードコンテンツ検索、システム情報取得などの機能を備えています。ローカルおよびリモートリソースへの直接アクセスを提供することで、AIによるソフトウェア開発タスク支援能力を強化するように設計されています。

以前は MCP-Server-AIDD として知られていました

このMCPサーバーは以前はmcp-server-aiddという名前でした。SkyDeck.aiのチームがEast Agileと共にこのアプリケーションを開発したことを記念して、 skydeckai-codeに改名されました。しかし、より重要なのは、AI駆動開発(AIDD)という用語まだ普及していないことに気づいたことです。人々は一目見ただけでは、それが何を意味するのか理解できませんでした。法学修士(LLM)も同様です。「コード」の方がはるかに直感的でした。そして、言語的に直感的であることは、エージェントAIの世界では重要です。

インストール

# Using pip
pip install skydeckai-code

Related MCP server: AI Agent Template MCP Server

クロードデスクトップセットアップ

claude_desktop_config.jsonに追加します:

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

SkyDeck AIヘルパーアプリ

SkyDeck AI Helper アプリをご利用の場合は、「SkyDeckAI Code」を検索してインストールできます。

SkyDeck AIヘルパーアプリ

主な特徴

  • ファイルシステム操作(読み取り、書き込み、編集、移動、コピー、削除)

  • ディレクトリ管理とトラバーサル

  • tree-sitterを使った多言語コード解析

  • 正規表現パターンマッチングによるコードコンテンツの検索

  • 安全対策を備えた多言語コード実行

  • HTML から Markdown への変換による API および Web サイトからの Web コンテンツの取得

  • 信頼性の高いフォールバックメカニズムを備えたマルチエンジンウェブ検索

  • 並列およびシリアルツール実行のためのバッチ操作

  • 設定可能なワークスペース境界によるセキュリティ制御

  • スクリーンショットと画面コンテキストツール

  • 画像処理ツール

利用可能なツール (26)

カテゴリ

ツール名

説明

ファイルシステム

get_allowed_directory

現在の作業ディレクトリのパスを取得する

update_allowed_directory

作業ディレクトリを変更する

create_directory

新しいディレクトリまたはネストされたディレクトリを作成する

write_file

新しいコンテンツでファイルを作成または上書きする

edit_file

テキストファイルに行ベースの編集を行う

read_file

1つまたは複数のファイルの内容を読み取る

list_directory

ファイルとディレクトリのリストを取得する

move_file

ファイルまたはディレクトリを移動または名前変更する

copy_file

ファイルまたはディレクトリを新しい場所にコピーする

search_files

名前パターンに一致するファイルを検索する

delete_file

ファイルまたは空のディレクトリを削除する

get_file_info

詳細なファイルメタデータを取得する

directory_tree

ディレクトリの再帰ツリービューを取得する

read_image_file

画像ファイルをbase64データとして読み込む

コードツール

codebase_mapper

ファイル全体のコード構造を分析する

search_code

コードファイル内のテキストパターンを見つける

execute_code

さまざまな言語でコードを実行する

execute_shell_script

シェル/bashスクリプトを実行する

ウェブツール

web_fetch

URLからコンテンツを取得する

web_search

ウェブ検索を実行する

スクリーンツール

capture_screenshot

画面またはウィンドウのスクリーンショットを撮る

get_active_apps

実行中のアプリケーションの一覧

get_available_windows

開いているウィンドウをすべて一覧表示する

システム

get_system_info

詳細なシステム情報を取得する

ユーティリティ

batch_tools

複数のツール操作を同時に実行する

think

変更を加えずに推論を文書化する

詳細なツールドキュメント

基本的なファイル操作

道具

パラメータ

返品

読み取りファイル

ファイル: [{パス: 文字列、オフセット?: 整数、制限?: 整数}]

ファイルの内容(単一または複数のファイル)

書き込みファイル

パス: 文字列、コンテンツ: 文字列

成功確認

ファイルの移行

ソース: 文字列、宛先: 文字列

成功確認

コピーファイル

ソース: 文字列、宛先: 文字列、再帰?: ブール値

成功確認

ファイルを削除

パス: 文字列

成功確認

ファイル情報を取得する

パス: 文字列

ファイルのメタデータ(サイズ、タイムスタンプ、権限)

CLI の使用法:

# Read entire file
skydeckai-code-cli --tool read_file --args '{"files": [{"path": "src/main.py"}]}'

# Read 10 lines starting from line 20
skydeckai-code-cli --tool read_file --args '{"files": [{"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 '{"files": [{"path": "src/main.py", "offset": 50}]}'

# Read multiple files with different line ranges
skydeckai-code-cli --tool read_file --args '{"files": [
  {"path": "src/main.py", "offset": 1, "limit": 10},
  {"path": "README.md"}
]}'

# 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
    }
}

戻り値: 変更の差分またはドライ ラン モードでのプレビュー。

ディレクトリ操作

道具

パラメータ

返品

許可されたディレクトリを取得する

なし

現在許可されているディレクトリパス

更新が許可されたディレクトリ

ディレクトリ: 文字列 (絶対パス)

成功確認

リストディレクトリ

パス: 文字列

ディレクトリ内容リスト

ディレクトリの作成

パス: 文字列

成功確認

検索ファイル

パターン: 文字列、パス?: 文字列、include_hidden?: ブール値

一致するファイルリスト

search_filesツールは名前のパターンでファイルを検索し、 search_codeツールは正規表現を使用してファイルの内容を検索します。特定の名前または拡張子を持つファイルを検索する場合はsearch_filesを使用し、ファイル内の特定のテキストパターンを検索する場合はsearch_code使用します。

ディレクトリツリー

完全なディレクトリ構造を生成します:

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

戻り値: ディレクトリの内容の JSON ツリー構造。

CLI の使用法:

# 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"}'

コード分析

コードベースマッパー

ソースコード構造を分析します:

{
    "path": "src"
}

戻り値:

  • クラスとそのメソッド

  • 関数とパラメータ

  • モジュール構造

  • コード構成統計

  • 相続関係

サポートされている言語:

  • Python (.py)

  • JavaScript (.js/.jsx、.mjs、.cjs)

  • TypeScript (.ts/.tsx)

  • Java (.java)

  • C++ (.cpp、.hpp、.cc)

  • Ruby (.rb、.rake)

  • ゴー(.go)

  • Rust (.rs)

  • PHP (.php)

  • C# (.cs)

  • Kotlin (.kt、.kts)

CLI の使用法:

# Map the entire codebase structure
skydeckai-code-cli --tool codebase_mapper --args '{"path": "."}'

# Map only the source directory
skydeckai-code-cli --tool codebase_mapper --args '{"path": "src"}'

# Map a specific component or module
skydeckai-code-cli --tool codebase_mapper --args '{"path": "src/components"}'

検索コード

正規表現を使用した高速コンテンツ検索ツール:

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

パラメータ:

パラメータ

タイプ

必須

説明

パターン

文字列の配列

はい

ファイルの内容を検索する正規表現パターンのリスト

含む

いいえ

含めるファイルパターン (glob 構文、デフォルト: "*")

除外する

いいえ

除外するファイルパターン(glob構文、デフォルト: "")

最大結果数

整数

いいえ

パターンごとに返される結果の最大数(デフォルト: 100)

大文字と小文字を区別

ブール値

いいえ

検索で大文字と小文字を区別するかどうか(デフォルト: false)

パス

いいえ

検索するベースディレクトリ (デフォルト: ".")

**戻り値:**一致する行をファイルごとに行番号付きでグループ化し、ファイルの変更時刻で並べ替えて、最新のファイルを先頭にします。

このツールは、最適なパフォーマンスを得るために、利用可能な場合は ripgrep を使用し、Python フォールバック実装を備えています。関数の宣言、インポート、変数の使用、エラー処理など、特定のコードパターンを見つけるのに最適です。

CLI の使用法:

# Find function and class declarations in JavaScript files
skydeckai-code-cli --tool search_code --args '{
    "patterns": ["function\\s+\\w+", "class\\s+\\w+"],
    "include": "*.js"
}'

# Find all console.log statements with errors or warnings
skydeckai-code-cli --tool search_code --args '{
    "patterns": ["console\\.log.*[eE]rror", "console\\.log.*[wW]arning"],
    "path": "src"
}'

# Find import and export statements in TypeScript files
skydeckai-code-cli --tool search_code --args '{
    "patterns": ["import.*from", "export.*"],
    "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"
  }
}

重要なシステム情報を、わかりやすく読みやすい形式で提供します。

CLI の使用法:

# 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"
    }
}

パラメータ:

パラメータ

タイプ

必須

説明

出力パス

いいえ

スクリーンショットを保存するパス(デフォルト:生成されたパス)

キャプチャモード

物体

いいえ

キャプチャする内容を指定する

キャプチャモードタイプ

いいえ

スクリーンショットの種類: 'full'、'active_window'、または 'named_window' (デフォルト: 'full')

キャプチャモード.ウィンドウ名

いいえ

キャプチャするウィンドウの名前(タイプが「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コンテンツは読みやすさを向上させるために自動的にマークダウン形式に変換されます。

このツールを使用すると、サイズ制限 (最大 10 MB) とセキュリティ制約を遵守しながら、Web API にアクセスしたり、ドキュメントを取得したり、Web からコンテンツをダウンロードしたりできます。

CLI の使用法:

# 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
}'

ウェブ検索

複数の検索エンジンを使用して強力な Web 検索を実行し、簡潔で関連性の高い結果を返します。

{
    "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」

戻り値: Markdown形式でフォーマットされた検索結果のリスト(各結果のタイトル、URL、スニペットを含む)が返されます。結果は重複が排除され、読みやすいように階層的に整理されています。

このツールは、信頼性の高い結果を得るために、様々な検索エンジンを様々な解析戦略で試行するマルチエンジンアプローチを採用しています。優先エンジンを指定することもできますが、一部のエンジンでは自動アクセスがブロックされる場合があります。その場合、「自動」を選択すると、ツールは代替エンジンにフォールバックします。

CLI の使用法:

# 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": "execute_shell_script",
            "arguments": {
                "script": "git init"
            }
        }
    ]
}

パラメータ:

パラメータ

タイプ

必須

説明

説明

はい

バッチ操作の簡単な説明

一連

ブール値

いいえ

ツールを順番に実行するかどうか(デフォルト: false)

呼び出し

配列

はい

実行するツール呼び出しのリスト

呼び出し[].ツール

はい

呼び出すツールの名前

呼び出し[].引数

物体

はい

指定されたツールの引数

**戻り値:**すべてのツール呼び出しの結果を結合し、ツールごとにグループ化して、それぞれの成功/エラーステータスを表示します。結果は、明確なセクションヘッダーとともに、元の呼び出し順序で表示されます。

このツールは、単一のリクエストで複数の操作を効率的に実行します。sequential がsequential (デフォルト)の場合、ツールは並列実行され、パフォーマンスが向上します。sequential がsequentialの場合、ツールは順番に実行され、いずれかのツールが失敗した場合は実行が停止されます。

重要:バッチ内のすべてのツールは同じ作業ディレクトリコンテキストで実行されます。あるツールがディレクトリを作成し、後続のツールがそのディレクトリ内で動作する必要がある場合は、次のいずれかを実行する必要があります。

  1. 現在の作業ディレクトリからの相対パスを使用する(例:単に「src」ではなく「project/src」)か、

  2. update_allowed_directoryを使用してディレクトリを変更するための明示的なツール呼び出しを含める

CLI の使用法:

# 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."
}

パラメータ:

パラメータ

タイプ

必須

説明

考え

はい

あなたの詳細な思考、分析、推論のプロセス

**戻り値:**あなたの考えはマークダウン形式で、思考練習であったことを示すメモが付きます。

このツールは、複雑な問題をじっくり考えたり、解決策をブレインストーミングしたり、実際に変更を加えることなく実装計画を立てたりするのに役立ちます。推論プロセスを文書化したり、複数のアプローチを評価したり、行動を起こす前に段階的な戦略を計画したりするのに最適な方法です。

CLI の使用法:

# 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
}

サポートされている言語:

  • Python(python3)

  • JavaScript(Node.js)

  • ルビー

  • PHP

  • 行く

  • さび

パラメータ:

パラメータ

タイプ

必須

説明

言語

はい

使用するプログラミング言語

コード

はい

実行するコード

タイムアウト

整数

いいえ

最大実行時間(デフォルト:5秒)

CLI の使用法:

# 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秒)

CLI の使用法:

# 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 -ライセンスを参照

星の歴史チャート

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/skydeckai/mcp-server-aidd'

If you have feedback or need assistance with the MCP directory API, please join our Discord server