OPC内存MCP服务器
MCP服务器,将OPC内存脚本作为Claude Code和Claude Desktop的工具公开。
该项目提供了一个MCP接口 OPC(Opinionated持久上下文) 存储系统从 OPC项目OPC支持语义记忆存储和检索,使Claude能够从过去的会话中学习,并在对话中保持上下文。
注: 此服务器最初是针对Continuous-Claude-v3构建的。从v0.7.2开始,它针对的是单机版 OPC存储库 它包含内存脚本、数据库模式和模式检测基础架构。
工具
| 工具 | 说明 |
|---|---|
store_learning | 将会话学习与语义回忆的嵌入一起存储 |
recall_learnings | 基于存储学习的语义搜索 |
query_artifacts | 在上下文图中搜索过去会话的先例 |
index_artifacts | 索引交接、计划和连续性分类账 |
mark_handoff | 标记切换结果以进行跟踪 |
start_daemon | 启动内存提取守护进程 |
stop_daemon | 停止内存提取守护进程 |
daemon_status | 检查守护进程状态并查看最近的日志 |
detect_patterns | 跨存储的学习运行按需模式检测 |
先决条件
此MCP服务器需要:
- OPC项目 -内存脚本和PostgreSQL数据库模式 OPC存储库
- PostgreSQL数据库 -使用OPC模式运行(会话、file_claims、archival_memory表)
- 环境变量 -
DATABASE_URL指向您的PostgreSQL实例
请参阅 OPC存储库 有关设置说明。
OPC目录配置
OPC目录路径可以通过两种方式配置(按优先级顺序):
1.环境变量(覆盖)
export CLAUDE_OPC_DIR="/path/to/your/opc"将其用于临时覆盖或CI/CD环境。
2.配置文件(持久)
创建 ~/.claude/opc.json:
{
"opc_dir": "/path/to/your/opc"
}这是持久用户配置的推荐方法。
解析顺序
钩子和脚本按以下顺序解析OPC_DIR:
| 优先级 | 来源 | 用例 |
|---|---|---|
| 1 | CLAUDE_OPC_DIR env var | 显式重写,CI/CD |
| 2 | ~/.claude/opc.json | 持久用户偏好 |
| 3 | ${CLAUDE_PROJECT_DIR}/opc | 项目本地设置 |
| 4 | ~/.claude | 全球安装 |
挂钩集成
如果您正在构建需要引用OPC基础架构的钩子,请使用共享 opc-path.ts 模块。请参阅 examples/hooks/ 您可以将完整示例的目录复制到 ~/.claude/hooks/src/shared/ 目录。
MCP服务器分辨率
这 main.py MCP服务器使用相同的解析逻辑:
def get_opc_dir() -> str:
# 1. CLAUDE_OPC_DIR env var
# 2. ~/.claude/opc.json config file
# 3. Fallback default这意味着MCP服务器将自动使用您配置的OPC路径。
技能说明
如果你有引用OPC内存工具的Claude Code技能(例如。, /recall, /remember),您可能需要更新它们以使用MCP工具名称:
| 技能参考 | MCP工具名称 |
|---|---|
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 |
安装
cd /Users/stephenfeather/Tools/opc-memory-mcp
uv sync用法
直接运行
uv run opc-memory-serverClaude桌面配置
添加 ~/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代码配置
添加 .claude/settings.json 或全局设置:
{
"mcpServers": {
"opc-memory": {
"command": "uv",
"args": ["--directory", "/Users/stephenfeather/Tools/opc-memory-mcp", "run", "opc-memory-server"]
}
}
}工具示例
店铺学习
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"回顾_收益
Search for past learnings about authentication.
Parameters:
- query: "authentication patterns"
- k: 5
- text_only: false (use embeddings)索引_事实
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"检测模式
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守护进程管理
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发展
测试服务器:
# 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)
"