opencontext MCP server
Commit Sep 3, 2026Provides persistent, project-local markdown memory for AI coding agents to store architectural decisions and API contracts.
Also known as slxca/opencontext
- Stars
- 8
- Tools
- 3
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Sep 3, 2026
- License
- MIT
What is opencontext MCP?
opencontext provides persistent, project-local markdown memory for AI coding agents to store architectural decisions and API contracts. It exposes 3 tools, such as read_context, save_context, delete_context.
Summary generated from the project's README
About opencontext MCP server
Storing architectural decisions and API contracts locally within a project is what opencontext enables for AI coding agents. It provides a way for agents to maintain persistent memory across different sessions by reading and writing markdown files stored in a dedicated directory. This approach avoids the need for cloud subscriptions or vector databases, as all context is kept in plain markdown files that can be tracked directly via Git.
Developers can set up the server using npx or by running the init command to scaffold configuration files like opencode.json and .mcp.json. The server works with clients such as Claude Desktop, Cursor, and Windsurf, and can also be exposed over a network using Streamable HTTP transport. It includes specific tools like read_context, save_context, and delete_context to manage information.
To maintain organized documentation, the system supports YAML frontmatter to track the lifecycle of topics. This allows agents to mark information as active, deprecated, or superseded, ensuring that outdated architectural patterns are clearly flagged within the project index.
What you can do with it
- 1Preserving architectural decisionsAn AI agent can record and retrieve structural invariants to prevent losing critical project knowledge between sessions.
- 2Managing API contract evolutionDevelopers can use the server to document and update API rules using lifecycle statuses like deprecated or superseded.
- 3Tracking outdated documentationThe system helps agents identify which architectural topics have been replaced by newer versions.
Written from the project's README. Every use case is checked against a quote from it.
opencontext MCP tools 3
Detected from the READMEread_contextsave_contextdelete_context
| read_context | — | |
| save_context | — | |
| delete_context | — |
Automated checks
Ran Nov 15, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work · What to fix for more points
- Source repository linked and reachableslxca/opencontext is public and reachablegithub.com/slxca/opencontext ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-09-03github.com/slxca/opencontext ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model3 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubMost coding agents lose critical decisions between sessions: architecture invariants, API contracts, rejected patterns, and setup quirks. OpenContext solves context loss through a lightweight Model Context Protocol (MCP) server that lets agents read and mutate durable markdown files inside .opencontext/.
No vector databases, no cloud subscriptions, and no hidden state. Memory is plain markdown tracked directly in Git.
Quickstart
Run the MCP server directly without installation via npx:
npx -y opencontext-mcp
One-Command Setup
Scaffold OpenContext in the current project interactively:
npx -y opencontext-mcp init
init walks you through the setup (enabling OpenCode and Claude Code integration) and generates everything you need:
.opencontext/— directory that holds your context topic files.opencontext.json— configuration templateopencode.json— MCP server entry for OpenCode.mcp.json— MCP server entry for Claude CodeAGENTS.md/CLAUDE.md— workflow reminders for your agents
The init command takes no arguments: it always runs in the current directory, prompts interactively, and never overwrites an existing config.
Client Setup
OpenCode
Add OpenContext to your project MCP configuration (opencode.json) — or let opencontext-mcp init do it for you:
{
"mcp": {
"opencontext": {
"type": "local",
"command": ["npx", "-y", "opencontext-mcp"],
"enabled": true
}
}
}
Cursor / Claude Desktop / Windsurf
Add OpenContext to your MCP settings file (claude_desktop_config.json or Cursor MCP settings):
{
"mcpServers": {
"opencontext": {
"command": "npx",
"args": ["-y", "opencontext-mcp"]
}
}
}
Remote Access (HTTP)
Expose the MCP server over the network with the Streamable HTTP transport. The endpoint URL is printed to stderr on startup.
# Plain HTTP on 127.0.0.1:3032 (default)
opencontext-mcp --http
# Custom port / bind to all interfaces
opencontext-mcp server --http --port 8787 --host 0.0.0.0
The server listens at http://<host>:<port>/mcp (stateless Streamable HTTP — one request at a time, no sessions). GET / returns basic server info, handy for a browser health check.
Core Tools
| Tool | Parameters | Description |
|---|---|---|
read_context |
topic? (optional string) |
Reads a specific context topic, or returns the lightweight topic index (~100 tokens) if omitted. |
save_context |
topic (string), content (string) |
Writes or mutates markdown memory inside .opencontext/<topic>.md with built-in write guards and symlink protections. |
delete_context |
topic (string) |
Removes an obsolete topic file and automatically rebuilds the topic index. |
ADR Lifecycle & Frontmatter
Topics support optional YAML frontmatter to track lifecycle status — useful when architectural decisions evolve and old context should be visible but clearly flagged as outdated.
---
description: OAuth2 + PKCE authentication flow
status: active
supersedes: auth_v1
---
# Authentication v2
Migrated from JWT to OAuth2 with PKCE.
Supported frontmatter keys:
| Key | Values | Description |
|---|---|---|
description |
string | Short summary used in the auto-generated index. |
status |
active | deprecated | superseded |
Lifecycle status. Defaults to active when omitted. |
supersedes |
string | Topic name this topic replaces (set on the newer topic). |
superseded_by |
string | Topic name that replaced this one (set on the older topic). |
Non-active topics automatically receive [DEPRECATED] or [SUPERSEDED] badges in the auto-generated index.md, along with cross-references showing which topic replaced or was replaced.
Agent Workflows
Instruct your agents to automatically leverage project context. Add this snippet to your .cursorrules, CLAUDE.md, or system prompt:
Before making structural code changes, run `read_context` to inspect existing project topics and architectural decisions.
Whenever a new architectural convention, database schema, or API rule is established or refactored, call `save_context` with a concise, topic-scoped markdown summary. Use YAML frontmatter (status, supersedes) when updating conventions to track lifecycle changes.
When a topic becomes obsolete, call `delete_context` to remove it. For deprecated topics that should remain visible, set status: deprecated or status: superseded in the frontmatter instead of deleting.
Configuration
Customize storage paths and security boundaries with an optional .opencontext.json file in your repository root (plain JSON — comments are not supported):
{
"path": ".opencontext",
"readOnly": false,
"autoIndex": true,
"guard": {
"enabled": true,
"maxFileSizeKb": 50,
"strictPatternCheck": true
}
}
Local Development
# Clone and install dependencies
git clone [https://github.com/slxca/opencontext.git](https://github.com/slxca/opencontext.git)
cd opencontext
pnpm install
# Build & run tests
pnpm build
pnpm test
Documentation
For advanced setup guides, guard parameters, and agent prompt templates, visit opencntx.dev/docs.
Contributing
Contributions are welcome. Please ensure all unit tests and typechecks pass before submitting a pull request:
pnpm typecheck && pnpm test
opencontext MCP questions
What tools does opencontext MCP provide?
It exposes 3 tools, including read_context, save_context, delete_context.
How does OpenContext store memory?
It uses plain markdown files stored within a local .opencontext/ directory, which can be tracked directly in Git.
Does OpenContext require a database or cloud subscription?
No, it is a lightweight solution that requires no vector databases or cloud subscriptions.
Can I run the server over a network?
Yes, you can expose the MCP server over the network using the Streamable HTTP transport.