Skip to main content
Glama
taiki-yoshida

copilot-studio-code

copilot-studio-code

ローカルのMCPサーバーであり、Microsoft Copilot Studioエージェントにローカルファイルシステムおよびシェルに対するClaude-Codeスタイルのツール(読み取り、編集、検索、コマンド実行)をCopilot Studioのテストキャンバスから提供します。インポート可能なCopilot Studioソリューションが付属しているため、数分で動作するエージェントを構築できます。

公開されるツール

ツール

目的

read_file

UTF-8テキストファイルを読み取ります。

write_file

ファイルを作成または上書きします。

edit_file

文字列の完全一致置換を行います(一意の一致が必要、または replace_all=true を指定)。

list_dir

ディレクトリ内のエントリを一覧表示します。

glob

グロブパターンに一致するファイルを検索します。

grep

ファイル全体で正規表現検索を行います(node_modules、.git、dist はスキップ)。

run_shell

シェルコマンドを実行します(WindowsではPowerShell、それ以外ではbash)。 strict モードでは無効化されます。

Related MCP server: Local Dev Bridge MCP

セキュリティモード(起動時に選択)

モード

パス制限

run_shell

strict

強制

無効

moderate (デフォルト)

強制

有効、監査ログ記録

open

オフ

有効、監査ログ記録

モードの選択順序(優先度順):

  1. SAFETY 環境変数 (strict / moderate / open)

  2. --safety <mode> CLIフラグ

  3. 起動時の対話型プロンプト(10秒タイムアウト → moderate)

すべての write_file、edit_file、および run_shell の呼び出しは <root>/.copilotstudio-mcp/audit.log に追記されます。

実行方法

npm install
npm start

サーバーは以下のような出力を表示します:

copilot-studio-code MCP server
  workspace root : E:\Dev\projects\my-project
  safety mode    : moderate
  listening on   : http://localhost:8787/mcp
  health check   : http://localhost:8787/healthz

操作対象のワークスペースを上書きする場合:

$env:WORKSPACE_ROOT = "E:\Dev\some-other-project"; npm start

Copilot Studioへの組み込み

Copilot Studioはクラウドホスト型であるため、localhost には到達できません。Microsoft Dev Tunnels を使用して、HTTPS経由でサーバーを公開してください。

1. dev tunnelsのインストールとログイン

winget install Microsoft.devtunnel
devtunnel user login

2. ポート8787用の永続的なトンネルを作成

devtunnel create copilotstudio-mcp --allow-anonymous
devtunnel port create copilotstudio-mcp -p 8787 --protocol http
devtunnel host copilotstudio-mcp

devtunnel host は https://<id>-8787.usw2.devtunnels.ms のようなパブリックURLを表示します。そのまま実行し続けてください。

--allow-anonymous を外すと、トンネルはCopilot Studio側でMSアカウントを要求するようになります。動作確認が完了したら推奨されます。

3. MCPサーバーをCopilot Studioエージェントに接続する

2つの方法があります:プリビルドソリューションをインポートする(最速)、または手動でエージェントを設定する。

パスA — プリビルドソリューションをインポートする

solution/ フォルダには、事前設定されたエージェント(生成オーケストレーション有効、コンテンツモデレーション低)、MCPサーバー用のカスタムコネクタ、およびプランナーにツールを提示する WorkspaceMCP トピックを含む、管理されていないCopilot Studioソリューションが同梱されています。

  1. https://make.powerapps.com を開き、環境を選択 → ソリューション → ソリューションのインポート。

  2. solution/CopilotStudioCode_1_0_0_0.zip をアップロードします。ウィザードのデフォルト設定に従ってください。

  3. インポート後、Workspace MCP カスタムコネクタを開く → 編集 → 全般 タブで、プレースホルダーホスト YOUR-TUNNEL-ID-PORT.YOUR-REGION.devtunnels.ms を実際のdev tunnelホスト(例: abc123-8787.usw2.devtunnels.ms)に置き換えます。保存 → コネクタの更新。

  4. インポートしたエージェントを開き、ステップ4(テストキャンバス)に進みます。

ソリューションにはMCPサーバー自体は含まれていません。サーバーはこのリポジトリからローカルで実行されます。コネクタは単にそれを指し示すだけです。

パスB — 手動でエージェントを設定する

  1. Copilot Studioを開く → エージェントを選択 → ツール → + ツールを追加 → Model Context Protocol。

  2. サーバーURL: https://<your-tunnel-id>-8787.usw2.devtunnels.ms/mcp

  3. 認証: なし(匿名トンネルの場合)または Microsoft Entra(認証が必要な場合)。

  4. 保存。Copilot Studioが /mcp からツールリストを取得し、7つのツールを表示します。それぞれがエージェントで有効になっていることを確認してください。

  5. 設定 → 生成AI → オーケストレーション: 生成; コンテンツモデレーション: 低。生成オーケストレーションがないと、プランナーはMCPツールをディスパッチしません。

4. テストキャンバスからテストする

テストキャンバスを開き、以下のようなプロンプトを試してください:

  • "List the files in the workspace root."

  • "Read package.json and tell me what scripts are defined."

  • "Add a new script called lint that runs tsc --noEmit."

  • "Run git status and summarize the result."

エージェントは src/tools.ts 内の記述から名前でツールを選択します。エージェントが誤ったツールを選択する場合は、それらの記述を調整してください。

プロジェクト構成

src/                                  the MCP server (TypeScript)
  index.ts                            entry: safety prompt + boot
  server.ts                           express + Streamable HTTP MCP transport
  tools.ts                            the seven tool registrations
  safety.ts                           mode definitions
  paths.ts                            workspace-root path jail
  audit.ts                            JSONL audit log
solution/                             importable Copilot Studio solution
  CopilotStudioCode_1_0_0_0.zip       agent + connector + topics (unmanaged)

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides Claude Desktop with direct access to your local file system for development tasks, enabling file operations (read, write, edit), directory browsing, command execution, and codebase search within a configured projects directory.
    6
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Bridges Claude Desktop to local Windows 10 development environments to enable repository reading, documentation searching, and isolated code execution. It provides a secure interface for running allowlisted terminal commands and scripts directly through natural language.
    4
    -