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) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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