get_product_contextLABSCO SUMMARY
Why a decision was made, still findable six months later.
The difference from a markdown memory file is that this is queryable: filter decisions by tag, full-text search the rationale, link a decision to the progress entry it caused, and read the version history of the context that changed around it.
What it is
A database-backed store for project context, one SQLite file per workspace, created automatically. It replaces file-based memory-bank setups with something queryable, and adds vector embeddings so retrieval can be semantic as well as literal.
What you get
- Product and active context:
get_product_contextandupdate_product_contextfor goals, features and architecture;get_active_contextandupdate_active_contextfor current focus, recent changes and open issues. Both updates accept a full replacement or a partial patch - Decisions:
log_decisionwith summary, rationale, implementation details and tags;get_decisionswith tag filters;search_decisions_ftsfor full-text search across every field;delete_decision_by_id - Progress:
log_progresswith status, description and a parent for sub-tasks, plusget_progress,update_progressanddelete_progress_by_id - System patterns:
log_system_pattern,get_system_patternsanddelete_system_pattern_by_id - Custom data as a category-and-key store:
log_custom_data,get_custom_data,delete_custom_data, withsearch_project_glossary_ftsfor the glossary category andsearch_custom_data_value_ftsacross all values, categories and keys - The graph itself:
link_conport_itemscreates a typed relationship between two items andget_linked_itemswalks it - History and meta:
get_item_historyfor versioned product and active context,get_recent_activity_summary, andget_conport_schemaso a client can discover the tool surface - Portability:
export_conport_to_markdownandimport_markdown_to_conport
Requirements
Python 3.8 or higher, and uv strongly recommended. The recommended setup runs the published package with no virtual environment of your own: uvx --from context-portal-mcp conport-mcp --mode stdio, with --log-file and --log-level optional. Every tool takes a workspace_id naming the project. Many IDEs do not expand ${workspaceFolder} when launching MCP servers, so either give an absolute path or omit the launch argument entirely and rely on the per-call value — in that case the database is initialized on the first tool call. Integer-like parameters accept digits as strings as well as numbers. Schema changes are handled by Alembic migrations.
Setup effort
Add the configuration to your client
USE CASES
Keeping architecture decisions out of old chats
Log the decision with its rationale, the implementation details and tags — then find it later by tag or by searching the reasoning itself.
Giving a new session the current picture
Active context holds the working focus, recent changes and open issues, updated by patch so one field can change without rewriting the whole object.
Tracking work with its parentage intact
Progress entries take a parent and can link to another item, so a sub-task knows what it belongs to and which decision produced it.
Building a project glossary the assistant can search
Store terms as custom data under a category and search the glossary directly, so the model uses your definitions rather than the general ones.
Seeing how the context got here
Product and active context are versioned; read the history by version or by timestamp instead of guessing when something changed.
Moving the knowledge somewhere else
Export the whole store to markdown files and import it back, which is also the route for reviewing it outside the tooling.
29 tools
Listed in project docs. Your client may show a different list.
update_product_contextget_active_contextupdate_active_contextlog_decisionget_decisionssearch_decisions_ftsdelete_decision_by_idlog_progressget_progressupdate_progressdelete_progress_by_idlog_system_patternget_system_patternsdelete_system_pattern_by_idlog_custom_dataget_custom_datadelete_custom_datasearch_project_glossary_ftssearch_custom_data_value_ftslink_conport_itemsget_linked_itemsget_item_historyget_recent_activity_summaryget_conport_schemaexport_conport_to_markdownimport_markdown_to_conportbatch_log_itemsget_workspace_detection_infoBEFORE YOU INSTALL
What to know first
Tools you get
29 tools named in the project's documentation.
Requires
uv installed, so uvx is on your PATH
Where it runs
All 3 documented setups run the server on your machine.
INSTALLATION
Connect your client
MCP Clients
Any MCP client — uvx
{
"mcpServers": {
"conport": {
"command": "uvx",
"args": [
"--from",
"context-portal-mcp",
"conport-mcp",
"--mode",
"stdio",
"--workspace_id",
"${workspaceFolder}",
"--log-file",
"./logs/conport.log",
"--log-level",
"INFO"
]
}
}
}Values written as ${…} are filled in only by clients that expand variables.
Any MCP client — auto-detect
{
"mcpServers": {
"conport": {
"command": "uvx",
"args": [
"--from",
"context-portal-mcp",
"conport-mcp",
"--mode",
"stdio",
"--log-level",
"INFO"
]
}
}
}Any MCP client — explicit path
{
"mcpServers": {
"conport": {
"command": "uvx",
"args": [
"--from",
"context-portal-mcp",
"conport-mcp",
"--mode",
"stdio",
"--no-auto-detect",
"--workspace_id",
"<YOUR_PATH_TO_PROJECT>"
]
}
}
}