io.github.contextq/contextq-mcp

Registre officiel Recherche et web

Persistent memory, hybrid search and a goal graph for AI agents, over stdio or remote HTTP.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http contextq-mcp 'https://app.contextq.dev/mcp' --header 'Authorization: <Optional: Bearer followed by a ContextQ API key (sk_live_...). Omit to sign in with OAuth.>'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "contextq-mcp": {
            "type": "http",
            "url": "https://app.contextq.dev/mcp",
            "headers": {
                "Authorization": "<Optional: Bearer followed by a ContextQ API key (sk_live_...). Omit to sign in with OAuth.>"
            }
        }
    }
}
NPM package @contextq/mcp
Claude Code
claude mcp add contextq-mcp -e 'CONTEXT_API_KEY=<your context_api_key>' -e 'CONTEXT_API_URL=<CONTEXT_API_URL>' -- npx -y @contextq/mcp@2.1.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "contextq-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@contextq/mcp@2.1.1"
            ],
            "env": {
                "CONTEXT_API_KEY": "<your context_api_key>",
                "CONTEXT_API_URL": "<CONTEXT_API_URL>"
            }
        }
    }
}

Variables d'environnement

  • CONTEXT_API_KEY obligatoire secret ContextQ API key (sk_live_...), created in the ContextQ dashboard
  • CONTEXT_API_URL obligatoire ContextQ API base URL, https://app.contextq.dev for the hosted service

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. @contextq/mcp
  2. Client configuration
  3. What data is sent and tenant isolation
  4. Client timeout configuration
  5. API version compatibility
  6. License

@contextq/mcp

MCP server for ContextQ -- exposes the ContextQ knowledge-management API (89 tools: save, search, ingest, goal graphs, agent sessions, relays, and more) as Model Context Protocol tools. A curated ~24-tool default set loads at connection to keep the token cost of tools/list low; the rest load on demand or via CONTEXT_MCP_TOOL_PROFILE=full -- see below.

npx -y @contextq/mcp

Client configuration

Two environment variables are required in every client:

VariableDescription
CONTEXT_API_URLBase URL of your ContextQ server (e.g. https://ctx.example.com)
CONTEXT_API_KEYAPI key sent as Authorization: Bearer on every request

Optional:

VariableDescription
CONTEXT_MCP_TOOL_PROFILEdefault (default if unset) loads a curated ~24-tool set at connection, well under most hosts' comfortable tool-list budget; full loads all ~89 tools from the start. On default, the rest stay reachable via the ctx_tool_groups (list) / ctx_load_tool_group (load) tools without reconnecting -- see docs/mcp-tools.md "Discoverability under ToolSearch deferral"

Setup paths: Claude Code and Claude Desktop have automated setup via the contextq init CLI command. Cursor, Windsurf, and Cline require manual config file editing — see docs/mcp-setup.md for the full reference.

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "contextq": {
      "command": "npx",
      "args": ["-y", "@contextq/mcp"],
      "env": {
        "CONTEXT_API_KEY": "sk_live_YOUR_API_KEY",
        "CONTEXT_API_URL": "https://ctx.example.com"
      }
    }
  }
}
Claude Code
claude mcp add contextq \
  -e CONTEXT_API_KEY=sk_live_YOUR_API_KEY \
  -e CONTEXT_API_URL=https://ctx.example.com \
  -- npx -y @contextq/mcp
Cursor

Add to your Cursor MCP config (.cursor/mcp.json or Settings > MCP):

{
  "mcpServers": {
    "contextq": {
      "command": "npx",
      "args": ["-y", "@contextq/mcp"],
      "env": {
        "CONTEXT_API_KEY": "sk_live_YOUR_API_KEY",
        "CONTEXT_API_URL": "https://ctx.example.com"
      }
    }
  }
}
Windsurf

STATUS (2026-06-02): Windsurf was rebranded as Devin Desktop and Cascade was end-of-lifed (2026-07-01). If you have an existing Windsurf install, the configuration below still applies, but new installations should use Devin Desktop instead. Devin Desktop uses the same MCP config format under .devin/mcp.json.

Add to your Windsurf MCP config (.windsurf/mcp.json):

{
  "mcpServers": {
    "contextq": {
      "command": "npx",
      "args": ["-y", "@contextq/mcp"],
      "env": {
        "CONTEXT_API_KEY": "sk_live_YOUR_API_KEY",
        "CONTEXT_API_URL": "https://ctx.example.com"
      }
    }
  }
}

What data is sent and tenant isolation

  • Only the requests your agent makes are sent. The MCP server is a stateless proxy -- it forwards each tool call to the ContextQ API via CONTEXT_API_URL and returns the response. No telemetry, no background sync, no usage tracking beyond what your ContextQ server logs.
  • Tenant-scoped API keys. Every ContextQ API key is bound to a single tenant. All /api/* endpoints enforce tenant isolation -- an API key can only access the tenant it was issued for. Cross-tenant data leaks are impossible at the API layer.
  • Per-request auth. Your CONTEXT_API_KEY is sent as an Authorization: Bearer header on every call. It never appears in tool names, argument schemas, or responses returned to the LLM.

Client timeout configuration

A handful of ContextQ tools run LLM calls, kNN scans, or bulk DB operations server-side and can legitimately take longer than a typical MCP client's default request timeout. If your client aborts before the server responds, you will see a timeout error that looks like a broken tool — it usually isn't. Configure a longer per-server timeout for this MCP server rather than assuming the tool is hung.

Slow-class tools (recommend a longer timeout, e.g. 120000-180000 ms depending on workspace size):

ToolWhy it's slow
ctx_dreamClusters a workspace's contexts via vector similarity, then runs one LLM synthesis call per cluster.
ctx_evolveRuns LLM judging over up to 20 nearest-neighbor contexts to decide links/archival.
ctx_ingestFetches/parses a source and runs LLM claim extraction + kNN diffing. Large or URL-sourced ingests already return { jobId, statusUrl } and expect polling via ctx_ingest_status — but small inline ingests still run synchronously and can take several seconds.
ctx_regenerate_mocsRe-clusters all of a tenant's contexts and runs one LLM synthesis call per cluster (admin scope).
ctx_memory_review_runSamples older contexts and asks the LLM to verdict each one (superadmin scope).
ctx_bulk_updateApplies a lifecycle/archive patch to up to 200 context ids in one call — bounded, but still slower than a single-row update.
ctx_audit_cleanup_runDeletes up to 5000 activity_logs rows in one pass (superadmin scope).
ctx_snapshot_create / ctx_fork_world / ctx_diff_worldClone or diff a workspace's full memory state (contexts, links, goal graph) — cost scales with workspace size.

Everything else (ctx_search, ctx_get, ctx_save, ctx_list, agent_*, goal_*, relay_*, etc.) is ordinary CRUD/search and should complete well within a default client timeout.

These numbers are starting points, not guarantees — actual latency depends on your ContextQ server's hardware, workspace size, and configured LLM/embedding provider. Measure against your own deployment before tuning tighter.

.mcp.json per-server request_timeout_ms

Most MCP clients that support .mcp.json (including Claude Code) accept a per-server request_timeout_ms to override the client's default request timeout for every tool call on that server:

{
  "mcpServers": {
    "contextq": {
      "command": "npx",
      "args": ["-y", "@contextq/mcp"],
      "env": {
        "CONTEXT_API_KEY": "sk_live_YOUR_API_KEY",
        "CONTEXT_API_URL": "https://ctx.example.com"
      },
      "request_timeout_ms": 120000
    }
  }
}

request_timeout_ms applies per server, not per tool — if you regularly call slow-class tools, size it for the slowest one you expect to hit, not the average. Claude Code 2.1.206 fixed a bug where this field was silently ignored (a 60s default was applied regardless); confirm your Claude Code version is at least 2.1.206 if the setting doesn't seem to take effect.

Claude Code idle timeout

Independently of request_timeout_ms, Claude Code (2.1.187+) also enforces CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT — an idle-abort timeout (default around 5 minutes) that fires if an MCP tool call produces no activity for that long. Set it in your shell environment (not .mcp.json) when calling slow-class tools against a large workspace:

export CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT=300000   # milliseconds; raise if ctx_dream/ctx_ingest still time out

Treat both settings as recommendations, not guarantees, of how long any given call will take.

API version compatibility

The 99-tool surface exposed by this MCP server is a direct projection of the ContextQ API (24 loaded by default, the rest via CONTEXT_MCP_TOOL_PROFILE=full or on-demand -- see "Client configuration" above). The tool count and signatures drift with the server. Pin compatible versions:

MCP packageContextQ server API
@contextq/mcp@2.xContextQ v2.x (99 tools)

When upgrading your ContextQ server, check the changelog and bump the MCP package to the matching major version. A version mismatch may surface unknown tools or break call signatures.

License

MIT

Questions fréquentes

Qu'est-ce que io.github.contextq/contextq-mcp ?

Persistent memory, hybrid search and a goal graph for AI agents, over stdio or remote HTTP.

Comment installer io.github.contextq/contextq-mcp ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http contextq-mcp 'https://app.contextq.dev/mcp' --header 'Authorization: <Optional: Bearer followed by a ContextQ API key (sk_live_...). Omit to sign in with OAuth.>'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.contextq/contextq-mcp ?

Oui. Il attend CONTEXT_API_KEY, CONTEXT_API_URL, Authorization, à renseigner dans sa configuration.

io.github.contextq/contextq-mcp est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.contextq/contextq-mcp ?

Il est publié par contextq. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.