OPC Memory MCP Server
MCP server that exposes OPC memory scripts as tools for Claude Code and Claude Desktop.
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:
- OPC project - The memory scripts and PostgreSQL database schema from the OPC repository
- PostgreSQL database - Running with the OPC schema (sessions, file_claims, archival_memory tables)
- Environment variables -
DATABASE_URLpointing 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_logtable withsource = "mcp"(since v0.7.5), distinguishing them fromhook- andcli-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)
"
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。