Skip to main content
Glama

view-image-mcp

Claude Code から画像をターミナル内にインライン表示する MCP サーバー。

Kitty グラフィクスプロトコルを使用して、Ghostty や Kitty などの対応ターミナル上で画像を直接表示します。

対応環境

  • OS: macOS

  • ターミナル: Ghostty, Kitty(Kitty グラフィクスプロトコル対応ターミナル)

  • ランタイム: Node.js v18+

Related MCP server: gpt-image-2-combined

対応フォーマット

フォーマット

対応方法

PNG

そのまま表示

JPEG

sips で PNG に変換して表示

GIF

sips で PNG に変換して表示

WebP

sips で PNG に変換して表示

インストール

git clone <repository-url>
cd view-image-mcp
npm install

Claude Code への登録

claude mcp add view-image node /path/to/view-image-mcp/index.js

または ~/.claude.json に直接追記:

{
  "mcpServers": {
    "view-image": {
      "command": "node",
      "args": ["/path/to/view-image-mcp/index.js"]
    }
  }
}

使い方

Claude Code 上で画像ファイルの表示を依頼すると、view_image ツールが呼ばれてターミナルにインライン表示されます。

> この画像を表示して: /path/to/screenshot.png

ツール: view_image

パラメータ

説明

path

string

画像ファイルのパス(絶対パスまたは相対パス)

仕組み

Claude Code ←(stdio JSON-RPC)→ MCP Server
                                    │
                                    ├─ 画像ファイルを読み込み
                                    ├─ 必要に応じて PNG に変換 (sips)
                                    ├─ Base64 エンコード + チャンク分割
                                    └─ /dev/tty に Kitty グラフィクスプロトコルで書き込み
                                            │
                                            ▼
                                    ターミナルにインライン表示

MCP サーバーの stdout は Claude Code との JSON-RPC 通信に使われるため、画像データは /dev/tty に直接書き込むことでターミナルに表示しています。

ライセンス

MIT

Available Tools

1 tool
view_imageA

Display an image file inline in the terminal using Kitty graphics protocol (Ghostty/Kitty). The image appears directly in the user's terminal.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute or relative path to the image file

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the behavioral trait of inline terminal display using a specific protocol, but does not mention potential limitations (e.g., terminal compatibility, file format support, error handling, or performance impacts). It adds some context but lacks comprehensive behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and efficiently structured in two sentences: the first states the action and method, the second clarifies the visual outcome. Every sentence earns its place with zero waste, making it highly concise and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (single parameter, no output schema, no annotations), the description is reasonably complete. It covers the purpose and method well, but could be more complete by addressing terminal compatibility or error scenarios. However, it provides sufficient context for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'path' parameter fully documented. The description does not add any meaning beyond what the schema provides (e.g., no details on path validation or supported image formats). Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Display an image file inline') with the resource ('image file') and distinguishes the method ('using Kitty graphics protocol (Ghostty/Kitty)'). It specifies the exact visual outcome ('appears directly in the user's terminal'), leaving no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating the tool displays images in terminals supporting Kitty/Ghostty protocols, but provides no explicit guidance on when to use it versus alternatives (e.g., other image viewers or protocols). With no sibling tools, this is adequate but lacks explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The tool 'view_image' has a single, clearly defined purpose.

Naming Consistency5/5

The single tool name 'view_image' follows a clear verb_noun pattern, and with only one tool, consistency is inherently perfect.

Tool Count2/5

A single tool is too few for most server purposes, as it limits functionality and flexibility. For an image viewing server, this feels thin and under-scoped.

Completeness2/5

The server's domain appears to be image viewing, but with only a display tool, there are significant gaps such as listing images, resizing, converting formats, or handling metadata, which agents might need for full workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/yamalab/view-image-mcp'

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