mcp-gauge
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-gaugeTest my MCP server"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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を使ったテストは、以下の流れで進みます。
接続: エージェントが
gauge_connectでテスト対象サーバーに接続を確立します。MCP Gaugeは対象サーバーのツール一覧をエージェントに返します。ツール呼び出し: エージェントはツール一覧を見て、自らの判断で
gauge_proxy_callを使いツールを呼び出します。MCP Gaugeは各呼び出しを対象サーバーに中継しながら、ツール名・引数・結果・所要時間・エラー有無をすべて記録します。切断: タスクが終わったら
gauge_disconnectで接続を終了します。MCP Gaugeはセッション中の全呼び出しを集計し、トレースサマリー(総呼び出し回数、冗長呼び出し数、エラー回数、リカバリステップ数など)を返します。評価:
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接続タイムアウト(秒) |
|
| ツール呼び出しタイムアウト(秒) |
|
使い方
ローカルサーバーのテスト(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_connect と gauge_lint は共通の接続パラメータを受け取ります。
パラメータ | 説明 |
| 対象サーバーの起動コマンド(stdio時に必須) |
| 起動引数のリスト(デフォルト: |
| リモートサーバーのURL(SSE/Streamable HTTP時に必須) |
| トランスポートの種類: |
| リモート接続時の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 toolsgauge_compareA
ベースラインのトレースと新規実行のトレースを比較し、メトリクスの改善/悪化を判定する。返却値にはoverall_verdictとメトリクスごとの比較結果を含む。
| Name | Required | Description | Default |
|---|---|---|---|
| current_trace_id | Yes | 現在(変更後)のトレースID | |
| baseline_trace_id | Yes | ベースライン(変更前)のトレースID |
TDQS
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.
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.
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.
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.
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.
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でツールを呼び出す。
| Name | Required | Description | Default |
|---|---|---|---|
| headers | No | リモート接続時のHTTPヘッダー。デフォルト: {} | |
| server_url | No | リモートMCPサーバーのURL(sse/streamable_httpトランスポート時に必須) | |
| scenario_id | No | 紐づけるシナリオID(任意) | |
| server_args | No | 対象MCPサーバーの起動引数。デフォルト: [] | |
| server_command | No | 対象MCPサーバーの起動コマンド(stdioトランスポート時に必須) | |
| transport_type | No | トランスポートの種類。デフォルト: server_url指定時はstreamable_http、それ以外はstdio |
TDQS
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.
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.
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.
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.
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.
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サーバーとの接続を切断し、トレースセッションを終了する。トレースサマリー(メトリクス)を返す。
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | gauge_connectで取得したセッションID | |
| task_success | No | タスクが成功したかどうか。呼び出し元エージェントが判断して設定する |
TDQS
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.
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.
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.
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.
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.
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で終了したセッションのトレースデータと成功条件を照合し、合否判定と詳細評価を返す。
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | 評価対象のセッションID | |
| task_success | No | タスクが成功したかの判断。呼び出し元エージェントが判断して設定する | |
| success_criteria | Yes | 成功条件(max_steps, required_tools, forbidden_tools, must_succeed を含む) |
TDQS
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.
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.
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.
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.
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.
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呼び出し不要で高速に実行される。
| Name | Required | Description | Default |
|---|---|---|---|
| headers | No | リモート接続時のHTTPヘッダー。デフォルト: {} | |
| server_url | No | リモートMCPサーバーのURL(sse/streamable_httpトランスポート時に必須) | |
| server_args | No | 対象MCPサーバーの起動引数。デフォルト: [] | |
| server_command | No | 対象MCPサーバーの起動コマンド(stdioトランスポート時に必須) | |
| transport_type | No | トランスポートの種類。デフォルト: server_url指定時はstreamable_http、それ以外はstdio |
TDQS
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.
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.
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.
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.
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.
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サーバーのツールを呼び出す。呼び出しはトレースとして自動記録される。結果には対象ツールの応答と呼び出しメトリクスが含まれる。
| Name | Required | Description | Default |
|---|---|---|---|
| arguments | Yes | 対象ツールに渡す引数 | |
| tool_name | Yes | 呼び出す対象ツールの名前 | |
| session_id | Yes | gauge_connectで取得したセッションID |
TDQS
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.
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.
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.
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.
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.
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
複数のトレースセッションから統合レポートを生成する。平均メトリクスと改善推奨事項を返す。
| Name | Required | Description | Default |
|---|---|---|---|
| trace_ids | Yes | レポート対象のトレースIDリスト |
TDQS
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.
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.
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.
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.
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.
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.
7 tool updates
v0.1.0- First observed
gauge_compare - First observed
gauge_connect - First observed
gauge_disconnect - First observed
gauge_evaluate - First observed
gauge_lint - First observed
gauge_proxy_call - First observed
gauge_report
TDQS
Scored across 7 tools
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.
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.
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.
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
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
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
AlicenseAqualityBmaintenanceMCP server that gives AI coding agents direct access to evaluation tools.22Apache 2.0- AlicenseNot gradedqualityAmaintenanceAn MCP server that provides AI coding agents with AST-accurate, context-budget-aware codebase querying, safety gates, and team policy integration via structured tools and a local plugin layer.5624MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that gives AI coding agents structured access to a project's architecture, rules, modules, and technical decisions.MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that provides a governance layer for coding agents, enforcing policies, validation, and human-in-the-loop for tool calls without requiring an API key.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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