
ContextStream wires your AI assistant into a persistent memory and knowledge layer across your codebase, conversations, and team tools. It exposes semantic search over code, a lessons system that captures failures and decisions, session memory that survives context window pressure, and direct integrations with GitHub, Slack, and Notion. The server indexes your project locally and syncs with a hosted service, then surfaces relevant context automatically through a SmartRouter that analyzes each message. You get dependency graph queries, multi-modal media indexing, and hybrid search without manually feeding files into prompts. Setup drops an MCP config into Claude Desktop, Cursor, VS Code with Copilot, or OpenCode, and the tools hook in transparently from there.
Public tool metadata for what this MCP can expose to an agent.
mcp_server_versionReturn the running ContextStream MCP server package version Access: FreeReturn the running ContextStream MCP server package version Access: Free
No parameter schema in public metadata yet.
auth_meFetch authenticated user profile Access: FreeFetch authenticated user profile Access: Free
No parameter schema in public metadata yet.
workspaces_listList accessible workspaces (paginated list: items, total, page, per_page, has_next, has_prev). Access: Free2 paramsList accessible workspaces (paginated list: items, total, page, per_page, has_next, has_prev). Access: Free
pagenumberpage_sizenumberprojects_listList projects (optionally by workspace; paginated list: items, total, page, per_page, has_next, has_prev). Access: Free3 paramsList projects (optionally by workspace; paginated list: items, total, page, per_page, has_next, has_prev). Access: Free
pagenumberpage_sizenumberworkspace_idstringprojects_createCreate a new project within a workspace. Use this when you need to create a project for a specific folder/codebase. If workspace_id is not provided, uses the current session's workspace. Optionally associates a local folder and generates AI editor rules. Access: Free Access: Free5 paramsCreate a new project within a workspace. Use this when you need to create a project for a specific folder/codebase. If workspace_id is not provided, uses the current session's workspace. Optionally associates a local folder and generates AI editor rules. Access: Free Access: Free
descriptionstringfolder_pathstringgenerate_editor_rulesbooleannamestringworkspace_idstringprojects_updateUpdate a project (rename or change description) Access: Free3 paramsUpdate a project (rename or change description) Access: Free
descriptionstringnamestringproject_idstringprojects_indexTrigger indexing for a project Access: Free1 paramsTrigger indexing for a project Access: Free
project_idstringsearch_semanticSemantic vector search Access: Free4 paramsSemantic vector search Access: Free
limitnumberproject_idstringquerystringworkspace_idstringsearch_hybridHybrid search (semantic + keyword) Access: Free4 paramsHybrid search (semantic + keyword) Access: Free
limitnumberproject_idstringquerystringworkspace_idstringsearch_keywordKeyword search Access: Free4 paramsKeyword search Access: Free
limitnumberproject_idstringquerystringworkspace_idstringmemory_create_eventCreate a memory event for a workspace/project Access: Free6 paramsCreate a memory event for a workspace/project Access: Free
contentstringevent_typestringmetadataobjectproject_idstringtitlestringworkspace_idstringmemory_list_eventsList memory events (optionally scoped) Access: Free3 paramsList memory events (optionally scoped) Access: Free
limitnumberproject_idstringworkspace_idstringmemory_create_nodeCreate a knowledge node with optional relations Access: Free6 paramsCreate a knowledge node with optional relations Access: Free
contentstringnode_typestringproject_idstringrelationsarraytitlestringworkspace_idstringmemory_list_nodesList knowledge graph nodes Access: Free3 paramsList knowledge graph nodes Access: Free
limitnumberproject_idstringworkspace_idstringmemory_searchSearch memory events/notes Access: Free4 paramsSearch memory events/notes Access: Free
limitnumberproject_idstringquerystringworkspace_idstringmemory_decisionsList decision summaries from workspace memory Access: Free4 paramsList decision summaries from workspace memory Access: Free
categorystringlimitnumberproject_idstringworkspace_idstringgraph_relatedFind related nodes in the knowledge graph Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)4 paramsFind related nodes in the knowledge graph Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)
limitnumbernode_idstringproject_idstringworkspace_idstringgraph_pathFind path between two nodes Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)4 paramsFind path between two nodes Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)
project_idstringsource_idstringtarget_idstringworkspace_idstringgraph_decisionsDecision history in the knowledge graph Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)3 paramsDecision history in the knowledge graph Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)
limitnumberproject_idstringworkspace_idstringgraph_dependenciesDependency graph query Access: Pro (Graph-Lite) (upgrade: https://contextstream.io/pricing)3 paramsDependency graph query Access: Pro (Graph-Lite) (upgrade: https://contextstream.io/pricing)
include_transitivebooleanmax_depthnumbertargetobjectgraph_call_pathFind call path between two targets Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)3 paramsFind call path between two targets Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)
max_depthnumbersourceobjecttargetobjectgraph_impactAnalyze impact of a target node Access: Pro (Graph-Lite) (upgrade: https://contextstream.io/pricing)2 paramsAnalyze impact of a target node Access: Pro (Graph-Lite) (upgrade: https://contextstream.io/pricing)
max_depthnumbertargetobjectgraph_ingestBuild and persist the dependency graph for a project. Runs async by default (wait=false) and can take a few minutes for larger repos. Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)2 paramsBuild and persist the dependency graph for a project. Runs async by default (wait=false) and can take a few minutes for larger repos. Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)
project_idstringwaitbooleanprojects_getGet project details by ID Access: Free1 paramsGet project details by ID Access: Free
project_idstringprojects_overviewGet project overview with summary information Access: Free1 paramsGet project overview with summary information Access: Free
project_idstringprojects_statisticsGet project statistics (files, lines, complexity) Access: Free1 paramsGet project statistics (files, lines, complexity) Access: Free
project_idstringprojects_filesList all indexed files in a project Access: Free1 paramsList all indexed files in a project Access: Free
project_idstringprojects_index_statusGet project indexing status Access: Free1 paramsGet project indexing status Access: Free
project_idstringprojects_ingest_localRead ALL files from a local directory and ingest them for indexing. This indexes your entire project by reading files in batches. Automatically detects code files and skips ignored directories like node_modules, target, dist, etc. Access: Free4 paramsRead ALL files from a local directory and ingest them for indexing. This indexes your entire project by reading files in batches. Automatically detects code files and skips ignored directories like node_modules, target, dist, etc. Access: Free
overwritebooleanpathstringproject_idstringwrite_to_diskbooleanworkspaces_getGet workspace details by ID Access: Free1 paramsGet workspace details by ID Access: Free
workspace_idstringmemory_get_eventGet a specific memory event by ID with FULL content (not truncated). Use this when you need the complete content of a memory event, not just the preview returned by search/recall. Access: Free1 paramsGet a specific memory event by ID with FULL content (not truncated). Use this when you need the complete content of a memory event, not just the preview returned by search/recall. Access: Free
event_idstringmemory_update_eventUpdate a memory event Access: Free4 paramsUpdate a memory event Access: Free
contentstringevent_idstringmetadataobjecttitlestringmemory_delete_eventDelete a memory event Access: Free1 paramsDelete a memory event Access: Free
event_idstringmemory_timelineGet chronological timeline of memory events for a workspace Access: Free1 paramsGet chronological timeline of memory events for a workspace Access: Free
workspace_idstringmemory_summaryGet condensed summary of workspace memory Access: Free1 paramsGet condensed summary of workspace memory Access: Free
workspace_idstringgraph_circular_dependenciesDetect circular dependencies in project code Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)1 paramsDetect circular dependencies in project code Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)
project_idstringgraph_unused_codeDetect unused code in project Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)1 paramsDetect unused code in project Access: Elite/Team (Full Graph) (upgrade: https://contextstream.io/pricing)
project_idstringsession_initInitialize a new conversation session and automatically retrieve relevant context. This is the FIRST tool AI assistants should call when starting a conversation. Returns: workspace info, project info, recent memory, recent decisions, relevant context, and high-priority lessons...9 paramsInitialize a new conversation session and automatically retrieve relevant context. This is the FIRST tool AI assistants should call when starting a conversation. Returns: workspace info, project info, recent memory, recent decisions, relevant context, and high-priority lessons...
allow_no_workspacebooleanauto_indexbooleancontext_hintstringfolder_pathstringinclude_decisionsbooleaninclude_recent_memorybooleanproject_idstringsession_idstringworkspace_idstringsession_toolsGet an ultra-compact list of all available ContextStream MCP tools. Use this when you need to know what tools are available without reading full descriptions. Returns a token-efficient tool catalog (~120 tokens) organized by category. Format options: - 'grouped' (default): Cat...2 paramsGet an ultra-compact list of all available ContextStream MCP tools. Use this when you need to know what tools are available without reading full descriptions. Returns a token-efficient tool catalog (~120 tokens) organized by category. Format options: - 'grouped' (default): Cat...
categorystringformatstringgrouped · minimal · fulldefault: groupedsession_get_user_contextRetrieve user preferences, coding style, and persona from memory. Use this to understand how the user likes to work and adapt your responses accordingly. Access: Free1 paramsRetrieve user preferences, coding style, and persona from memory. Use this to understand how the user likes to work and adapt your responses accordingly. Access: Free
workspace_idstringworkspace_associateAssociate a folder/repo with a workspace after user selection. Call this after session_init returns status='requires_workspace_selection' and the user has chosen a workspace. This persists the selection to .contextstream/config.json so future sessions auto-connect. Optionally...5 paramsAssociate a folder/repo with a workspace after user selection. Call this after session_init returns status='requires_workspace_selection' and the user has chosen a workspace. This persists the selection to .contextstream/config.json so future sessions auto-connect. Optionally...
create_parent_mappingbooleanfolder_pathstringgenerate_editor_rulesbooleanworkspace_idstringworkspace_namestringworkspace_bootstrapCreate a new workspace (user-provided name) and onboard the current folder as a project. This is useful when session_init returns status='requires_workspace_name' (no workspaces exist yet) or when you want to create a new workspace for a repo. Behavior: - Creates a workspace w...8 paramsCreate a new workspace (user-provided name) and onboard the current folder as a project. This is useful when session_init returns status='requires_workspace_name' (no workspaces exist yet) or when you want to create a new workspace for a repo. Behavior: - Creates a workspace w...
auto_indexbooleancontext_hintstringcreate_parent_mappingbooleandescriptionstringfolder_pathstringgenerate_editor_rulesbooleanvisibilitystringprivate · publicworkspace_namestringsession_captureAutomatically capture and store important context from the conversation. Use this to persist decisions, insights, preferences, or important information. Access: Free8 paramsAutomatically capture and store important context from the conversation. Use this to persist decisions, insights, preferences, or important information. Access: Free
contentstringevent_typestringconversation · decision · insight · preference · task · bugimportancestringlow · medium · high · criticalproject_idstringsession_idstringtagsarraytitlestringworkspace_idstringsession_capture_lessonCapture a lesson learned from a mistake or correction. Use this when the user corrects you, expresses frustration, or points out an error. These lessons are surfaced in future sessions to prevent repeating the same mistakes. Example triggers: - User says "No, you should..." or...9 paramsCapture a lesson learned from a mistake or correction. Use this when the user corrects you, expresses frustration, or points out an error. These lessons are surfaced in future sessions to prevent repeating the same mistakes. Example triggers: - User says "No, you should..." or...
categorystringworkflow · code_quality · verification · communication · project_specificimpactstringkeywordsarraypreventionstringproject_idstringseveritystringlow · medium · high · criticaldefault: mediumtitlestringtriggerstringworkspace_idstringsession_get_lessonsRetrieve lessons learned from past mistakes and corrections. Use this to check for relevant warnings before taking actions that have caused problems before. Returns lessons filtered by: - Query: semantic search for relevant lessons - Category: workflow, code_quality, verificat...6 paramsRetrieve lessons learned from past mistakes and corrections. Use this to check for relevant warnings before taking actions that have caused problems before. Returns lessons filtered by: - Query: semantic search for relevant lessons - Category: workflow, code_quality, verificat...
categorystringworkflow · code_quality · verification · communication · project_specificlimitnumberproject_idstringquerystringseveritystringlow · medium · high · criticalworkspace_idstringsession_smart_searchSearch memory with automatic context enrichment. Returns memory matches, relevant code, and related decisions in one call. Access: Free5 paramsSearch memory with automatic context enrichment. Returns memory matches, relevant code, and related decisions in one call. Access: Free
include_decisionsbooleaninclude_relatedbooleanproject_idstringquerystringworkspace_idstringsession_rememberQuick way to store something in memory. Use natural language. Example: "Remember that I prefer TypeScript strict mode" or "Remember we decided to use PostgreSQL" Access: Free5 paramsQuick way to store something in memory. Use natural language. Example: "Remember that I prefer TypeScript strict mode" or "Remember we decided to use PostgreSQL" Access: Free
await_indexingbooleancontentstringimportancestringlow · medium · highproject_idstringworkspace_idstringsession_recallQuick way to recall relevant context. Use natural language. Example: "What were the auth decisions?" or "What are my TypeScript preferences?" Access: Free3 paramsQuick way to recall relevant context. Use natural language. Example: "What were the auth decisions?" or "What are my TypeScript preferences?" Access: Free
project_idstringquerystringworkspace_idstringgenerate_editor_rulesGenerate AI rule files for editors (Windsurf, Cursor, Cline, Kilo Code, Roo Code, Claude Code, Aider). These rules instruct the AI to automatically use ContextStream for memory and context. Supported editors: codex, windsurf, cursor, cline, kilo, roo, claude, aider Access: Free8 paramsGenerate AI rule files for editors (Windsurf, Cursor, Cline, Kilo Code, Roo Code, Claude Code, Aider). These rules instruct the AI to automatically use ContextStream for memory and context. Supported editors: codex, windsurf, cursor, cline, kilo, roo, claude, aider Access: Free
additional_rulesstringdry_runbooleaneditorsarrayfolder_pathstringmodestringminimal · fullproject_namestringworkspace_idstringworkspace_namestringsession_summaryGet a compact, token-efficient summary of workspace context (~500 tokens). This is designed to replace loading full chat history in AI prompts. Returns: workspace/project info, top decisions (titles only), preferences, memory count. Use this at conversation start instead of lo...3 paramsGet a compact, token-efficient summary of workspace context (~500 tokens). This is designed to replace loading full chat history in AI prompts. Returns: workspace/project info, top decisions (titles only), preferences, memory count. Use this at conversation start instead of lo...
max_tokensnumberproject_idstringworkspace_idstringsession_compressExtract and store key information from chat history as memory events. This allows clearing chat history while preserving important context. Use at conversation end or when context window is getting full. Extracts: - Decisions made - User preferences learned - Insights discover...4 paramsExtract and store key information from chat history as memory events. This allows clearing chat history while preserving important context. Use at conversation end or when context window is getting full. Extracts: - Decisions made - User preferences learned - Insights discover...
chat_historystringextract_typesarrayproject_idstringworkspace_idstringsession_deltaGet new context added since a specific timestamp. Useful for efficient context synchronization without reloading everything. Returns: - Count of new decisions and memory events - List of new items with titles and timestamps Use case: AI can track what's new since last session_...4 paramsGet new context added since a specific timestamp. Useful for efficient context synchronization without reloading everything. Returns: - Count of new decisions and memory events - List of new items with titles and timestamps Use case: AI can track what's new since last session_...
limitnumberproject_idstringsincestringworkspace_idstringcontext_smart**CALL THIS BEFORE EVERY AI RESPONSE** to get relevant context. This is the KEY tool for token-efficient AI interactions. It: 1. Analyzes the user's message to understand what context is needed 2. Retrieves only relevant context in a minified, token-efficient format 3. Replace...5 params**CALL THIS BEFORE EVERY AI RESPONSE** to get relevant context. This is the KEY tool for token-efficient AI interactions. It: 1. Analyzes the user's message to understand what context is needed 2. Retrieves only relevant context in a minified, token-efficient format 3. Replace...
formatstringminified · readable · structuredmax_tokensnumberproject_idstringuser_messagestringworkspace_idstringreminders_listList all reminders for the current user. Returns: reminders with title, content, remind_at, priority, status, and keywords. Can filter by status (pending, completed, dismissed, snoozed) and priority (low, normal, high, urgent). Use this to see what reminders you have set. Acce...5 paramsList all reminders for the current user. Returns: reminders with title, content, remind_at, priority, status, and keywords. Can filter by status (pending, completed, dismissed, snoozed) and priority (low, normal, high, urgent). Use this to see what reminders you have set. Acce...
limitnumberprioritystringlow · normal · high · urgentproject_idstringstatusstringpending · completed · dismissed · snoozedworkspace_idstringreminders_activeGet active reminders that are pending, overdue, or due soon. Returns: reminders with urgency levels (overdue, due_soon, today, upcoming). Optionally provide context (e.g., current task description) to get contextually relevant reminders. Use this to see what reminders need att...4 paramsGet active reminders that are pending, overdue, or due soon. Returns: reminders with urgency levels (overdue, due_soon, today, upcoming). Optionally provide context (e.g., current task description) to get contextually relevant reminders. Use this to see what reminders need att...
contextstringlimitnumberproject_idstringworkspace_idstringreminders_createCreate a new reminder for a specific date/time. Set reminders to be notified about tasks, follow-ups, or important dates. Priority levels: low, normal, high, urgent Recurrence: daily, weekly, monthly (optional) Example: Create a reminder to "Review PR #123" for tomorrow at 10a...8 paramsCreate a new reminder for a specific date/time. Set reminders to be notified about tasks, follow-ups, or important dates. Priority levels: low, normal, high, urgent Recurrence: daily, weekly, monthly (optional) Example: Create a reminder to "Review PR #123" for tomorrow at 10a...
contentstringkeywordsarrayprioritystringlow · normal · high · urgentproject_idstringrecurrencestringdaily · weekly · monthlyremind_atstringtitlestringworkspace_idstringreminders_snoozeSnooze a reminder until a later time. Use this to postpone a reminder without dismissing it. Common snooze durations: - 1 hour: add 1 hour to current time - 4 hours: add 4 hours - Tomorrow: next day at 9am - Next week: 7 days from now Access: Free2 paramsSnooze a reminder until a later time. Use this to postpone a reminder without dismissing it. Common snooze durations: - 1 hour: add 1 hour to current time - 4 hours: add 4 hours - Tomorrow: next day at 9am - Next week: 7 days from now Access: Free
reminder_idstringuntilstringreminders_completeMark a reminder as completed. Use this when the task or action associated with the reminder is done. Access: Free1 paramsMark a reminder as completed. Use this when the task or action associated with the reminder is done. Access: Free
reminder_idstringreminders_dismissDismiss a reminder without completing it. Use this to remove a reminder that is no longer relevant. Access: Free1 paramsDismiss a reminder without completing it. Use this to remove a reminder that is no longer relevant. Access: Free
reminder_idstring
Give every coding agent persistent memory, semantic code search, and the right project context on every turn.
Works with Claude Code, Cursor, VS Code + Copilot, Windsurf, Cline, Roo Code, Kilo Code, Codex, OpenCode, Aider, Antigravity, and other MCP clients.
Install in 30 seconds · Benchmarks · Documentation · Start free
Your AI should not have to rediscover the repository, re-learn the architecture, or repeat last week's mistake every time a chat starts. ContextStream gives MCP clients a shared context layer that remembers decisions and lessons, searches code by meaning, maps dependencies, and restores the thread after compaction.
The server in this repository is the canonical, MIT-licensed Rust
implementation. The recommended editor transport is the hosted MCP at
https://mcp.contextstream.io/mcp; a small local helper keeps explicitly linked
checkouts in sync.
We publish the full method, confidence intervals, comparison caveats, and known losses—not just the winning number. The product-level figures below are from the published July 2026 report; the LongMemEval-S result was published June 14, 2026.
| Benchmark | ContextStream result | What was measured |
|---|---|---|
| LongMemEval-S | 90.0% | 450/500 correct on the full suite; ~115k-token multi-session histories; official pinned GPT-4o judge; gpt-5.5 reader with self-consistency k=3 (89.6% single-shot); Wilson 95% CI [87.1%, 92.3%] |
| Pinned-repo code search | 99.38% Recall@10 | 93.83% Primary@10 and 95 ms successful-response p50 over 177 judged-valid queries, averaged across two cold and two warm runs; 0/708 failed requests; no local checkout |
| Agentic project memory | 96% task success | Up from 58% without the memory layer; one repository, one agent model, three trials per cell, so this result is directional |
On the standard memory benchmark, 90.0% is statistically above supermemory's published 85.4% and statistically tied with Zep's published 90.2%. Those comparisons use each vendor's published result; they are not presented as a private same-run head-to-head.
Read the full benchmark report, methodology, per-category results, and losses →
The repository also includes Criterion suites for JSON-RPC parsing, tool
dispatch, response serialization, and stdio/HTTP transport primitives. Run
them locally with cargo bench --locked -p mcp-server.
Pick the command for your platform. Each installer downloads the current native release and launches the guided setup wizard.
curl -fsSL https://contextstream.io/scripts/setup.sh | bash
Native releases are published for macOS Apple Silicon and Intel, plus Linux ARM64 and x64.
irm https://contextstream.io/scripts/setup.ps1 | iex
The Windows installer uses the native x64 binary and installs it in your user profile, so it does not need an administrator shell.
npx -y @contextstream/mcp-server@latest setup
The dependency-free npm launcher selects the matching release artifact, verifies its SHA-256 checksum, caches it by exact package version, and starts the Rust binary. It supports macOS ARM64/x64, Linux ARM64/x64, and Windows x64.
The wizard signs you in, detects supported editors, writes their hosted MCP configuration and managed rules, installs lifecycle hooks where supported, links the exact project folder you choose, starts indexing, and checks the result. You review the choices before it makes changes.
After setup, restart the editor and try:
Use ContextStream to summarize this repository, cite the files you relied on, and tell me one active decision or risk that should affect my next change.
Want to inspect the changes first? Every setup write can be previewed:
contextstream-mcp setup --dry-run
Already configured and troubleshooting? Run:
contextstream-mcp doctor --scope=all --only-configured
If your MCP client supports Streamable HTTP and OAuth, connect directly—there is no local MCP process to keep running:
{
"mcpServers": {
"contextstream": {
"type": "http",
"url": "https://mcp.contextstream.io/mcp"
}
}
}
Some clients use a different root key or config format, which is why the setup wizard is the easiest path. The hosted gateway is the default; the installed helper only syncs the local checkouts you explicitly link.
Clients that require stdio can use the verified npm launcher:
{
"mcpServers": {
"contextstream": {
"command": "npx",
"args": ["-y", "@contextstream/mcp-server@latest"],
"env": {
"CONTEXTSTREAM_API_KEY": "your-api-key"
}
}
}
}
For production automation, pin an exact 1.x package version instead of
latest.
| Capability | What changes in practice |
|---|---|
| Grounded context | Each turn starts with the relevant workspace rules, prior decisions, lessons, and current project state. |
| Semantic code search | Find implementations by intent, with hybrid, keyword, pattern, exhaustive, and refactor-aware modes when precision matters. |
| Durable memory | Decisions, plans, tasks, runbooks, preferences, and session transcripts remain queryable across chats and tools. |
| Compaction survival | Important state is checkpointed before long conversations compact and restored afterward. |
| Dependency intelligence | Trace blast radius, dependencies, circular imports, complexity, and unused code without manually rebuilding the graph. |
| Agent handoffs | Package verified state and next steps into durable handoffs and portable ContextCapsules. |
| Team context | Bring shared workspace knowledge and supported GitHub, Slack, and Notion context into the same MCP surface. |
The default tool surface is grouped into focused domains—context, search,
memory, session, graph, entity, capsule, project, workspace,
skill, media, vcs, and more—so agents get broad capability without an
enormous tool-registration prompt.
The wizard currently detects and configures:
Anything else that speaks the Model Context Protocol can connect to the hosted URL or use the stdio launcher.
This repository contains the canonical Rust MCP server, protocol types, client and session layers, editor setup, hooks, public transport code, release automation, and the MongoDB-free acceleration foundation. It builds as seven workspace crates:
mcp-servermcp-toolsmcp-clientmcp-sessionmcp-typesmcp-model-registrymcp-acceleration-productsThe hosted backend, credentials, production deployment configuration, and
premium provider implementations are not included. Public-build compatibility
traits remain no-op so the core protocol surface stays stable. See
docs/architecture.md for the boundary.
Setup shows a disclosure before changing editor configuration or indexing a
project. You choose the folder and workspace relationship; only matching source
files from a validated project can be indexed. Transcript capture, local Git
metadata capture, ignore rules, kill switches, retention behavior, and deletion
paths are documented in docs/data-handling.md.
Review that document before using setup --yes in automation. The CLI also
provides --dry-run for setup, repair, migration, and uninstall workflows.
The workspace uses the Rust toolchain pinned in rust-toolchain.toml.
cargo build --locked -p mcp-server --bin contextstream-mcp
cargo test --locked --workspace
cargo bench --locked -p mcp-server
To build the hosted HTTP gateway foundation:
cargo build --locked --release -p mcp-server --bin contextstream-mcp \
--features remote-acceleration
Every release publishes native binaries, checksums.txt, version.json, and
an SPDX SBOM. The npm launcher downloads only from the immutable path for its
exact package version, verifies manifests and binary SHA-256, uses an atomic
versioned cache, and supports verified offline reuse with
CONTEXTSTREAM_MCP_OFFLINE=1.
See docs/release.md for the release contract and
the latest GitHub release
for artifacts.
All 1.x npm releases preserve these executable aliases:
mcp-servercontextstream-mcpcontextstream-hook (forwards to the Rust hook subcommand)Issues and pull requests are welcome. See CONTRIBUTING.md,
SECURITY.md, and GOVERNANCE.md. Contributions
must include the Developer Certificate of Origin sign-off (git commit -s).
The code is MIT licensed. ContextStream trademarks and the hosted-service boundary are described in NOTICE.
Stop teaching your coding agent the same project twice.
Install ContextStream ·
Start free ·
Read the docs