Server profile

Context Portal MCP (ConPort)

Context Portal stores structured project memory for AI assistants in a workspace-specific SQLite database. It tracks decisions, progress, architecture, and custom context, with relationships and semantic search for retrieval.

Server facts

Context Portal MCP (ConPort)

Project

License
Apache-2.0

Tech

Runtime / language
pythonPython
Transports
stdio
Remote available
No
Authentication
Not specified

Activity

GitHub stars
767
Last commit
Data as of

Tags

  • Knowledge Graph
  • Project Memory
  • Rag
  • Semantic Search
  • Sqlite

Overview

Context Portal MCP, also called ConPort, provides persistent project context for AI assistants and IDE tools. Instead of maintaining memory solely as text files, it stores structured records in a SQLite database for each workspace. The documented context includes decisions, progress, architectural patterns, product information, and custom data such as glossaries or specifications. Explicit links between records form a project knowledge graph. Vector storage and semantic search support retrieval-augmented workflows, while schema migrations are handled through Alembic. The main deployment mode uses standard input/output for integration with MCP-enabled development environments.

The recommended launch uses uvx to run the published package without manually managing a virtual environment. Workspace identity remains important: some IDEs do not expand their workspace variable, so the README offers absolute paths or per-call workspace identifiers as alternatives. When no launch-time workspace is supplied, the database initializes on the first tool call that provides one. The README also describes automatic workspace detection. Custom instruction sets for several assistants explain when to initialize memory, retrieve context, and record changes. A projectBrief.md file can bootstrap product context after the agent asks for approval to import it. Another strategy set focuses on sprint artifacts, flat categories, and valid full-text-search prefixes. These instructions complement the database rather than replacing the need to identify the correct workspace.

Install & configure

Requirements

  • Python 3.8 or later recommended
  • uv with uvx
  • An MCP-compatible client that supplies workspace context
Documented launch / install command
uvx --from context-portal-mcp conport-mcp --mode stdio --log-file ./logs/conport.log --log-level INFO

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.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.

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

Read the Claude Desktop setup guide

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.

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

Read the Cursor setup guide

Config file · Workspace: .vscode/mcp.json

For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.

VS Code configuration
{
  "servers": {
    "context-portal": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from",
        "context-portal-mcp",
        "conport-mcp",
        "--mode",
        "stdio",
        "--log-file",
        "./logs/conport.log",
        "--log-level",
        "INFO"
      ],
      "env": {}
    }
  }
}

Read the VS Code setup guide

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

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

Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.

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

Read the Windsurf setup guide

Config file · Project scope: .mcp.json at the repository root

The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.

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

Read the Claude Code setup guide

Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.

Tools

Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.

ToolWhat it does
get_conport_schemaDiscover exact ConPort tool names and parameter schemas dynamically.

Names, permissions, and defaults can change. Check the current upstream documentation before granting access.

Use cases

  • Retain architectural decisions across assistant sessions.
  • Track tasks, progress, and project-specific terminology.
  • Build linked project context for retrieval-augmented assistance.
  • Bootstrap product context from an approved project brief.

Strengths

  • Stores structured memory separately for each workspace.
  • Combines explicit knowledge relationships with semantic search.
  • Provides assistant-specific strategies and a generic discovery approach.
  • Recommended uvx execution avoids manual environment management.

Limitations

  • Some IDEs do not expand workspace variables as expected.
  • Reliable agent use benefits from initialization and custom-instruction setup.

Frequently asked questions

Each workspace gets a SQLite database. The README identifies context_portal/context.db as the automatically created database location.

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

Yes. The supplied agent strategies can read projectBrief.md and ask permission to import it into product context.

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

Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.

Related MCP servers

Grounded Docs MCP Server

Memory & Knowledge

Grounded Docs MCP Server builds a documentation index that coding assistants can query by library version. It ingests websites, repositories, packages, and local files, with CLI, Web UI, and MCP access.

MCP Server for Obsidian

Memory & Knowledge

MCP Server for Obsidian connects assistants to an Obsidian vault through the Local REST API plugin. It supports note discovery, reading, search, targeted insertion, appending, and deletion for conversational knowledge workflows.

Notion MCP Server

Memory & Knowledge

Connect an MCP client to the Notion API to work with pages and data sources. This local server supports Markdown content operations, but Notion now prioritizes its separate remote MCP service.

Memory Bank MCP Server

Memory & Knowledge

Manage project memory files through an MCP assistant using a shared storage root. The server separates projects and provides file discovery, reading, creation, and updates for memory-bank workflows.

MCP Knowledge Graph

Memory & Knowledge

Keep assistant memories as local entities, relationships, and facts across conversations. MCP Knowledge Graph supports project-specific and global JSONL stores, optional topic databases, and explicit memory editing tools.

Basic Memory

Memory & Knowledge

Basic Memory gives AI clients persistent knowledge stored as Markdown that people can also edit. It combines linked notes, semantic search, and optional cloud collaboration.

Qdrant MCP Server

Memory & Knowledge

Qdrant MCP Server stores information and retrieves relevant memories through semantic search. It connects MCP clients to a Qdrant service or a local database path.

Obsidian MCP Server

Memory & Knowledge

Obsidian MCP Server gives assistants note reading, search, and targeted editing in an Obsidian vault. It includes tag and frontmatter management, optional path restrictions, and stdio or streamable HTTP operation.