furiosa-dashboard-mcp
Provides tools for querying benchmark data from a Supabase backend, including listing recent commits, retrieving benchmark summaries, and comparing commit performance, along with generating links to related viewer pages.
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., "@furiosa-dashboard-mcpCompare the two most recent commits on master and highlight any regressions."
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.
furiosa-dashboard-mcp
dashboard.furiosa.dev 를 MCP 도구로 감싼 서버입니다. 데이터 조회는 대시보드 전체가 공유하는 Supabase(PostgREST) 백엔드를 그대로 쓰고, 나머지 도구들은 각 뷰어 페이지로 바로 이동하는 링크만 만들어줍니다.
빌드
npm install
npm run buildSupabase URL/anon key는 config.defaults.json에 고정값으로 넣어뒀습니다. 매번 환경변수로 넘길 필요는 없습니다. 다른 Supabase 프로젝트를 쓰고 싶다면 FURIOSA_DASHBOARD_SUPABASE_URL / FURIOSA_DASHBOARD_ANON_KEY 환경변수로 덮어쓰면 되고, 이쪽이 우선됩니다.
빌드가 끝나면 아래 로그인 한 번만 해주면 됩니다.
Related MCP server: Swarmia MCP Server
로그인
npm run login
# 또는: node dist/login.jsGoogle OAuth(PKCE) 플로우를 띄우고 로컬 콜백으로 세션을 받아옵니다.
http://127.0.0.1:51820/callback을 redirect_to로 하는 Supabase OAuth URL을 만들어 출력하고, 가능하면 기본 브라우저로 자동으로 엽니다.furiosa.ai Google 계정으로 로그인/동의.
Supabase가
code를 붙여서 로컬 콜백으로 리다이렉트하면, 임시로 띄운 로컬 HTTP 서버가 이를 받아 세션으로 교환합니다.세션을
~/.config/furiosa-dashboard-mcp/session.json에 저장하고 종료. 이후 갱신되는 refresh token도 같은 파일에 계속 반영됩니다.
수동 방법 (로그인 스크립트가 막힐 때만)
브라우저에서
https://dashboard.furiosa.dev/performance-tracker에 로그인합니다.개발자도구 → Application(또는 Storage) → Local Storage →
https://dashboard.furiosa.dev로 들어갑니다.sb-<project-ref>-auth-token형태의 키를 찾아서 값(JSON) 안의refresh_token을 복사합니다. Supabase URL/anon key는 이미config.defaults.json에 있으니 따로 찾을 필요 없습니다.최초 1회만
FURIOSA_DASHBOARD_REFRESH_TOKEN환경변수로 넘겨주면, 그 다음부터는 세션 파일이 알아서 갱신합니다.
MCP 클라이언트 등록
npm run login으로 세션 파일을 한 번 만들어두면 클라이언트 설정에 env를 따로 넣을 필요가 없습니다(Supabase URL/anon key는 config.defaults.json에서 자동으로 읽힙니다).
{
"mcpServers": {
"furiosa-dashboard": {
"type": "stdio",
"command": "node",
"args": ["furiosa-dashboard-mcp/dist/index.js"]
}
}
}로그인을 아직 안 했거나 다른 머신이라 세션 파일이 없다면, 수동 방법으로 얻은 refresh_token을 env.FURIOSA_DASHBOARD_REFRESH_TOKEN으로 한 번만 넣어줘도 됩니다.
제공 기능
도구 | 설명 |
|
|
| 커밋의 short-sha(앞 10자) 기준 |
|
|
| 두 커밋의 |
|
|
|
|
|
|
|
|
| "Bridge 하이라이트해줘", "IO는 파란색으로" 같은 자연어 표시 요청을 소수의 view 지시어(recipe)로 변환해 |
Available Tools
9 toolsbuild_ir_view_recipe_urlBuild an IR Viewer URL with a structured view recipe (draft contract, not yet read by the dashboard)A
DRAFT / PROPOSED contract only -- dashboard.furiosa.dev does not read this recipe param yet. This exists so an AI agent can translate a loose display request ('bridge에 하이라이트 해줘', 'IO 연산은 파란색으로', 'latency 큰 operator 강조해줘') into a small, fixed set of composable view directives instead of re-deriving a full custom rendering from raw IR data on every request. The tool only validates and encodes the recipe as a query param; a deterministic renderer in the dashboard frontend (separate codebase) still needs to be built to read recipe and actually draw it. Until that exists, treat the returned URL's recipe param as inert and the response's recipe field as the artifact to hand to whoever implements that renderer.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | Yes | Short commit sha, first 10 hex chars | |
| test | Yes | Exact test name | |
| context | Yes | Context value, e.g. 'test-snapshot-8pe' | |
| highlight | No | Op/node categories to highlight, e.g. ['bridge'] | |
| compareMode | No | Which measurement to plot when this commit has both | |
| emphasizeTopN | No | How many top operators to emphasize for emphasizeMetric | |
| colorByCategory | No | Color nodes of this category distinctly and dim everything else (e.g. 'io' -> blue, rest gray) | |
| emphasizeMetric | No | Visually emphasize the operators with the highest value of this metric | |
| annotateBufferType | No | Show each tensor's buffer type alongside its name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure. It explicitly warns that this is a draft/proposed contract, that the dashboard does not read the recipe param yet, that the tool only validates and encodes, and that the returned recipe field is the only artifact to hand to a future renderer implementer.
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 long but every sentence earns its place: draft status, intended use, tool behavior, and the inert-recipe warning are all essential. It is front-loaded with the DRAFT warning, though the dense paragraph style could be slightly more scannable.
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 no output schema and no annotations, the description provides all critical context: the contract's draft state, the tool's limited role, how to interpret the response's recipe field, and the relationship to the static dashboard renderer. An agent can safely call the tool without facing hidden surprises.
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?
Schema description coverage is 100%, so the schema already documents all 9 parameters including enum values and examples. The description adds overall framing about composable view directives but does not add per-parameter semantic detail beyond 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 title and description state a specific action: build a URL for the IR viewer containing a structured recipe. It clearly differentiates from siblings by highlighting that this tool converts loose display requests into a fixed set of composable directives, while other tools like get_ir_viewer_url likely serve stable direct URLs.
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 explains when to use this tool: when an AI agent receives a loose display request and needs to translate it into a structured recipe rather than deriving custom rendering from raw IR data. It does not explicitly name alternatives or say when NOT to use it, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_commitsCompare benchmark summaries between two commitsA
Diff all matching benchmark rows (matched by test+context+cloud) between a base and current commit short-sha. Reports added/removed tests, pass/fail status changes, the top N regressions/improvements for both execution-style tests (status + average_actual_cycle) and compile-style tests (rlir total_cycle + total compile_time), plus a generic fieldChanges section that flattens and ranks every numeric field found anywhere in the summary JSON blob (memory, tactic costs, dram usage, per-phase cpu time, etc.) -- use fieldChanges as a first-pass scan for what's worth attention before drilling into a specific metric. Optionally scope the comparison with test/testContains/context/cloud filters, same as list_summaries.
| Name | Required | Description | Default |
|---|---|---|---|
| test | No | Exact test name to filter on | |
| topN | No | How many top regressions/improvements to include per category | |
| cloud | No | Exact cloud value to filter on (e.g. 'aks') | |
| baseSha | Yes | Base commit short-sha, first 10 hex chars | |
| context | No | Exact context value to filter on (e.g. 'test-snapshot-8pe') | |
| currentSha | Yes | Current commit short-sha, first 10 hex chars | |
| testContains | No | Case-insensitive substring match on test name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It thoroughly discloses what the tool reports: added/removed tests, pass/fail status changes, top N regressions/improvements for both execution-style and compile-style tests, and a generic fieldChanges section. It also explains that fieldChanges 'flattens and ranks every numeric field,' making the tool's behavior highly predictable.
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 long but every clause earns its place: core behavior, output sections, ranking explanation, filter semantics, and a usage hint. It is front-loaded with the main diff operation and avoids 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?
This is a complex 7-parameter tool with no output schema and no annotations, but the description explains the full comparison behavior, the sections returned, the ranking logic, filter options, and how to approach the results. Nothing essential for calling the tool correctly is missing.
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?
Schema description coverage is 100%, so the baseline is 3. The description adds useful cross-tool meaning by stating the optional filters are 'same as list_summaries' and by clarifying that baseSha/currentSha are short-shas and topN applies per regression/improvement category. It does not redefine every property, but it enriches the schema meaning enough for a bump.
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 opens with a specific verb and resource: 'Diff all matching benchmark rows... between a base and current commit short-sha.' It clearly states what is compared and describes the unique output sections, which distinguishes it from the list/get sibling tools.
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 gives clear context for when to use the tool and even provides an internal guidance hint: 'use fieldChanges as a first-pass scan... before drilling into a specific metric.' It also references list_summaries for filter semantics. However, it does not explicitly state when-not-to-use it or name an alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ir_viewer_compare_urlGet an ir-viewer.furiosa.dev/compare URL for two commitsB
Build a compare link on ir-viewer.furiosa.dev (a separate viewer from dashboard.furiosa.dev's ir-text-viewer) for a base vs current commit. Accepts short-shas directly, no full-sha lookup needed.
| Name | Required | Description | Default |
|---|---|---|---|
| baseSha | Yes | Base commit short-sha | |
| baseTest | Yes | Test name for the base side | |
| currentSha | Yes | Current commit short-sha | |
| baseContext | Yes | Context for the base side, e.g. 'test-snapshot-8pe-8chip' | |
| currentTest | No | Test name for the current side (defaults to baseTest) | |
| currentContext | No | Context for the current side (defaults to baseContext) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It adds useful context: short shas are accepted directly, no full-sha lookup is needed, and this viewer is separate from the dashboard's ir-text-viewer. However, it does not disclose whether the returned value is just a URL string, whether commit existence is verified, or any error/fallback behavior.
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 focused sentences with the core operation up front and a practical clarification second. Every sentence contributes value and there is no filler or repetition of schema content.
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?
Adequate for a straightforward URL-builder tool: the schema covers all parameters and the description explains the key behavior. However, with no annotations and no output schema, the description could be more complete by explicitly stating the output is a URL and by mentioning when to prefer sibling tools.
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?
Schema description coverage is 100%, so the baseline is 3. The description only reinforces the short-sha behavior that the schema already documents and adds no new parameter-level meaning beyond what the properties already say.
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?
States a specific action (build) on a clear resource (compare link on ir-viewer.furiosa.dev) for base vs current commits, and clarifies this is distinct from the dashboard's ir-text-viewer. It does not explicitly differentiate from sibling tools such as get_ir_viewer_url or compare_commits, though 'compare link' implies the core use case.
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?
No guidance is given about when to use this tool versus alternatives like get_ir_viewer_url or compare_commits. The description implies a compare use case but does not state exclusions or direct the agent to a sibling for single-commit links or textual diffs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ir_viewer_urlGet an IR Text Viewer dashboard URLA
Build a dashboard.furiosa.dev/ir-text-viewer link for a given commit + context + test, so it can be opened directly in a browser instead of running anything locally. Resolves the short-sha to the full commit sha required by the viewer URL via master_commits.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | Yes | Short commit sha, first 10 hex chars (from list_recent_commits/list_summaries) | |
| test | Yes | Exact test name (from list_summaries) | |
| context | Yes | Context value, e.g. 'test-snapshot-8pe' (from list_summaries) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses a non-ovious internal behavior: short-sha resolution to full commit sha via master_commits. It also clarifies that the tool does not run anything locally, which is useful behavioral context for an agent. It does not mention error cases or output format, but the 'link' outcome is clear.
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 sentences with no wasted words. The main purpose is front-loaded, and the additional sha-resolution detail is placed in the second sentence. Every clause adds value.
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 simple URL-builder tool with no output schema and no annotations, the description is fairly complete: it states the purpose, the inputs, and one non-previous internal step. It could be more complete by explicitly naming sibling alternatives or stating failure modes, but the essential information for an agent to invoke it correctly is present.
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?
Schema coverage is 100%, so the baseline is 3. The description adds a small but meaningful semantic detail: the short-sha is resolved to the full commit sha required by the viewer URL, explaining why the sha parameter has min/max lengths. The test and context parameters are referenced in passing but are already fully described 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 identifies the action ('Build'), the resource ('dashboard.furiosa.dev/ir-text-viewer link'), and the required inputs ('commit + context + test'). It also distinguishes the tool's job—producing a browser-openable URL rather than executing local work—from the related URL-builder siblings.
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 gives clear context for when to use it ('when you want a browser-openable IR text viewer link instead of running locally'), but it does not explicitly mention alternatives or when not to use it, even though sibling tools like get_ir_viewer_compare_url and get_tc_viewer_url exist. This is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_summaryGet a single benchmark summary by idA
Fetch one summaries row by its UUID id, including the full summary JSON metrics blob.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | summaries.id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does disclose that this is a fetch/read operation and that the response includes a full summary JSON blob, but it says nothing about not-found behavior, authentication, rate limits, or error handling. Adequate but not rich.
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 front-loaded sentence with no filler. It states the action, resource, and return detail efficiently.
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 get-by-id tool with no output schema, the description covers the essential call purpose and return content well. It lacks explicit error or edge-case behavior and sibling routing, but the low complexity keeps this gap minor.
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?
Schema coverage is 100%, so the schema already fully documents the single required 'id' parameter. The description's mention of 'UUID id' aligns with the schema but adds no new meaning beyond confirming that the parameter is the lookup key.
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 action ('Fetch'), the resource ('one summaries row'), and the lookup criterion ('by its UUID id'). It also mentions the distinctive return content ('full summary JSON metrics blob'), which helps distinguish it from list-oriented siblings like list_summaries.
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 a targeted single-row lookup by id, which is clear enough for a simple get-by-id tool. However, it does not explicitly say when to prefer this over list_summaries or mention any exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tactic_debug_urlGet a dashboard.furiosa.dev/tactic-debug URL for two commitsA
Build a tactic-debug compare link for a base vs current commit. Accepts short-shas directly.
| Name | Required | Description | Default |
|---|---|---|---|
| baseSha | Yes | Base commit short-sha | |
| baseTest | Yes | Test name for the base side | |
| currentSha | Yes | Current commit short-sha | |
| baseContext | Yes | Context for the base side, e.g. 'test-snapshot-8pe-8chip' | |
| currentTest | No | Test name for the current side (defaults to baseTest) | |
| currentContext | No | Context for the current side (defaults to baseContext) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It does convey that the tool constructs a link rather than performing a comparison, and that short shas are accepted at the input boundary. It does not state whether it validates commit existence, performs any network activity, or what exact string is returned, but for a URL builder this is a minimal viable level of transparency.
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 short sentences, both informative: the first states the tool's action, and the second adds a practical input detail. No filler or redundant phrasing is present.
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 is a simple URL builder, the full parameter schema covers all invocation semantics, and the description explains the core action, the definition is nearly complete. The main gap is that it does not help an agent choose between this and the other compare/viewer URL tools, but that is partly addressed by the specific tactic-debug domain in the title.
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?
Schema description coverage is 100%, so every parameter already has explicit meaning in the input schema. The description's only parameter-related addition is 'Accepts short-shas directly,' which reinforces the sha format but does not fundamentally add semantics beyond the schema's minLength/maxLength and 'short-sha' descriptions.
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 states a specific verb ('Build'), a specific resource ('tactic-debug compare link'), and the input relationship ('base vs current commit'). The title additionally names the exact dashboard domain, and the tool is clearly distinct from sibling URL builders like get_ir_viewer_compare_url and get_tc_viewer_url.
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 the obvious use case—building a tactic-debug compare link for two commits—and adds a practical constraint ('Accepts short-shas directly'). It does not, however, explicitly say when to choose this tool over sibling tools such as get_ir_viewer_compare_url or compare_commits, so the when/when-not guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tc_viewer_urlGet a dashboard.furiosa.dev/tc-viewer URL for two commitsA
Build a tc-viewer compare link for a base vs current commit. Unlike the other two compare viewers, tc-viewer takes a single (not comma-paired) context/test and separate sha/baseSha params.
| Name | Required | Description | Default |
|---|---|---|---|
| test | Yes | Exact test name | |
| baseSha | Yes | Base commit short-sha | |
| context | Yes | Context value, e.g. 'test-snapshot-8pe-8chip' | |
| currentSha | Yes | Current commit short-sha |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It communicates that this is a URL-building operation and clarifies the parameter expectations, but it does not state the exact return value shape, whether any network/auth is involved, or possible failure modes. A bit more explicit behavioral detail would be valuable given the lack of annotations.
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 with no filler. The core action is front-loaded, and the second sentence immediately provides the most useful differentiating detail. Every sentence 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 low-complexity URL-construction tool with a complete schema and no output schema, the description gives what an agent needs to select and call the tool: what it builds, which commit params it uses, and how it differs from other compare viewers. The main gap is that 'the other two compare viewers' are not named explicitly, though the sibling tool list supplies that 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 already documents all four parameters at 100% coverage, so the baseline is 3. The description adds meaningful semantic distinction by warning that context/test must be a single value (not comma-paired) and that baseSha/currentSha are separate params, which prevents a common misuse pattern across sibling compare viewers.
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 states a specific action ('Build a tc-viewer compare link') and identifies the exact resource (a dashboard.furiosa.dev/tc-viewer URL). It also frames the tool as a base-vs-current commit comparison, which distinguishes it from URL/recipe builders like get_ir_viewer_url and build_ir_view_recipe_url.
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 explicitly contrasts tc-viewer with 'the other two compare viewers' by explaining its parameter shape: a single context/test value and separate sha/baseSha params. This gives decision-relevant context for choosing among compare tools, though it does not name the sibling tools explicitly or provide a precise 'use X instead when...' rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recent_commitsList recent commitsA
List the most recently benchmarked commits from master_commits, newest first. Note: the full sha returned here must be truncated to its first 10 hex characters before using it as the sha filter in list_summaries.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max commits to return |
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 adds meaningful behavior: results are newest first, and the returned sha must be truncated to ten hex characters before use in list_summaries. It doesn't fully describe the return shape, but this is still strong for a simple list operation.
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 sentences, main purpose first, critical downstream caveat second. There is no filler, no repetition of schema details, and every sentence 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 simple optional-limit list operation, the description covers source, ordering, and the one non-obvious transformation an agent must apply (sha truncation). The lack of an output schema is partially mitigated by naming the returned sha field, though the full set of returned fields is not specified.
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 only parameter, limit, is fully described in the schema with default, minimum, maximum, and meaning, so schema description coverage is 100%. The tool description adds no parameter-specific detail, so the baseline of 3 applies.
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 states a specific verb ('List'), a specific resource ('recently benchmarked commits from master_commits'), and ordering ('newest first'). This makes the tool's purpose unambiguous and distinguishes it from sibling tools that deal with summaries or comparisons.
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?
It offers no explicit when-to-use guidance or alternatives. The only workflow hint is the downstream instruction to truncate the sha before using it in list_summaries, but it never says when to choose this tool over siblings like list_summaries or compare_commits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_summariesList benchmark summaries for a commitA
List compiler benchmark summary rows for a given commit short-sha (first 10 hex chars). Each row's summary field is a JSON blob with detailed compile-time and cycle-count metrics. Optionally filter by test name (exact) or a substring of it, and by cloud/context. Supports pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | Yes | Short commit sha, first 10 hex chars (from list_recent_commits) | |
| test | No | Exact test name to filter on | |
| cloud | No | Exact cloud value to filter on (e.g. 'aks') | |
| limit | No | Max rows to return | |
| offset | No | Row offset for pagination | |
| context | No | Exact context value to filter on (e.g. 'test-snapshot-8pe') | |
| testContains | No | Case-insensitive substring match on test name |
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 does describe the summary field as a JSON blob with compile-time and cycle-count metrics, and mentions pagination. But it leaves out response shape, ordering, error behavior, rate limits, and authentication requirements.
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?
Three sentences with no fluff: the main verb and resource are first, the return detail comes second, and filters/pagination finish. It is adequately sized, front-loaded, and every sentence 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?
The description is good for a 7-param, read-only listing operation, but there is no output schema and no annotations, so it should provide more context about the response structure beyond the summary field. It also lacks guidance about when to choose this tool over siblings, leaving part of the decision to 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?
Schema description coverage is 100%, so the description does not need to add much. It does group the filter options meaningfully (exact test name, substring, cloud/context) but the individual parameters are already well documented in the schema. No genuinely new parameter-level semantics are introduced.
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 exact action: listing compiler benchmark summary rows for a commit short-sha. It also describes the output content, filters, and pagination, which makes it easy to distinguish from sibling tools like list_recent_commits or URL builders.
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?
It communicates that the tool is for listing rows for a given commit and optionally filtering, which implies its usage context. However, it never explicitly says when to reach for this tool versus get_summary or compare_commits, and no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The data-retrieval tools are distinct, but the five URL-builder tools blur together: get_ir_viewer_url vs get_ir_viewer_compare_url and get_tc_viewer_url vs get_tactic_debug_url are easy to confuse. The descriptions help clarify the differences, but an agent could still pick the wrong viewer builder without careful reading.
Tool names are mostly consistent snake_case verb_noun forms (list_*, get_*, compare_*), which is predictable. Minor deviations exist in the URL-builder cluster, especially build_ir_view_recipe_url using 'build' instead of 'get' and the inconsistent 'tc' abbreviation vs full 'tactic'.
Nine tools is a reasonable, well-scoped count for a benchmark dashboard MCP. However, build_ir_view_recipe_url is explicitly a draft/proposed contract with no working renderer, so one tool is currently more speculative than functional.
The core read-only workflow is covered: listing benchmarked commits, querying summaries, fetching full summary details, comparing commits, and generating viewer URLs. Minor gaps include no way to enumerate available contexts/clouds/tests directly and no get-commit-by-sha tool, but agents can work around these from the existing list tools.
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
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
A paid remote MCP for AI SDK benchmark dashboard, built to return verdicts, receipts, usage logs, an
Query metrics, targets, entities, and team data in your Steep workspace via MCP.
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides access to PyTorch CI/CD analytics data including workflows, jobs, test runs, and log analysis through an MCP interface.4
- AlicenseNot gradedqualityDmaintenanceEnables querying Swarmia's Export API for engineering metrics including pull request analytics, DORA metrics, investment balance, and effort reporting through an MCP interface.8MIT
- FlicenseNot gradedqualityDmaintenanceEnables querying Google Search Console data, Core Web Vitals, and PageSpeed insights from the terminal or via MCP tools.
- FlicenseNot gradedqualityBmaintenanceEnables querying and retrieving materials data from the Materials Project via MCP tools, supporting search, lookup, comparison, and export.1
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/hdson-furiosa/furiosa-dashboard-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server