Skip to main content
Glama
hiroog

mcp-filter-adapter

by hiroog
README.md
# mcp-filter-adapter

UE5 5.8 の MCP サーバーから、画面キャプチャなどの画像を取得できるようにするアダプタ


## UE5 5.8 MCP の問題とツールの役割

CaptureViewport 等の Tool 利用時に、画像が text として返ってくるため AI が認識することが出来なくなっています。
またトークンを大量消費し、コンテキストウィンドウが溢れてツールが止まってしまう問題も発生します。

このツールは Client と UE5 MCP Server の間に入り、キャプチャ画像を正しく認識できる形に変換を行います。


## 実際の動作

before(UE5 MCP サーバーの生レスポンス):

```json
{ "content": [ { "type": "text",
  "text": "{\"returnValue\":{\"image\":{\"mimeType\":\"image/png\",\"data\":\"iVBORw0KG...\"}}}" } ] }
```


after(このアダプタ通過後):

```json
{ "content": [
  { "type": "image", "mimeType": "image/png", "data": "iVBORw0KG..." },
  { "type": "text",  "text": "{\"returnValue\": {\"image\": \"<image #0>\", \"cameraFOV\": 90, ...}}" } ] }
```


## 使い方


既存の UE5 の mcp 設定を置き換えます。

元の UE5 MCP の設定

```json
{
  "mcpServers": {
    "unreal-mcp": {
      "type": "http",
      "url": "http://127.0.0.1:8000/mcp",
      ]
    }
  }
}

```

↓ これを以下のように置き換える (`<path>/mcp-filter-adapter` の部分は clone したフォルダを指定)

```json
{
  "mcpServers": {
    "unreal-mcp": {
      "command": "uv",
      "args": [
      	"run",
        "--directory", "<path>/mcp-filter-adapter",
        "mcp-filter-adapter",
        "--upstream", "http://127.0.0.1:8000/mcp"
      ]
    }
  }
}
```

1. uv をインストール
2. このリポジトリを git clone
3. mcp.json 等に上記エントリを追加
4. clone したフォルダを `--directory` で指定
5. `--upstream` には UE5 MCP Server の URL を指定