OPC Memory MCP Server

OPC Memory MCP Server

MCP server that exposes OPC memory scripts as tools for Claude Code and Claude Desktop.

Category
Visit Server

README

OPC Memory MCP Server

MCP server that exposes OPC memory scripts as tools for Claude Code and Claude Desktop.

This project provides an MCP interface to the OPC (Opinionated Persistent Context) memory system from the OPC project. OPC enables semantic memory storage and retrieval, allowing Claude to learn from past sessions and maintain context across conversations.

Note: This server was originally built against Continuous-Claude-v3. As of v0.7.2, it targets the standalone OPC repository which contains the memory scripts, database schema, and pattern detection infrastructure.

Tools

Tool Description
store_learning Store session learnings with embeddings for semantic recall
recall_learnings Semantic search over stored learnings
query_artifacts Search Context Graph for precedent from past sessions
index_artifacts Index handoffs, plans, and continuity ledgers
mark_handoff Mark handoff outcomes for tracking
start_daemon Start the memory extraction daemon
stop_daemon Stop the memory extraction daemon
daemon_status Check daemon status and view recent logs
detect_patterns Run on-demand pattern detection across stored learnings

Prerequisites

This MCP server requires:

  1. OPC project - The memory scripts and PostgreSQL database schema from the OPC repository
  2. PostgreSQL database - Running with the OPC schema (sessions, file_claims, archival_memory tables)
  3. Environment variables - DATABASE_URL pointing to your PostgreSQL instance

See the OPC repository for setup instructions.

OPC Directory Configuration

The OPC directory path can be configured in two ways (in priority order):

1. Environment Variable (Override)

export CLAUDE_OPC_DIR="/path/to/your/opc"

Use this for temporary overrides or CI/CD environments.

2. Config File (Persistent)

Create ~/.claude/opc.json:

{
  "opc_dir": "/path/to/your/opc"
}

This is the recommended approach for persistent user configuration.

Resolution Order

Hooks and scripts resolve OPC_DIR in this order:

Priority Source Use Case
1 CLAUDE_OPC_DIR env var Explicit override, CI/CD
2 ~/.claude/opc.json Persistent user preference
3 ${CLAUDE_PROJECT_DIR}/opc Project-local setup
4 ~/.claude Global installation

Hook Integration

If you're building hooks that need to reference OPC infrastructure, use the shared opc-path.ts module. See the examples/hooks/ directory for a complete example you can copy to your ~/.claude/hooks/src/shared/ directory.

MCP Server Resolution

The main.py MCP server uses the same resolution logic:

def get_opc_dir() -> str:
    # 1. CLAUDE_OPC_DIR env var
    # 2. ~/.claude/opc.json config file
    # 3. Fallback default

This means the MCP server will automatically use your configured OPC path.

Note on Skills

If you have Claude Code skills that reference OPC memory tools (e.g., /recall, /remember), you may need to update them to use the MCP tool names:

Skill Reference MCP Tool Name
store_learning mcp__opc-memory__store_learning
recall_learnings mcp__opc-memory__recall_learnings
query_artifacts mcp__opc-memory__query_artifacts
index_artifacts mcp__opc-memory__index_artifacts
mark_handoff mcp__opc-memory__mark_handoff
start_daemon mcp__opc-memory__start_daemon
stop_daemon mcp__opc-memory__stop_daemon
daemon_status mcp__opc-memory__daemon_status
detect_patterns mcp__opc-memory__detect_patterns

Installation

cd /Users/stephenfeather/Tools/opc-memory-mcp
uv sync

Usage

Run directly

uv run opc-memory-server

Claude Desktop Configuration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "opc-memory": {
      "command": "uv",
      "args": ["--directory", "/Users/stephenfeather/Tools/opc-memory-mcp", "run", "opc-memory-server"]
    }
  }
}

Claude Code Configuration

Add to .claude/settings.json or global settings:

{
  "mcpServers": {
    "opc-memory": {
      "command": "uv",
      "args": ["--directory", "/Users/stephenfeather/Tools/opc-memory-mcp", "run", "opc-memory-server"]
    }
  }
}

Tool Examples

store_learning

Store a learning about hook development patterns.

Parameters:
- content: "TypeScript hooks require npm install before they work"
- learning_type: "WORKING_SOLUTION"
- context: "hook development"
- tags: "hooks,typescript"
- confidence: "high"

recall_learnings

Search for past learnings about authentication.

Parameters:
- query: "authentication patterns"
- k: 5
- text_only: false (use embeddings)

Observability: MCP recalls are logged to the OPC recall_log table with source = "mcp" (since v0.7.5), distinguishing them from hook- and cli-driven recalls for cross-project mis-scope analysis.

index_artifacts

Index all artifacts:
- mode: "all"

Index specific file:
- mode: "file"
- file_path: "/path/to/handoff.md"

mark_handoff

Mark the latest handoff as successful:
- outcome: "SUCCEEDED"
- notes: "All tasks completed"

detect_patterns

Dry run to preview patterns:
- dry_run: true

Run detection and write to database:
- min_confidence: 0.3
- use_llm: false

View last run's report:
- report: true

Daemon Management

Check daemon status:
daemon_status()
# Returns: running status, PID, recent log entries

Start the daemon:
start_daemon()
# Starts memory extraction daemon if not running

Stop the daemon:
stop_daemon()
# Stops the running daemon

Development

Test the server:

# Check it starts without errors
uv run opc-memory-server &
PID=$!
sleep 2
kill $PID

# Test individual tools via subprocess
uv run python -c "
from main import store_learning, recall_learnings
result = recall_learnings(query='test', k=1)
print(result)
"

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured