Skip to main content
Glama

MCP Gauge

コーディングエージェントによるMCPサーバーの自律的なテスト・評価・チューニングを実現する、計測・評価MCPサーバーです。

解決する課題

MCPサーバーの開発は「実装 → 手動でエージェントに使わせてみる → 問題を発見 → 修正」という人間依存のサイクルに縛られています。エージェントにMCPサーバーの開発を任せても、品質を評価する手段がないため、テスト・チューニングの段階で必ず人間がループに入る必要があります。

MCP Gaugeは、コーディングエージェント自身がこのサイクルを自律的に回せるようにします。エージェントがMCPサーバーを実装し、MCP Gaugeでテストを実行し、結果を解釈してツール説明文やパラメータ設計を改善する。この 「実装 → テスト → チューニング」ループを完全に自動化 します。

Related MCP server: projscan

動作の仕組み

MCP Gauge自体がMCPサーバーである

MCP Gaugeの最大の特徴は、 MCP Gauge自体がMCPサーバーとして動作する ことです。Claude Codeなどのコーディングエージェントは、MCP Gaugeを通常のMCPツールとして呼び出すだけでテスト・評価を実行できます。特別なCLIやGUIは必要ありません。

プロキシ型アーキテクチャ

MCP Gaugeは プロキシ型アーキテクチャ を採用しています。テスト対象MCPサーバーとの間に立ち、ツール呼び出しを中継・記録する仕組みです。

┌─────────────────────┐     ┌─────────────┐     ┌─────────────────────┐
│  コーディング        │ MCP │  MCP Gauge   │ MCP │  テスト対象           │
│  エージェント        │────→│  (プロキシ)   │────→│  MCPサーバー          │
│  (Claude Code等)    │←────│              │←────│                     │
└─────────────────────┘     └──────┬───────┘     └─────────────────────┘
                                   │
                              記録・計測
                                   │
                            ┌──────▼───────┐
                            │   SQLite DB   │
                            │ (トレースデータ) │
                            └──────────────┘

このアーキテクチャの重要なポイントは、 MCP Gauge自身はLLMを持たない ことです。ツール呼び出しの判断は、呼び出し元のコーディングエージェント自身が行います。MCP Gaugeはあくまでプロキシとしてリクエストを中継し、その過程でトレースデータを記録・計測するだけです。

これにより、LLM APIキーの管理が不要になり、Claude Codeのサブスクリプションプランを含む 任意のMCPクライアントからそのまま利用 できます。

テスト実行の流れ

MCP Gaugeを使ったテストは、以下の流れで進みます。

  1. 接続: エージェントが gauge_connect でテスト対象サーバーに接続を確立します。MCP Gaugeは対象サーバーのツール一覧をエージェントに返します。

  2. ツール呼び出し: エージェントはツール一覧を見て、自らの判断で gauge_proxy_call を使いツールを呼び出します。MCP Gaugeは各呼び出しを対象サーバーに中継しながら、ツール名・引数・結果・所要時間・エラー有無をすべて記録します。

  3. 切断: タスクが終わったら gauge_disconnect で接続を終了します。MCP Gaugeはセッション中の全呼び出しを集計し、トレースサマリー(総呼び出し回数、冗長呼び出し数、エラー回数、リカバリステップ数など)を返します。

  4. 評価: gauge_evaluate で、記録されたトレースデータに対して成功条件を照合します。「最大ステップ数以内か」「必須ツールが呼ばれたか」「禁止ツールが呼ばれていないか」「タスクが成功したか」を判定し、合否と詳細な評価結果を返します。

すべての結果はエージェントが解釈・判断可能な 構造化JSON で返されるため、エージェントは結果を読み取り、次のアクション(ツール説明文の修正、パラメータ設計の変更など)を自律的に決定できます。

提供するツール

MCP Gaugeは7つのMCPツールを提供します。

リンティング

ツール

説明

gauge_lint

テスト対象サーバーのツール説明文を静的解析し、曖昧な表現・パラメータ説明の不足・戻り値の記載漏れなどを検出します。LLM呼び出し不要で高速に実行されます。

プロキシセッション

ツール

説明

gauge_connect

テスト対象サーバーに接続し、トレースセッションを開始します。利用可能なツール一覧を返します。

gauge_proxy_call

接続済みのセッションを通じてツールを呼び出します。呼び出しは自動的にトレースとして記録されます。

gauge_disconnect

接続を切断し、セッション中の全呼び出しを集計したトレースサマリーを返します。

評価・分析

ツール

説明

gauge_evaluate

トレースデータを成功条件(最大ステップ数、必須ツール、禁止ツールなど)に基づいて評価し、合否判定を返します。

gauge_compare

2つのトレースセッション(変更前後)を比較し、各メトリクスの改善・悪化を判定します。

gauge_report

複数のトレースセッションから統合レポートを生成し、平均メトリクスと改善推奨事項を返します。

セットアップ

インストール

# uvでインストール
uv pip install -e .

# 開発用依存関係も含める場合
uv pip install -e ".[dev]"

MCPクライアントへの登録

Claude Codeの場合、.mcp.json に以下を追加します。

{
  "mcpServers": {
    "mcp-gauge": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-gauge", "python", "-m", "mcp_gauge"]
    }
  }
}

環境変数

変数名

説明

デフォルト

MCP_GAUGE_DB_PATH

トレースデータの保存先

~/.mcp-gauge/gauge.db

MCP_GAUGE_TIMEOUT

MCP接続タイムアウト(秒)

30

MCP_GAUGE_TOOL_TIMEOUT

ツール呼び出しタイムアウト(秒)

300

使い方

ローカルサーバーのテスト(stdio)

ローカルのMCPサーバーをテストする基本的な流れです。

# 1. ツール説明文をリンティング
gauge_lint(server_command="python", server_args=["-m", "my_mcp_server"])

# 2. テスト対象サーバーに接続
gauge_connect(server_command="python", server_args=["-m", "my_mcp_server"])
# → session_id と利用可能なツール一覧が返る

# 3. ツールをプロキシ経由で呼び出し(自動的にトレース記録)
gauge_proxy_call(session_id="...", tool_name="create", arguments={"name": "test"})

# 4. 接続を切断してサマリーを取得
gauge_disconnect(session_id="...", task_success=true)

# 5. 成功条件で評価
gauge_evaluate(session_id="...", success_criteria={
  "max_steps": 5,
  "required_tools": ["create", "list"],
  "must_succeed": true
})

リモートサーバーのテスト(Streamable HTTP / SSE)

リモートで稼働するMCPサーバーにも接続できます。

Streamable HTTP(推奨):

gauge_connect(
  server_url="https://example.com/mcp",
  headers={"Authorization": "Bearer token123"}
)

server_url を指定すると、トランスポートは自動的に streamable_http が選択されます。

SSE:

gauge_connect(
  server_url="https://example.com/sse",
  transport_type="sse",
  headers={"Authorization": "Bearer token123"}
)

SSEトランスポートを使う場合は transport_type="sse" を明示的に指定してください。

リモートサーバーのリンティング:

gauge_lint(
  server_url="https://example.com/mcp",
  headers={"Authorization": "Bearer token123"}
)

接続パラメータ

gauge_connectgauge_lint は共通の接続パラメータを受け取ります。

パラメータ

説明

server_command

対象サーバーの起動コマンド(stdio時に必須)

server_args

起動引数のリスト(デフォルト: []

server_url

リモートサーバーのURL(SSE/Streamable HTTP時に必須)

transport_type

トランスポートの種類: stdio, sse, streamable_http(自動判定あり)

headers

リモート接続時のHTTPヘッダー(デフォルト: {}

transport_type を省略した場合、server_url が指定されていれば streamable_http、それ以外は stdio が自動的に選択されます。

変更前後の比較

ツール説明文を改善した前後の効果を定量的に比較できます。

# 改善前のトレースをベースラインとして記録
gauge_connect(server_command="python", server_args=["-m", "my_server"])
# ... ツール呼び出し ...
gauge_disconnect(session_id="baseline-session")

# ツール説明文を改善した後、同じタスクを再実行
gauge_connect(server_command="python", server_args=["-m", "my_server"])
# ... ツール呼び出し ...
gauge_disconnect(session_id="current-session")

# 比較
gauge_compare(
  baseline_trace_id="baseline-session",
  current_trace_id="current-session"
)

レポート生成

複数のテスト結果を統合して分析できます。

gauge_report(trace_ids=["session-1", "session-2", "session-3"])

計測するメトリクス

MCP Gaugeは以下のメトリクスを自動計測します。

メトリクス

意味

改善のヒント

総ツール呼び出し回数

タスク完了までに要した呼び出しの総数

ツール説明文を明確にすることで、不要な試行錯誤を減らせます

冗長呼び出し回数

同一ツールに同一引数で繰り返された不必要な呼び出し

ツールの戻り値の説明を充実させ、エージェントが1回で正しい情報を得られるようにします

エラー回数

エラーレスポンスが返された回数

エラーメッセージに原因と対処法を含め、エージェントが自律的にリカバリできるようにします

リカバリステップ数

エラー発生後、正常フローに復帰するまでの追加ステップ数

この値が大きいほど、エラーメッセージの品質が低いことを示します

所要時間

セッション全体のエンドツーエンド所要時間

ツール設計の効率性を示す指標です

アーキテクチャ

レイヤー構成

MCP Gaugeは3層のレイヤードアーキテクチャで構成されています。

MCPサーバーレイヤー は、MCPプロトコルでツールを公開し、リクエストを受け付けます。プロトコル固有の処理のみを担当し、ビジネスロジックはエンジンレイヤーに委譲します。

エンジンレイヤー は、各機能のビジネスロジックを実装します。リンティング、トレース記録、プロキシセッション管理、成功条件評価、ベースライン比較、レポート生成の6つのエンジンで構成されます。

インフラレイヤー は、外部サービスへの接続とデータ永続化を担当します。テスト対象MCPサーバーへのMCPクライアント接続と、SQLiteによるトレースデータの永続化を行います。

各レイヤーは上位から下位への一方向の依存関係を持ち、逆方向の依存は禁止されています。

データ永続化

トレースデータはSQLiteデータベースに保存されます。WALモードを有効化しており、プロセスが異常終了した場合でも、コミット済みのトレースレコードは保護されます。起動時にはクラッシュリカバリーとして、未完了セッションの検出と状態復旧を自動的に行います。

技術スタック

技術

用途

Python 3.12+

実装言語

MCP Python SDK

MCPサーバー/クライアント実装

aiosqlite

非同期SQLiteアクセス

Pydantic 2.x

データモデル定義・バリデーション

ライセンス

MIT

Available Tools

7 tools
gauge_compareA

ベースラインのトレースと新規実行のトレースを比較し、メトリクスの改善/悪化を判定する。返却値にはoverall_verdictとメトリクスごとの比較結果を含む。

ParametersJSON Schema
NameRequiredDescriptionDefault
current_trace_idYes現在(変更後)のトレースID
baseline_trace_idYesベースライン(変更前)のトレースID

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries the transparency burden. It discloses the return value structure (overall_verdict and per-metric comparison results), which is useful behavioral information. However, it does not mention any side effects, prerequisites, or error conditions, though for a comparison tool these may be less relevant.

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 a single, concise sentence that states the core action and return value without redundancy. It earns its place with no filler.

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

Completeness3/5

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

Given the tool's simplicity and the absence of an output schema, the description provides the essential purpose and return value information. However, it lacks any mention of prerequisites (e.g., traces must exist) or potential error conditions, leaving it slightly incomplete for agents that need to anticipate failures.

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 provides full Japanese descriptions for both required parameters, covering 100% of the parameters. The description adds no extra parametric meaning beyond restating the comparison context, so it doesn't improve on the schema.

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 that the tool compares a baseline trace with a new execution trace to determine metric improvement/deterioration, and specifies the return value includes overall_verdict and per-metric results. This distinguishes it from sibling tools like gauge_lint or gauge_report, which serve different purposes.

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

Usage Guidelines4/5

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

The description does not explicitly mention alternative tools or exclude use cases, but the comparison purpose is clear from the tool name and description. It provides context that this is for comparing traces after changes, which is implied by the parameter names and descriptions.

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

gauge_connectA

対象MCPサーバーに接続し、トレースセッションを開始する。session_idと利用可能なツール一覧を返す。呼び出し元はツール一覧を見て、gauge_proxy_callでツールを呼び出す。

ParametersJSON Schema
NameRequiredDescriptionDefault
headersNoリモート接続時のHTTPヘッダー。デフォルト: {}
server_urlNoリモートMCPサーバーのURL(sse/streamable_httpトランスポート時に必須)
scenario_idNo紐づけるシナリオID(任意)
server_argsNo対象MCPサーバーの起動引数。デフォルト: []
server_commandNo対象MCPサーバーの起動コマンド(stdioトランスポート時に必須)
transport_typeNoトランスポートの種類。デフォルト: server_url指定時はstreamable_http、それ以外はstdio

TDQS

A4.2/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It explains the behavior of connecting, starting a trace session, returning session_id and tool list, and directing the caller to proxy calls. This gives a clear behavioral contract beyond 'connect' and is appropriate for a connection tool, though it does not cover edge cases like reconnection or cleanup.

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 three sentences long, front-loaded with the verb and action, and every sentence earns its place: it states what it does, what it returns, and the next step. No redundant or vague phrasing exists, making it concise and well-structured.

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?

With six optional parameters and no output schema, the description appropriately explains the return value (session_id and tool list) and the intended follow-up action. It is complete enough for a connection tool, though it could mention behavioral nuances like whether repeated connects are allowed or the session lifecycle. The cross-reference to gauge_proxy_call adds valuable context.

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 provides complete descriptions for all six parameters (100% coverage), so the baseline is 3. The tool description itself does not add parameter-specific semantics beyond what the schema already states, which is acceptable given the schema's thoroughness. No additional clarification is needed.

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 tool connects to a target MCP server and starts a trace session, and it names the specific return values (session_id and available tools list). This distinguishes it from sibling tools like gauge_proxy_call (which invokes tools) and gauge_disconnect (which ends sessions). The verb+resource combination is specific and unambiguous.

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

Usage Guidelines4/5

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

The description provides clear context: use this to establish a session and then instructs the caller to use gauge_proxy_call for subsequent tool calls, naming the alternative. It does not explicitly state when not to use it (e.g., if already connected), but the session-starting role is self-evident and the pointer to gauge_proxy_call gives practical guidance.

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

gauge_disconnectA

対象MCPサーバーとの接続を切断し、トレースセッションを終了する。トレースサマリー(メトリクス)を返す。

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYesgauge_connectで取得したセッションID
task_successNoタスクが成功したかどうか。呼び出し元エージェントが判断して設定する

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It clearly states the action (disconnect), the consequence (end trace session), and the return value (trace summary metrics). This goes beyond a mere verb-phrase restatement, though it does not mention edge cases like invalid session IDs or whether the action is irreversible.

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 a single concise sentence that front-loads the primary action, followed by the key return behavior. There is no wasted wording or unnecessary repetition of schema details.

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?

For a relatively simple tool with fully described parameters, the description is appropriately complete: it states the connection-teardown action, session termination, and return value. The lack of an output schema is partially compensated by the explicit mention of a trace summary, though more detail about return structure or failure behavior would push it to a 5.

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 already fully describes both parameters (session_id and task_success), and schema description coverage is 100%. The tool description does not add any additional parameter-level semantics, so the baseline score of 3 is appropriate.

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 uses a specific verb ('切断', disconnect) and resource ('対象MCPサーバー', target MCP server) and clarifies it ends the trace session and returns a trace summary. This clearly distinguishes it from sibling tools like gauge_connect (which establishes a connection) and gauge_report (which likely reports data).

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 after a connection has been established (via gauge_connect) by mentioning disconnection and trace session termination, but it does not explicitly state when to use it versus alternatives or provide any when-not-to-use guidance. The context is clear but the usage guidance is only implied.

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

gauge_evaluateA

トレースセッションの結果を成功条件に基づいて評価する。gauge_disconnectで終了したセッションのトレースデータと成功条件を照合し、合否判定と詳細評価を返す。

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes評価対象のセッションID
task_successNoタスクが成功したかの判断。呼び出し元エージェントが判断して設定する
success_criteriaYes成功条件(max_steps, required_tools, forbidden_tools, must_succeed を含む)

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description is the sole source of behavioral info. It states it returns pass/fail and detailed evaluation, and implies a read-only analysis, but does not explicitly confirm whether it has side effects or requires specific permissions. This is adequate but not comprehensive.

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 a single, focused sentence that front-loads the primary action and includes the key prerequisite (gauge_disconnect). It is concise with no unnecessary words.

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?

The description covers the tool's main purpose, the prerequisite, and the return type (pass/fail and detailed evaluation). Since there is no output schema, this return info is valuable. It does not go into edge cases or detailed output structure, but it is sufficient for common usage.

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 schema has full coverage of parameters with descriptions, so the baseline is 3. The description adds no additional parameter semantics beyond mentioning success criteria and trace data, which is already in the schema.

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 tool evaluates trace session results based on success criteria, using the verb '評価する' and specifying the resource (trace data from sessions ended with gauge_disconnect). It distinguishes from siblings by referencing gauge_disconnect and focusing on post-session evaluation.

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

Usage Guidelines4/5

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

The description indicates this tool is intended for evaluating sessions that have been ended via gauge_disconnect, providing a clear context. It does not explicitly mention alternative tools or exclusion cases, so it lacks full when-to-use contrast.

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

gauge_lintA

対象MCPサーバーのツール説明文をリンティングし、改善すべき点を構造化JSONで返す。LLM呼び出し不要で高速に実行される。

ParametersJSON Schema
NameRequiredDescriptionDefault
headersNoリモート接続時のHTTPヘッダー。デフォルト: {}
server_urlNoリモートMCPサーバーのURL(sse/streamable_httpトランスポート時に必須)
server_argsNo対象MCPサーバーの起動引数。デフォルト: []
server_commandNo対象MCPサーバーの起動コマンド(stdioトランスポート時に必須)
transport_typeNoトランスポートの種類。デフォルト: server_url指定時はstreamable_http、それ以外はstdio

TDQS

A3.7/5.0
Behavior3/5

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

Without annotations, the description discloses that the tool runs without LLM calls, is fast, and returns structured JSON. However, it does not state whether it modifies anything, requires a connection, or how it accesses the target server's descriptions.

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?

Two short sentences, each earning its place: the first defines the primary purpose and output, the second adds performance characteristics. No redundancy or filler.

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

Completeness3/5

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

Given the lack of an output schema and five optional parameters, the description explains the output format at a high level but omits details on connection prerequisites, specific lint rules, and the exact JSON structure. This leaves some ambiguity for the agent.

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 already provides 100% coverage with descriptions for all five parameters, so the description does not need to add parameter details. It adds no parameter-related meaning beyond the schema, aligning with the baseline of 3.

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 a specific action: linting the tool description text of the target MCP server and returning improvement points as structured JSON. This distinctly separates it from sibling tools like gauge_connect or gauge_report.

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 for linting tool descriptions but provides no explicit guidance on when to choose this tool over alternatives, no exclusions, and no mention of prerequisites such as an existing server connection.

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

gauge_proxy_callA

gauge_connectで確立した接続を通じて、対象MCPサーバーのツールを呼び出す。呼び出しはトレースとして自動記録される。結果には対象ツールの応答と呼び出しメトリクスが含まれる。

ParametersJSON Schema
NameRequiredDescriptionDefault
argumentsYes対象ツールに渡す引数
tool_nameYes呼び出す対象ツールの名前
session_idYesgauge_connectで取得したセッションID

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose useful behavioral traits: the call is automatically recorded as a trace, and the result includes the target tool's response and call metrics. However, it does not mention potential side effects on the target server or any permission requirements, which remains a gap for a proxy that could invoke arbitrary tools.

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 a single, compact sentence in Japanese that front-loads the main purpose, then adds trace recording and result content. No unnecessary words or repetition; every clause earns its place.

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?

For a proxy tool with no output schema, the description explains the return value structure (target response and metrics) and the automatic trace recording. It gives enough context to use the tool safely, though it could mention that the target tool's effects depend on the specific tool invoked, but this is not a critical omission.

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 schema covers 100% of parameters with descriptions, so the baseline is 3. The tool description adds no extra semantic meaning beyond the schema; it only repeats that the call goes through gauge_connect, which is already in the session_id parameter description.

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 (calls a target MCP server's tool) and the resource (through a gauge_connect session). It inherently distinguishes from siblings by being the only tool that proxies tool calls, while others manage connections or perform lint/compare/evaluate/report functions.

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

Usage Guidelines4/5

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

The phrase 'gauge_connectで確立した接続を通じて' provides clear context that this tool is to be used after establishing a connection with gauge_connect. However, it does not explicitly state when NOT to use it or name alternative tools, leaving room for more direct comparative guidance.

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

gauge_reportA

複数のトレースセッションから統合レポートを生成する。平均メトリクスと改善推奨事項を返す。

ParametersJSON Schema
NameRequiredDescriptionDefault
trace_idsYesレポート対象のトレースIDリスト

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are present, so the description must convey behavior. It discloses that the tool returns average metrics and improvement recommendations, but it does not clarify whether it modifies any state or its safety profile. This is minimal but not misleading.

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 two sentences, front-loaded with the primary action, and every sentence adds value (purpose and output). No filler or redundancy.

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?

For a one-parameter tool with no output schema, the description provides a high-level explanation of the output ('平均メトリクスと改善推奨事項'). It is sufficient for a basic understanding, though it could elaborate on the exact nature of the metrics or error handling.

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 covers 100% of the parameter (trace_ids) with a description indicating the list of trace IDs. The tool description does not add extra semantic detail about the parameter beyond what the schema states, so it scores at the baseline for high schema coverage.

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 a specific verb ('生成する' - generates) and resource ('統合レポート' - integrated report) from multiple trace sessions, distinguishing it from siblings like gauge_compare or gauge_evaluate by focusing on aggregation and recommendations.

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 for generating a combined report from trace sessions but does not explicitly state when to use it over alternatives or when not to use it. No exclusion criteria or sibling comparisons are provided.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv0.1.0
    • First observedgauge_compare
    • First observedgauge_connect
    • First observedgauge_disconnect
    • First observedgauge_evaluate
    • First observedgauge_lint
    • First observedgauge_proxy_call
    • First observedgauge_report

TDQS

A4.2/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly distinct role: lint, connect, proxy, disconnect, compare, evaluate, and report. The lifecycle phases are well separated, and even the two analysis tools (compare and evaluate) target different inputs and outcomes.

Naming Consistency5/5

All tool names follow the consistent gauge_<verb> pattern in snake_case. The verbs clearly indicate the action (lint, connect, proxy_call, disconnect, compare, evaluate, report), making the API predictable and readable.

Tool Count5/5

Seven tools is a well-scoped size for a server managing a complete gauging/tracing workflow. Each tool earns its place and no redundant or unnecessary tools exist.

Completeness4/5

The tool surface covers the full lifecycle from connection to reporting, plus linting and evaluation. The only minor gap is the lack of a standalone session retrieval/list tool, but the provided workflow is sufficient for the core purpose.

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/sogawa-yk/mcp-gauge'

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