gyazo-mcp-server 0.3.0

Local MCP server for Gyazo with HTTP and stdio transport support
gyazo-mcp-server-0.3.0 is not a library.

gyazo-mcp-server

crates.io docs.rs license

Gyazo 向けのローカル MCP サーバーです。/mcp の streamable HTTP transport と、MCP 標準 login に準拠した認証 broker、さらに stdio transport を備えています。

Features

  • streamable HTTP transport と stdio transport の両対応
  • MCP 標準 login に対応した OAuth broker
  • Gyazo の list / get / latest / search / upload / delete / oEmbed tools
  • gyazo-mcp:///image_id 形式の resources

Available Tools

  • gyazo_whoami
  • gyazo_search
  • gyazo_list_images
  • gyazo_get_image
  • gyazo_delete_image
  • gyazo_get_latest_image
  • gyazo_upload_image
  • gyazo_get_oembed_metadata

Install

crates.io からインストールする場合は、次のコマンドを使用します。

cargo install gyazo-mcp-server

インストール後のバイナリは通常 ~/.cargo/bin/gyazo-mcp-server に配置されます。

ローカルソースからインストールする場合は、次のコマンドを使用します。

cargo install --path .

アンインストールは次のとおりです。

cargo uninstall gyazo-mcp-server

Build

開発ビルド:

cargo build

リリースビルド:

cargo build --release

生成されるバイナリは次のとおりです。

target/release/gyazo-mcp-server

Config

設定ファイルはプラットフォームごとの標準ディレクトリに配置されます。

OS ディレクトリ
Linux ~/.config/gyazo-mcp-server/
macOS ~/Library/Application Support/gyazo-mcp-server/
Windows C:\Users\<user>\AppData\Roaming\gyazo-mcp-server\

動作設定は config.toml、認証情報は .env に分けて管理します。

config.toml:

tcp_port = 18449
oauth_callback_path = "/oauth/callback"
rust_log = "gyazo_mcp_server=info,rmcp=info"

.env:

GYAZO_MCP_OAUTH_CLIENT_ID=your-client-id
GYAZO_MCP_OAUTH_CLIENT_SECRET=your-client-secret
GYAZO_MCP_PERSONAL_ACCESS_TOKEN=your-personal-access-token

GYAZO_MCP_PERSONAL_ACCESS_TOKEN は簡易確認や個人利用向けの代替手段です。

config / env サブコマンド

設定の確認・変更は configenv サブコマンドから行えます。

# 対話形式で初期設定(OAuth アプリ登録のガイド付き)
gyazo-mcp-server config init
gyazo-mcp-server env init

# 一覧表示
gyazo-mcp-server config show
gyazo-mcp-server env show

# 個別の取得・設定・削除
gyazo-mcp-server config get tcp_port
gyazo-mcp-server config set tcp_port 19000
gyazo-mcp-server config unset tcp_port

gyazo-mcp-server env get GYAZO_MCP_OAUTH_CLIENT_ID
gyazo-mcp-server env set GYAZO_MCP_OAUTH_CLIENT_ID your-id
gyazo-mcp-server env unset GYAZO_MCP_PERSONAL_ACCESS_TOKEN

# ファイルパスの確認
gyazo-mcp-server config path
gyazo-mcp-server env path

env showenv get でシークレット値を表示する際、出力先が TTY の場合はマスクされ、パイプの場合は生の値が出力されます。

設定ディレクトリの変更

設定ディレクトリを変更したい場合は、config set config_dir または --config-dir オプションを使用します。

# 永続的に変更(デフォルト位置の .env に保存される)
gyazo-mcp-server config set config_dir /path/to/custom

# 一時的に変更
gyazo-mcp-server --config-dir /path/to/custom config show

config_dir の永続化はデフォルト位置の .env に保存されます。これは、変更先の .env に書くと次回起動時にたどり着けなくなるためです。

環境変数による一時的な上書き

一時的に設定を上書きしたい場合は、環境変数でも指定できます。

GYAZO_MCP_TCP_PORT=14861 gyazo-mcp-server stdio --auth

Gyazo OAuth Application

OAuth login を利用する場合は、Gyazo の開発者ページで OAuth Application を作成してください。

config init を実行すると、基本設定から OAuth アプリケーション登録、クレデンシャル設定までを対話形式でガイドします。

gyazo-mcp-server config init   # 基本設定 → OAuth アプリ登録のガイド
gyazo-mcp-server env init      # Client ID / Secret の設定

手動で設定する場合は、次の手順で行います。

  1. Gyazo にログインする
  2. アプリケーション登録ページ を開く(未ログインの場合、ログイン後にキャプチャ一覧へ転送されることがあります。その場合は URL を直接開いてください)
  3. Name に任意の名前(例: Gyazo MCP Server)を入力する
  4. Callback URL に http://127.0.0.1:<port><callback_path> を登録する
  5. 作成後、アプリ名をクリックして詳細を開き、Client IDClient Secret を取得する
  6. 取得した値を gyazo-mcp-server env set で設定する

既定値では Callback URL は http://127.0.0.1:18449/oauth/callback です。config.tomltcp_port または oauth_callback_path を変更する場合は、Gyazo 側に登録する Callback URL も同じ値へ合わせてください。

まずローカルで動作確認したいだけであれば、Gyazo の開発者ページで発行できる Personal Access Token を GYAZO_MCP_PERSONAL_ACCESS_TOKEN に設定して利用することもできます。ただし、PAT で取得できるのは原則としてそのトークンを発行したユーザーに紐づく画像のみで、他ユーザーがアップロードした public 画像を取得する用途には向きません。また、PAT には OAuth login のようなユーザー認証文脈に基づく権限はないため、MCP login や user-scoped な認可の代替にはなりません。

Run

HTTP transport で起動する場合は次のとおりです。

gyazo-mcp-server

MCP endpoint は既定で http://127.0.0.1:18449/mcp です。

Codex や Claude Code から利用する場合は、この endpoint を MCP server URL として登録し、MCP login を実行してください。

stdio transport で起動する場合は次のとおりです。

gyazo-mcp-server stdio

stdio transport では MCP login を行えないため、事前に次のいずれかを満たしておく必要があります。

  • GYAZO_MCP_PERSONAL_ACCESS_TOKEN を設定しておく
  • 先に HTTP transport 側で OAuth login を済ませ、保存済み token を作っておく

MCP login 非対応の client しか使えない場合は、先に one-shot の OAuth 認証だけ実行できます。

gyazo-mcp-server stdio --auth

このコマンドは一時的に callback 用のローカル HTTP サーバーを立てて、Gyazo OAuth を完了させたら token を保存して終了します。完了後は通常どおり gyazo-mcp-server stdio を client から起動してください。

stdio --auth を使う場合は、次の条件が必要です。

  • Gyazo OAuth の authorize URL を開けるブラウザ、または同等の認可手段があること
  • http://127.0.0.1:<port><callback_path> への callback を受け取れること

完全な非対話環境では、OAuth の代わりに GYAZO_MCP_PERSONAL_ACCESS_TOKEN を利用する方が現実的です。ただし、PAT は OAuth login のようなユーザー認証文脈の権限を持たないため、利用できる操作やアクセス範囲は限定されます。

Stdio Client Examples

Codex CLI

Codex CLI では、たとえば次のように TOML で設定できます。

[mcp_servers.gyazo]
command = "/home/yourname/.cargo/bin/gyazo-mcp-server"
args = ["stdio"]

stdio --auth を先に一度実行して token を保存しておくか、.envGYAZO_MCP_PERSONAL_ACCESS_TOKEN を設定してください。

Claude Desktop / Claude Code

Claude Desktop や Claude Code 系では、たとえば次のように JSON で設定できます。

{
  "mcpServers": {
    "gyazo": {
      "command": "/home/yourname/.cargo/bin/gyazo-mcp-server",
      "args": ["stdio"]
    }
  }
}

こちらも、事前に gyazo-mcp-server stdio --auth を一度実行して token を保存しておくか、.envGYAZO_MCP_PERSONAL_ACCESS_TOKEN を設定してください。

設定管理には config / env サブコマンドも利用できます。詳しくは Config セクションを参照してください。

License

このリポジトリは MIT OR Apache-2.0 で提供します。詳細は LICENSE-MITLICENSE-APACHE を参照してください。