Skip to main content

Compethic MCP Server

Cursor and Claude Desktop MCP server that reads Compethic feedback, taxonomy, and analytics through the Compethic API. Tools mint a gateway-client JWT and call product GETs with organization_id taken from that JWT.

Prerequisites: install uv

The package runs via uvx (part of uv). Install uv using the official installer — see Installation.

macOS and Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows (PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

After install, open a new terminal and confirm:

uvx --version

Preferred setup (dashboard)

  1. In the Compethic dashboard: Settings → Data Analysis → MCP.
  2. Create client — read-only scopes are applied by default. The secret is shown once.
  3. Click Add to MCP (Cursor / generic hosts) or Add to Claude (inner entry for merging).
  4. Restart the MCP connection in that host.

If the secret is lost, revoke the client and create a new one. The hashed secret cannot be shown again.

Manual host config

Use gateway-client credentials from the dashboard. Set DATALAYER_API_URL to https://api.compethic.no (no trailing slash).

Args use compethic-mcp without a version pin so uvx resolves the latest release on PyPI.

Claude Desktop

Edit claude_desktop_config.json and add the compethic entry under mcpServers:

{
  "mcpServers": {
    "compethic": {
      "command": "uvx",
      "args": ["compethic-mcp"],
      "env": {
        "DATALAYER_API_URL": "https://api.compethic.no",
        "COMPETHIC_CLIENT_ID": "00000000-0000-0000-0000-000000000000",
        "COMPETHIC_CLIENT_SECRET": "ce_live_..."
      }
    }
  }
}

If you already have other servers, merge only the compethic object into your existing mcpServers block — do not nest a second mcpServers key.

Cursor (and other stdio hosts)

.cursor/mcp.json (or equivalent) — include "type": "stdio" so URL-based defaults do not override the command:

{
  "mcpServers": {
    "compethic": {
      "type": "stdio",
      "command": "uvx",
      "args": ["compethic-mcp"],
      "env": {
        "DATALAYER_API_URL": "https://api.compethic.no",
        "COMPETHIC_CLIENT_ID": "00000000-0000-0000-0000-000000000000",
        "COMPETHIC_CLIENT_SECRET": "ce_live_..."
      }
    }
  }
}

Do not put a personal session token or service key in these files.

Environment

Variable Required Notes
DATALAYER_API_URL yes https://api.compethic.no (no trailing slash).
COMPETHIC_CLIENT_ID yes UUID from Create client in the dashboard.
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.

Transport

Hosts spawn uvx compethic-mcp as a stdio subprocess with the env vars above. Use the JSON config blocks in this README or the dashboard copy buttons — do not paste stdio JSON into a URL-only MCP 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.

OAuth, writes, and internal admin surfaces are not exposed through this server.

Smoke

After wiring, call org_get with view=info, then taxonomy_list with type=strategic-themes.

Release files for compethic-mcp 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for compethic-mcp 0.1.2
File Size Uploaded
compethic_mcp-0.1.2.tar.gz 111.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for compethic-mcp 0.1.2
File Interpreter ABI Platform
compethic_mcp-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 136.0 kB

Release files / compethic_mcp-0.1.2.tar.gz

Download URL compethic_mcp-0.1.2.tar.gz
Size 111.1 kB
Tags Source
SHA-256 checksum
How to use checksums
469e47276a51bfefe11e052389e9fb2424935334cc66a5610ab70cb59167c346
BLAKE2b-256 checksum
How to use checksums
19776a3277f9f5b6634230f2915f9acfdbad0c3d97e30b78509586591ab18d0e
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.2-py3-none-any.whl

Download URL compethic_mcp-0.1.2-py3-none-any.whl
Size 24.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0a09ad92a226aee8c42ac82944947b4b9efefde1e5ef736176ea3667bd574d11
BLAKE2b-256 checksum
How to use checksums
a100a18c2359c1855db9465127c339a3c7962af819cfdcb4e064c0efaf231889
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 history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page