hex-dashboard-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HEX_API_KEY | Yes | Your Hex API token for authentication | |
| HEX_API_URL | Yes | The base URL of the Hex API (e.g., https://app.hex.tech/api/v1) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsA | List Hex projects in the workspace. Optionally filter by name substring. Returns project IDs, names, and app URLs needed for other tools. |
| get_projectA | Get full details of a Hex project including all cells with their type, source, and position. Use this before editing to understand the current notebook structure. |
| get_cell_sourceA | Read the full source code of a specific cell (Python, SQL, or HTML). Use this before updating to understand what's already there. |
| update_cell_sourceA | Write new source code to a cell (Python, SQL, or Markdown). cell_type: CODE | SQL | MARKDOWN (default CODE). Used to wrap source in the correct API structure. After updating cells, call run_and_wait to push changes to the app view. The published app refreshes automatically when a run completes — no manual page refresh needed. |
| create_cellA | Create a new cell in a Hex project. cell_type: CODE | SQL | MARKDOWN source: the cell's source code / SQL / markdown content label: optional display label for the cell insert_after_cell_id: optional cell ID to insert after (otherwise appends to end) data_connection_id: required for SQL cells — the Hex data connection UUID |
| delete_cellA | Delete a cell from a Hex project. Use with caution — this is irreversible. Always get_project() first to confirm the cell ID and contents before deleting. |
| run_projectA | Trigger a Hex project run. Returns a run_id for status polling. Use run_and_wait instead if you want to block until completion. |
| get_run_statusA | Poll the status of a project run. Status values: PENDING, RUNNING, COMPLETED, ERRORED, KILLED, UNABLE_TO_ALLOCATE_KERNEL. Check elapsedTime and any trace/error details on ERRORED runs. |
| run_and_waitA | Run a Hex project and poll until it completes or errors. This is the primary tool for pushing notebook changes to the app view — after updating cells, call this and the published app will reflect the new results automatically without any manual refresh. Returns the final run status with error details if it failed. |
| cancel_runB | Cancel a running Hex project run. |
| get_run_historyB | Get recent run history for a project. Useful for spotting patterns in recurring failures (specific filters, specific times, etc). |
| diagnose_notebookA | Full diagnostic sweep of a Hex notebook.
Use this whenever a notebook fails to load, shows blank charts, or behaves incorrectly when filters are applied. |
| inspect_filter_behaviorA | Trigger a run with specific filter input values to diagnose why a particular filter combination causes incorrect data or blank charts. Pass the filter widget names and values as filter_inputs dict. Example: {"date_range": "2024-01-01,2024-03-31", "region": "EMEA"} The tool runs the project, waits for completion, and surfaces any errors specific to those inputs. |
| inject_plotly_chartA | Write a fully styled Plotly chart into a Hex Python cell. Design system (dark theme, color palette, typography) is applied automatically. chart_type: line | bar | scatter | area | histogram | box | heatmap | funnel | treemap dataframe_var: name of the DataFrame variable already defined in the notebook x_col / y_col: column names for axes color_col: optional column for series coloring extra_kwargs: any additional px.chart() keyword args as a string, e.g. 'barmode="group"' auto_run: if True, immediately triggers run_and_wait to push to app view |
| inject_pydeck_mapA | Write a styled PyDeck map into a Hex Python cell using the dark map style. layer_type: ScatterplotLayer | HexagonLayer | H3HexagonLayer | ColumnLayer | ArcLayer | PathLayer | GeoJsonLayer color_col: column with pre-computed [R, G, B] or [R, G, B, A] values. If omitted, uses accent color. elevation_col: column for 3D height (ColumnLayer / HexagonLayer) auto_run: if True, triggers run_and_wait to push to app view |
| inject_html_componentA | Write a styled HTML component into a Hex HTML cell. These render in the published app with no Python needed. component_type: kpi_row — row of metric cards (props: metrics=[{label, value, delta, delta_type}]) section_header — section title + subtitle (props: title, subtitle) data_table — styled HTML table (props: dataframe_var, max_rows) alert_banner — info/warning/error banner (props: message, level) divider — styled horizontal rule (props: label) |
| get_design_systemA | Return the active design system tokens (colors, fonts, chart defaults). Use this to stay consistent when writing custom chart code. |
| apply_workspace_paletteA | Apply the design system color palette to the Hex workspace custom styling. This sets the active chart color palette for all Chart cells in the workspace. Requires admin permissions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/richardggxcp/hex-dashboard-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server