Compethic MCP Server
Cursor and Claude Desktop MCP server that reads Compethic feedback, taxonomy, and analytics through the datalayer. It is not the in-app agent (compethic-agent). Tools mint a gateway-client JWT and call product GETs with organization_id taken from that JWT.
Preferred setup
- In the dashboard: Settings → Data Analysis → MCP.
- Create client (viewer,
feedback:read/taxonomy:read/org:read). The secret is shown once. - Add to Cursor or Add to Claude copies stdio JSON. Replace
<path-to-apps/compethic-mcp>with the absolute path to this directory. - Restart the host's MCP process.
If the secret is lost, revoke the client and create a new one. The hashed secret cannot be shown again.
Environment
| Variable | Required | Notes |
|---|---|---|
DATALAYER_API_URL |
yes | Copied from the dashboard's VITE_DATALAYER_URL (no trailing slash). Local default is http://localhost:8000; staging URLs are valid because MCP is a local process, not a browser. |
COMPETHIC_CLIENT_ID |
yes | UUID from create-client. |
COMPETHIC_CLIENT_SECRET |
yes | Must start with ce_live_. |
COMPETHIC_HTTP_TIMEOUT_SECONDS |
no | Default 30. |
COMPETHIC_TOKEN_REFRESH_SKEW_SECONDS |
no | Default 60. Remint when exp - skew has passed. |
COMPETHIC_MCP_CATEGORIES |
no | Comma-separated subset of org,entities,taxonomy,feedback,analytics,customers,nps,summaries. Unset = all 8. chatbot, voice, keywords, competitors, severity are not legal names. |
Do not put a human Supabase JWT or X-Service-Key in mcp.json.
Transports
stdio is the default and what the copy buttons emit. Cursor JSON includes "type": "stdio" so a URL-default form cannot swallow it. Claude Desktop JSON is the same command/args/env without type.
uv run --directory /absolute/path/to/apps/compethic-mcp compethic-mcp
compethic-mcp --http serves Streamable HTTP on 127.0.0.1:8765/mcp for a local URL-only adder. You start that process yourself; credentials still come from process env, not request headers. There is no hosted MCP URL in v1. Do not paste stdio JSON into a Server URL field.
Tools (11)
org_get, entities_list, taxonomy_list, taxonomy_mentions, feedback_list, feedback_aggregates, analytics_get, customers_list, customers_churn, nps_get, summaries_get.
Not included: OAuth, writes, HITL, /internal/*, analysis jobs, chatbot analytics, voice analytics, competitors, severity / industry-risk, keywords ranking, CLTV, upsell. chatbot and voice_calls remain legal source_category filters. Keyword definitions stay on taxonomy_list. Churn issue-severity-counts stays on customers_churn.
Smoke
After wiring, call org_get with view=info, then taxonomy_list with type=strategic-themes.
Dev
uv sync --group test
uv run pytest tests/ -q
uv run ruff check .
Optional toolset: COMPETHIC_MCP_CATEGORIES=nps,summaries loads only those categories.
Release files for compethic-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| compethic_mcp-0.1.0.tar.gz | 106.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| compethic_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 127.7 kB
Release files / compethic_mcp-0.1.0.tar.gz
| Download URL | compethic_mcp-0.1.0.tar.gz |
|---|---|
| Size | 106.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee5d6447736e2ce5545fea77facad71962d0c2c9568b75ef64a57723530a6543
|
|
BLAKE2b-256 checksum How to use checksums |
c090f7863820908e92a22f9cf16220282c2e6efc8f9443580461dd1969922a67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / compethic_mcp-0.1.0-py3-none-any.whl
| Download URL | compethic_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 21.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
14dc7267691e89331c2ef074a9e661cb59f2c2d65ccf5db0576c2773aade18cd
|
|
BLAKE2b-256 checksum How to use checksums |
78b649b8a5d12dd48b0de099e916612fd228c70fdd88622460177913f40e66cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|