Skip to main content
Glama

winuse-mcp

Windows上のClaude Codeでコンピューターを使用するためのツール。Claudeが画面を見て、マウスとキーボードを操作できるようにするMCPサーバーです。

Claude CodeはCLIでのコンピューター使用機能をmacOSでのみ提供しているため、Windowsではcomputer-useサーバーが/mcpに表示されません。これは、Windows API上で同じスクリーンショット&クリックループを再構築したものです: 14のツール、5つの依存関係、Python 3.12。

インストール

Windowsとuvが必要です。プロジェクト内の.mcp.json、またはすべてのプロジェクトで使用する場合は~/.claude.jsonに以下を追加してください:

{
  "mcpServers": {
    "winuse": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/ryanportfolio/winuse-mcp", "winuse-mcp"]
    }
  }
}

代わりにローカルクローンから:

{
  "mcpServers": {
    "winuse": {
      "command": "uv",
      "args": ["run", "--directory", "C:/path/to/winuse-mcp", "winuse-mcp"]
    }
  }
}

Claude Codeを再起動し、画面を見るかアプリをクリックするよう指示してください。

Related MCP server: Win:Computer Use

機能一覧

ツール

機能

screenshot()

プライマリモニターのPNG、縮小版

left_click(x, y)

指定位置をクリック

double_click(x, y)

指定位置をダブルクリック

triple_click(x, y)

トリプルクリック、行または段落を選択

right_click(x, y)

コンテキストメニューのクリック

middle_click(x, y)

マウスホイールボタンのクリック

mouse_move(x, y)

クリックせずにカーソルを移動

left_click_drag(start_x, start_y, end_x, end_y)

押下、ドラッグ、離す

type(text)

現在のフォーカスに入力、非ASCII文字はクリップボード経由

key(combo)

キーまたはキーの組み合わせ: enter, ctrl+s, alt+f4

scroll(x, y, direction, amount)

up, down, left, right; 水平方向はshift+ホイールとして送信

cursor_position()

現在のマウス位置

record(duration_seconds, max_frames)

最大15秒間、最大8フレームの画面をサンプリング

wait(seconds)

次のアクションの前に一時停止、最大10秒

座標は常にスクリーンショット空間内です。以下を参照してください。

座標の仕組み

スクリーンショットは長辺が最大1372ピクセルになるように縮小されます。これはClaude CodeがmacOSで使用するのと同じターゲットです。Claudeはネイティブピクセルを見ることはないため、縮小された画像内でクリックし、サーバーが元の座標に変換し直します。

1920x1080のディスプレイは1372x772でキャプチャされ、倍率は0.715です。686, 443でのクリックは960, 620に着地します。

サーバーは起動時にDPI対応を宣言するため、Windowsの表示スケールが125%や150%でもクリック位置がずれることはありません。

安全性

これは言語モデルにデスクトップの制御を委ねます。Anthropic自身のバージョンは、このサーバーにはないガードレールで同じループをラップしています: アプリごとの承認、Claudeが承認されていないアプリの非表示、スクリーンショットからのターミナルの除外、各アクションに対するモデル側のチェック。

このサーバーで提供されるもの:

  • 許可リストに追加しない限り、Claude Codeは各ツール呼び出しの前に確認を求めます。入力ツールは手動承認のままにし、screenshotのみ許可リストに追加してください。

  • マウスを画面の左上隅に移動すると、実行中のアクションを中断できます。これはpyautoguiのフェイルセーフ機能であり、その1つの隅のみを監視します。ドラッグ中に中断すると、終了時にマウスボタンが離されるため、ドラッグ状態が残ることはありません。

  • 画面上にあるものすべてがモデルに届きます。画面上のテキストは信頼できない入力として扱い、そこに表示される指示はプロンプトインジェクションのリスクとして扱ってください。

制限事項

  • プライマリモニターのみ。

  • ターミナルはスクリーンショットから除外されないため、Claudeは自身のセッションを見ることになります。

  • recordは静止フレームをサンプリングし、最大8フレームです。動画パスはありません。

開発

uv sync
uv run winuse-mcp

scripts/client_test.pyがリファレンスチェックです: MCP over stdioでサーバーと通信し、ツールを一覧表示し、スクリーンショットを撮り、マウスを動かして位置を読み取り、フレームを記録し、不正なキーの組み合わせでエラーになることをアサートします。

uv run python scripts/client_test.py

scripts/failsafe_test.pyは、ユーザーが中断中に遭遇するパスをカバーします。pyautoguiはスタブ化されているため、実際の中断は不要です: 途中で中断されたドラッグでもボタンは離され、途中で中断された水平スクロールでもshiftは離され、コード解析はリテラルの+を処理し、フェイルセーフピクセルにクリックが着地することはありません。

uv run python scripts/failsafe_test.py

このREADMEはビルドされています。ページ上のすべての数値はビルド時にソースから再計算され、ずれがあるとビルドは失敗します。

node scripts/readme/build.mjs

ライセンス

MIT

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    A
    maintenance
    An MCP server that lets Claude operate your real computer by moving the actual mouse, clicking, typing, and reading the actual screen, working with your own logged-in sessions in any application.
    MIT

View all related MCP servers

Related MCP Connectors

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

  • An MCP server that gives your AI access to the source code and docs of all public github repos

View all MCP Connectors

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/ryanportfolio/winuse-mcp'

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