Skip to content

[FEATURE]: Add dashboard migration tool with elicitation support - #104

Merged
ibakshay merged 6 commits into
mainfrom
feat/migrate-dashboard-tool
Sep 18, 2026
Merged

ibakshay merged 6 commits into
mainfrom
feat/migrate-dashboard-tool

Conversation

@ibakshay

@ibakshay ibakshay commented Sep 6, 2026 •

Copy link
Copy Markdown
Contributor

What

Adds the perses_migrate_dashboard tool (new migrate resource) that converts a Grafana dashboard into a native Perses dashboard using the Perses migrate API.

Details

  • New migrate resource + tool, registered in server.go, tool.go (ValidResources), and documented in the README resources table.
  • useDefaultDatasource is optional. When omitted, the user is prompted via MCP elicitation to choose; pass it explicitly to skip the prompt.
  • Refactor: consolidate the two Perses clients into a single top-level client (persesClient) — resources use client.V1(), migrate uses Migrate().

Tested with PI Agent Harness.

persesmcpserver-elicitation-workflow.mp4

@ibakshay ibakshay changed the title feat: add Grafana dashboard migration tool [FEATURE]: add Grafana dashboard migration tool Sep 6, 2026
@ibakshay ibakshay changed the title [FEATURE]: add Grafana dashboard migration tool [FEATURE]: Add dashboard migration tool Sep 6, 2026
Add a `migrate` resource exposing the `perses_migrate_dashboard` tool,
which converts a Grafana dashboard JSON into a native Perses dashboard
via the Perses migrate API. The result is returned to the caller and is
not persisted.

When `useDefaultDatasource` is omitted, the user is asked to confirm via
MCP elicitation (multi round-trip requests, SEP-2322); pass the value
explicitly to skip the prompt.

Also consolidate the two Perses clients in server.go into a single
top-level client (resources use client.V1(); migrate uses the top-level
Migrate method).

Signed-off-by: Akshay Iyyadurai Balasundaram <akshay.iyyadurai.balasundaram@sap.com>
golangci-lint (unparam) flagged the handler's 'any' return as always
nil. Matches the convention used by the other tool handlers.

Signed-off-by: Akshay Iyyadurai Balasundaram <akshay.iyyadurai.balasundaram@sap.com>
Signed-off-by: Akshay Iyyadurai Balasundaram <akshay.iyyadurai.balasundaram@sap.com>
Signed-off-by: Akshay Iyyadurai Balasundaram <akshay.iyyadurai.balasundaram@sap.com>
@ibakshay
ibakshay force-pushed the feat/migrate-dashboard-tool branch from fe1dcb1 to d2b3560 Compare September 12, 2026 10:14
Signed-off-by: Akshay Iyyadurai Balasundaram <akshay.iyyadurai.balasundaram@sap.com>
@ibakshay ibakshay changed the title [FEATURE]: Add dashboard migration tool [FEATURE]: Add dashboard migration tool with elicitation support Sep 18, 2026
…d-tool

Signed-off-by: Akshay Iyyadurai Balasundaram <akshay.iyyadurai.balasundaram@sap.com>
@ibakshay
ibakshay requested a review from Nexucis September 18, 2026 10:33

@Nexucis Nexucis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

really cool improvement !

@ibakshay
ibakshay added this pull request to the merge queue Sep 18, 2026
Merged via the queue into main with commit 9c1200b Sep 18, 2026
7 checks passed
@ibakshay
ibakshay deleted the feat/migrate-dashboard-tool branch September 18, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants