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.1

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.1
File Size Uploaded
compethic_mcp-0.1.1.tar.gz 106.5 kB Details

Built distribution (wheel)

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

Total release size: 128.5 kB

Release files / compethic_mcp-0.1.1.tar.gz

Download URL compethic_mcp-0.1.1.tar.gz
Size 106.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9d7e40a2c3aaeb5c892f42f9c45747c50f9372891b7a5f6352995c54a17f4d56
BLAKE2b-256 checksum
How to use checksums
4c604c6df1426acee95068cfd85e59e2df3a41aa8dfddcc96f6dcd759f9851cd
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.1-py3-none-any.whl

Download URL compethic_mcp-0.1.1-py3-none-any.whl
Size 22.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f3f92672c4b3f31df8e1252d17b0fac4e5fecd6124de63f46cd46d2256911a2
BLAKE2b-256 checksum
How to use checksums
cdd6e6bffe8c8e5774620cc50f3e66b4e6df1a66120e323238c0f75168ffd09b
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

0.1.2

2 release files

This release

0.1.1 This release

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