Data as of

Context Portal MCP (ConPort) for Windsurf: Setup & Config

Context Portal stores structured project memory for Windsurf in a workspace-specific SQLite database.

What you can do with Context Portal MCP (ConPort) in Windsurf

Choose it for persistent, linked project memory rather than a collection of unstructured context files.

  • Track tasks, progress, and project-specific terminology.
  • Bootstrap product context from an approved project brief.

Before you start: Context Portal MCP (ConPort) in Windsurf

  • Python 3.8 or later recommended
  • uv with uvx
  • An MCP-compatible client that supplies workspace context

Uses the README's alternative without launch-time --workspace_id. Supply workspace_id on tool calls; database initialization then occurs on the first call. Absolute launch-time paths are another option. Some IDEs do not expand ${workspaceFolder}. No required environment variables are stated.

Context Portal MCP (ConPort) Windsurf configuration

  1. Choose Windsurf configuration scope

    For Context Portal MCP (ConPort), open macOS/Linux: ~/.codeium/windsurf/mcp_config.json Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json. Merge into mcpServers; remote endpoints use serverUrl.

  2. Add Context Portal MCP (ConPort) to Windsurf

    Use the context-portal entry below in mcpServers. Keep Context Portal MCP (ConPort)'s documented stdio connection fields and your other Windsurf entries.

  3. Check Context Portal MCP (ConPort) in Windsurf

    Context Portal MCP (ConPort): Refresh MCP in Windsurf settings and inspect Cascade’s tools.

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

JSON
{
  "mcpServers": {
    "context-portal": {
      "command": "uvx",
      "args": [
        "--from",
        "context-portal-mcp",
        "conport-mcp",
        "--mode",
        "stdio",
        "--log-file",
        "./logs/conport.log",
        "--log-level",
        "INFO"
      ],
      "env": {}
    }
  }
}

Context Portal MCP (ConPort) tools available to Windsurf

Context Portal MCP (ConPort)'s stored tool list documents 1 tool; compare it with Windsurf's connected tool list, because the stored list is not a live check.

get_conport_schema

After refreshing Context Portal MCP (ConPort) in Windsurf settings, check Cascade's tool list for get_conport_schema.

Discover exact ConPort tool names and parameter schemas dynamically.

Context Portal MCP (ConPort): full stored tool descriptions

Troubleshooting Context Portal MCP (ConPort) in Windsurf

  • Check uvx --from (from uv, for Python tools) on the machine running Windsurf's MCP integration for Context Portal MCP (ConPort); refresh MCP and inspect Cascade's tools.
  • Context Portal MCP (ConPort) uses stdio here: Windsurf must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Some IDEs do not expand workspace variables as expected.
  • Known limitation: Reliable agent use benefits from initialization and custom-instruction setup.
  • General Windsurf troubleshooting lives in the /clients/windsurf guide.

Context Portal MCP (ConPort) — details. Windsurf guide

Frequently asked questions

Windsurf reads Context Portal MCP (ConPort) under mcpServers in ~/.codeium/windsurf/mcp_config.json on macOS/Linux; Windows uses %USERPROFILE%\.codeium\windsurf\mcp_config.json.

Windsurf's context-portal example uses stdio.

Context Portal MCP (ConPort)'s Windsurf configuration invokes uvx --from (from uv, for Python tools).

Context Portal MCP (ConPort)'s stored list contains 1 tool, including get_conport_schema. Compare those names with Windsurf's connected tool list; the stored list is not a live check.

Use an absolute --workspace_id path or supply workspace_id on each tool call instead of relying on variable expansion.

Yes. The README describes vector storage and semantic search alongside structured records and relationships.