Hex MCP Server lets AI agents analyze data in Hex through natural-language Threads, search projects, retrieve analysis results and visualizations, and— with editing access—create, edit, and run SQL, Python, and Markdown notebooks.
Claude is Anthropic's AI assistant, available as a desktop app and in Cowork. It supports custom connectors, so it can call MCP servers directly from a chat.
This guide connects Hex MCP to Claude Desktop through MewCP, so Claude Desktop can use Hex MCP's 18 tools, like search_projects, create_thread and get_thread, without your Hex MCP credentials ever reaching the app.
Hex MCP signs in through managed OAuth. MewCP stores the token encrypted, refreshes it before it expires and injects it only at call time. Your agent never holds it, so it can never leak it.
More apps
Full Google Search Console control for search analytics, sitemaps, sites, and URL inspection, directly from your AI workflows. This MCP server exposes the Google Search Console API for querying search traffic data, managing sitemaps and site properties, and inspecting the indexing status of any URL. It is built for SEO teams monitoring search performance, developers automating sitemap and property management, and analysts pulling search traffic data into reporting pipelines.
Access AI-powered MSP market intelligence with company profiles, technographics, technology stacks, reputation, hiring signals, SEO performance, security exposure, market sizing, revenue estimates, and competitive benchmarks.
MoSPI MCP Server provides AI agents access to official Indian government statistics from the Ministry of Statistics and Programme Implementation, covering 500+ indicators across employment, prices, industry, national accounts, health, education, trade, and more.
The Statsig MCP Server lets AI agents manage feature flags, create and analyze A/B experiments, inspect dynamic configs and metrics, query logs, and review audit history within Statsig projects.
Other clients
Hex MCP works the same way in every client below. Pick yours for its own guide.
Free to start.
Scope access to the exact Hex MCP tools and accounts you allow, work and personal side by side. Anything outside that scope is refused at call time, even when the model asks for it.
Each call is logged: what ran, on which account, and whether it worked. Failures come back structured, so the agent knows whether to retry instead of guessing.
Every app sits behind one secure MCP URL, and there is no server for you to deploy or keep running. Add an integration in the dashboard and it is live on the next call, with no config to change and no new credentials to wire up. Tools load only when a task needs them, so your agent stays fast and focused however many apps you connect.
In Claude, open Settings → Connectors, then choose Add custom connector.
Name it "mewcp" and paste the URL.
A browser window opens the first time the client connects. Sign in and approve access. No API key needed.
Start a new chat and ask: "List the tools you can use from MewCP." You should see your connected apps.
Search for projects
Create a new Hex Thread to ask a question about your data. Hex will use its Threads Agent to analyze your data and then provide a response. The thread will take a few minutes to complete - you should warn the user about this. While the thread is running, you MUST call the `get_thread` tool to poll its status. Keep calling `get_thread` until the status is IDLE or you have polled 30 times before giving a final answer to the user. Once the thread is complete (status is IDLE), you can use the `continue_thread` tool to add follow-up questions or continue the conversation.
Fetch a Hex Thread using its ID. You can get an ID when you call the `create_thread` tool. If the thread is not finished yet, it will sleep for a number of seconds before returning the messages. You should warn the user about this. Once the thread is complete (status is IDLE), you can use the `continue_thread` tool to add follow-up questions or continue the conversation.
Continue a Hex Thread by adding a new message and triggering the agent to process it. The thread must be in IDLE status to be continued. If the thread is currently running, this will return an error. The thread will take a few minutes to complete - you should warn the user about this. While the thread is running, you MUST call the `get_thread` tool to poll its status. Keep calling `get_thread` until the status is IDLE or you have polled 30 times before giving a final answer to the user.
Get a single cell by ID
Get the latest output preview for a SQL cell in the active draft notebook session.
Create a new cell in the draft version of a project. For SQL cells that query a warehouse, reuse the dataConnectionId of an existing SQL cell in the project (`list_cells` returns it), falling back to `list_data_connections` to resolve one by name (or set isDataframeSql). Do not invent connection ids.
List cells from the draft version of a project. Returns code, SQL, and markdown cell contents.
Update a cell's source and/or data connection. For SQL cells, can update the SQL source, output dataframe, and data connection. Take a warehouse dataConnectionId from an existing SQL cell in the project or from `list_data_connections` before attaching one. If an id later fails, re-list connections before retrying. Returns the updated cell.
Delete a cell from the draft version of a project by ID
Run a cell and its upstream dependencies in the draft (notebook) version of a project. The run is asynchronous: for SQL cells, poll `get_cell_output` every 5 seconds to read the result or error. The returned runId identifies the long-running draft session and may correlate with earlier cell runs, so an early poll can still return the previous execution's output — after editing a cell, verify the output reflects the latest source.
Get the rendered PNG image of a chart cell, returned as an image. The cell must live in its project's draft version, must have been executed, and must not be in an error state. Only chart-type cells are supported. `get_thread` reports the cellId of each chart in a thread that can be fetched this way. Omit width and height unless you need more detail: the default image is tens of kilobytes, while the maximum 2000x2000 can exceed 500KB for a dense chart. Request one chart at a time.
Create a new project in the workspace with the specified title, and optionally a description.
Get metadata about a single project.
Get the status of a project run.
Trigger a run of the draft (notebook) version of a project. The run is asynchronous: poll `get_run` with the returned runId every 5 seconds until the status is terminal (COMPLETED, ERRORED, KILLED, or UNABLE_TO_ALLOCATE_KERNEL). The runId identifies the long-running draft session and may correlate with earlier runs of the project, so if the project ran recently, confirm the reported startTime is at or after this call before trusting a terminal status.
List the workspace's data connections. Use this to resolve a connection name to a dataConnectionId before creating or updating a SQL cell with `create_cell` or `update_cell`. Results are paginated: pass the returned `pagination.after` cursor to fetch the next page, and stop when it comes back null. If a listed id later fails, re-list before retrying — the connection may have been removed or become inaccessible.
Returns information about the current logged in user.