memocean-mcp
Local-first AI Memory MCP server for AI agents to search and manage knowledge stored in Obsidian vaults, optimized for CJK languages with zero AI dependency.
README
memocean-mcp — Local-first AI Memory MCP Server

A local MCP server for AI agents to search and manage knowledge stored in Obsidian vaults. Built for CJK (Chinese/Japanese/Korean) developers — 94.4% Hit@5 on Chinese queries with zero AI components required.
Core features:
- BM25/INSTR hybrid search — CJK-optimized, pure SQLite, no embeddings needed
- CLSC sonar compression — 92.5% token reduction (13x compression) on Obsidian notes
- Temporal knowledge graph — entity-relationship store with non-destructive invalidation
- Cross-agent memory sharing — multiple agents share one
memory.db - FATQ task queue — File-Atomic Task Queue for agent coordination
Quick Start
pip install memocean-mcp
Add to Claude Desktop / Claude Code .mcp.json:
{
"mcpServers": {
"memocean": {
"command": "memocean-mcp",
"env": {
"MEMOCEAN_VAULT_ROOT": "/path/to/your/obsidian/vault"
}
}
}
}
Or register with Claude Code CLI:
MEMOCEAN_VAULT_ROOT=/path/to/vault claude mcp add memocean memocean-mcp
Environment Variables
| Variable | Default | Description |
|---|---|---|
MEMOCEAN_VAULT_ROOT |
~/Documents/Obsidian Vault |
Root of your Obsidian vault |
MEMOCEAN_DATA_DIR |
~/.memocean |
Data directory (databases, task queue) |
MEMOCEAN_VAULT_PATH |
MEMOCEAN_VAULT_ROOT/Ocean |
Ocean subdirectory for full-text search |
MEMOCEAN_SKILLS_DIR |
MEMOCEAN_VAULT_ROOT/Ocean/Pearl/skills |
Skills markdown directory |
MEMOCEAN_USE_GBRAIN |
false |
Enable GBrain hybrid search delegate |
KNN_ENABLED |
false |
Enable BGE-m3 KNN vector search |
ENABLE_QUERY_EXPANSION |
unset | Enable Haiku query expansion (requires ANTHROPIC_API_KEY) |
ENABLE_HAIKU_RERANKER |
unset | Enable Haiku LLM reranker |
ANTHROPIC_API_KEY |
unset | Required only for AI-assisted features above |
Backward-compat: CHANNELLAB_BOTS_ROOT → MEMOCEAN_DATA_DIR, CHANNELLAB_OCEAN_VAULT_ROOT → MEMOCEAN_VAULT_ROOT.
Available Tools
| Tool | Description |
|---|---|
memocean_search |
Unified search across Radar (sonar index) + message history. Default entry point. |
memocean_radar_search |
Search CLSC sonar index — fast keyword search, ~13% of verbatim token cost. |
memocean_seabed_get |
Retrieve full content by slug (verbatim or sonar mode). |
memocean_ocean_search |
Full-text search over Ocean vault .md files via ripgrep. |
memocean_messages_search |
BM25 search over cross-agent message history. |
memocean_kg_query |
Query the temporal knowledge graph by entity name. |
memocean_skill_list |
List or retrieve approved skills from the skill library. |
memocean_task_create |
Create a task in the FATQ pending queue (agent coordination). |
memocean_ingest_file |
Ingest local file (PDF/DOCX/XLSX/HTML/CSV/JSON) into Radar via MarkItDown. |
memocean_report_store |
Store a verbatim markdown report into Ocean vault Reports folder. |
Search Architecture
Two-path retrieval, zero AI dependency by default:
CJK query → SQLite INSTR on radar.clsc → ranked by match_count
EN query → FTS5 BM25 → fallback to INSTR on miss
Benchmark (pure BM25/INSTR, no AI):
| Dataset | Language | Hit@5 |
|---|---|---|
| Internal corpus | Chinese (mixed) | 94.4% |
| DRCD | Traditional Chinese | 91.9% |
| CMRC | Simplified Chinese | 93.3% |
| BEIR SciFact | English | 70.7% |
CLSC Sonar Compression
CLSC (Closet Lossy Summary for Chinese) extracts each document into a compact single-line sonar entry. Format:
[SLUG|ENTITIES|topics|"key_quote"|WEIGHT|EMOTIONS|FLAGS]
Compression ratio: 1,716,211 raw tokens → 129,529 sonar tokens = 13x (92.5% reduction).
Requirements
- Python 3.11+
- SQLite 3.35+
- Optional:
markitdown[all]for file ingestion - Optional:
anthropicpackage for AI-assisted features (query expansion, reranking)
License
MIT — see LICENSE.
Acknowledgements
Built on MemPalace (dual-layer architecture, AAAK skeleton format) and inspired by GBrain (Compiled Truth + Dream Cycle design).
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.