Perses MCP
STDIOLocal MCP server enabling LLM hosts to interact with Perses Application.
Local MCP server enabling LLM hosts to interact with Perses Application.
[!WARNING]
This MCP Server is currently in beta. Features and tools may change, and stability is not guaranteed. Feedback and contributions are most welcome!
The Perses MCP Server is a local Model Context Protocol (MCP) Server that enables the LLM hosts(Claude Desktop, VS Code, Cursor) to interact with the Perses Application in a standardized way.
https://github.com/user-attachments/assets/b80c354a-8006-4e1f-b7f4-e123002f7dc3
PERSES_TOKEN
percli
command line tool:percli login <PERSES_SERVER_URL>
percli whoami --show-token
To add this MCP server to Claude Desktop:
Create or edit the Claude Desktop configuration file at:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
You can easily access this file via the Claude Desktop app by navigating to Claude > Settings > Developer > Edit Config
.
{ "mcpServers": { "perses-mcp": { "command": "<ABSOLUTE_PATH_TO_PERSES_MCP_BINARY>", "args": [ "--perses-server-url", "<PERSES_SERVER_URL>" ], "env": { "PERSES_TOKEN": "<PERSES_TOKEN>" } } } }
To integrate the MCP server with VS Code GitHub Copilot, follow these steps:
Open User Settings (JSON) in VS Code:
Cmd + Shift + P
(on macOS) or Ctrl + Shift + P
(on other platforms).Preferences: Open User Settings (JSON)
and select it.Add the following JSON block to the User Settings (JSON) file:
{ "inputs": [ { "type": "promptString", "id": "perses-token", "description": "PERSES_TOKEN to connect with Perses Application", "password": true } ], "servers": { "perses-mcp": { "command": "<ABSOLUTE_PATH_TO_PERSES_MCP_BINARY>", "args": [ "--perses-server-url", "http://localhost:8080" ], "env": { "PERSES_TOKEN": "${input:perses-token}" } } } }
.vscode/mcp.json
in your workspace and add the same JSON block. This allows you to share the configuration with others.Tool | Description | Required Parameters |
---|---|---|
perses_list_projects | List all projects | - |
perses_get_project_by_name | Get a project by name | project |
Tool | Description | Required Parameters |
---|---|---|
perses_list_dashboards | List all dashboards for a specific project | project |
perses_get_dashboard_by_name | Get a dashboard by name for a project | project , dashboard |
Tool | Description | Required Parameters |
---|---|---|
perses_list_global_datasources | List all global datasources | - |
perses_list_datasources | List all datasources for a specific project | project |
perses_get_global_datasource_by_name | Get a global datasource by name | datasource |
perses_get_project_datasource_by_name | Get a project datasource by name | project , datasource |
Tool | Description | Required Parameters |
---|---|---|
perses_list_global_roles | List all global roles | - |
perses_get_global_role_by_name | Get a global role by name | role |
perses_list_global_role_bindings | List all global role bindings | - |
perses_get_global_role_binding_by_name | Get a global role binding by name | roleBinding |
perses_list_project_roles | List all roles for a specific project | project |
perses_get_project_role_by_name | Get a project role by name | project , role |
perses_list_project_role_bindings | List all role bindings for a project | project |
perses_get_project_role_binding_by_name | Get a project role binding by name | project , roleBinding |
Tool | Description | Required Parameters |
---|---|---|
perses_list_plugins | List all plugins | - |
Tool | Description | Required Parameters |
---|---|---|
perses_list_global_variables | List all global variables | - |
perses_get_global_variable_by_name | Get a global variable by name | variable |
perses_list_variables | List all variables for a specific project | project |
perses_get_project_variable_by_name | Get a project variable by name | project , variable |
The code is licensed under an Apache 2.0 license.