putao520/gmemory
If you are the rightful owner of gmemory and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Generative Memory - MCP server for semantic conversation memory with Qdrant and Ollama
gmemory
Generative Memory - MCP server for semantic conversation memory with Qdrant and Ollama
gmemoryๆฏไธไธชๅบไบModel Context Protocol (MCP)็ๆๅกๅจ๏ผไธบAIๅฏน่ฏ็ณป็ปๆไพ้ฟๆ่ฎฐๅฟ่ฝๅใ้่ฟ่ฏญไนๅ้ๅญๅจๅๆฃ็ดข๏ผๅฎ็ฐๅฏน่ฏๅๅฒ็ๆไน ๅๅๆบ่ฝๆฅ่ฏขใ
โจ ๆ ธๅฟ็นๆง
- ๐ง ่ฏญไน่ฎฐๅฟ: ไฝฟ็จOllama + qwen3-embedding็ๆ่ฏญไนๅ้
- ๐ ๆบ่ฝๆฃ็ดข: ๅบไบQdrantๅ้ๆฐๆฎๅบ็็ธไผผๅบฆๆ็ดข
- ๐ TODO็ฎก็: ่ชๅจ่ฟฝ่ธชๅฏน่ฏไธญ็ๅพ ๅไปปๅก
- ๐ ้ซๆง่ฝ: Rust + gRPC๏ผไฝๅปถ่ฟ้ซๅๅ
- ๐ ๆ ๅๅ่ฎฎ: ๅฎๅ จๅ ผๅฎนMCP่ง่๏ผๅฏ่ขซไปปไฝMCPๅฎขๆท็ซฏไฝฟ็จ
- ๐ก๏ธ ็ฑปๅๅฎๅ จ: ็ผ่ฏๆ็ฑปๅๆฃๆฅ๏ผ่ฟ่กๆถ้่ฏฏๅฐ
๐ฏ ไฝฟ็จๅบๆฏ
- AIๅฉๆ้ฟๆ่ฎฐๅฟ: ่ฎฉAI่ฎฐไฝไนๅ็ๅฏน่ฏๅ ๅฎน
- ไธไธๆๆฃ็ดข: ๅฟซ้ๆฅๆพ็ธๅ ณๅๅฒๅฏน่ฏ
- ไปปๅก่ท่ธช: ่ชๅจ็ฎก็ๅฏน่ฏไธญๆๅฐ็TODO
- ็ฅ่ฏๅบๆๅปบ: ๅบไบๅฏน่ฏๆๅปบ่ฏญไน็ฅ่ฏๅบ
๐๏ธ ๆๆฏๆถๆ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MCP Client โ
โ (Claude Code / etc.) โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ JSON-RPC via STDIO
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ gmemory MCP Server (Rust) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ MCP Tools (rmcp SDK) โ โ
โ โ - write_message - search_messages โ โ
โ โ - query_todos โ โ
โ โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Services โ โ
โ โ - EmbeddingService (ollama-rs) โ โ
โ โ - StorageService (qdrant-client) โ โ
โ โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโดโโโโโโโโโ
โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ Ollama โ โ Qdrant โ
โ โ โ Vector DB โ
โ qwen3-emb โ โ โ
โ :0.6b โ โ gRPC: 26333 โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
ๆ ธๅฟๆๆฏๆ
- MCPๆกๆถ: rmcp 0.5 (ๅฎๆนRust SDK)
- ๅ้ๆฐๆฎๅบ: Qdrant >= 1.7.0
- Ollamaๅฎขๆท็ซฏ: ollama-rs 0.3.1
- ๅตๅ ฅๆจกๅ: qwen3-embedding:0.6b (้่ฟOllama)
- ๅผๆญฅ่ฟ่กๆถ: Tokio 1.x
๐ฆ ๅฎ่ฃ
ๅ็ฝฎไพ่ต
-
Rust >= 1.70
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -
Ollama >= 0.1.0
# macOS/Linux curl -fsSL https://ollama.com/install.sh | sh # ไธ่ฝฝqwen3-embeddingๆจกๅ ollama pull qwen3-embedding:0.6b -
Qdrant >= 1.7.0
# ไฝฟ็จDocker docker run -p 26333:6334 -p 26334:6333 \ -v $(pwd)/qdrant_storage:/qdrant/storage \ qdrant/qdrant
ๆๅปบ้กน็ฎ
# ๅ
้ไปๅบ
git clone https://github.com/yourusername/gmemory.git
cd gmemory
# ๆๅปบ๏ผๅผๅๆจกๅผ๏ผ
cargo build
# ๆๅปบ๏ผๅๅธๆจกๅผ๏ผ
cargo build --release
๐ ๅฟซ้ๅผๅง
1. ้ ็ฝฎ็ฏๅขๅ้๏ผๅฏ้๏ผ
ๅๅปบ .env ๆไปถ๏ผ
# Ollama้
็ฝฎ
OLLAMA_ENDPOINT=http://localhost:11434
OLLAMA_MODEL=qwen3-embedding:0.6b
# OLLAMA_API_KEY= # ๅฏ้
# Qdrant้
็ฝฎ
QDRANT_ENDPOINT=http://localhost
QDRANT_PORT=26333
# QDRANT_API_KEY= # ๅฏ้
# ๆฅๅฟ็บงๅซ
RUST_LOG=info
2. ่ฟ่กๆๅกๅจ
# ๅผๅๆจกๅผ
cargo run
# ๅๅธๆจกๅผ
./target/release/gmemory
3. ๅจMCPๅฎขๆท็ซฏไธญไฝฟ็จ
Claude Code้ ็ฝฎ็คบไพ
ๅจ .claude/mcp.json ไธญๆทปๅ ๏ผ
{
"mcpServers": {
"gmemory": {
"command": "/path/to/gmemory/target/release/gmemory",
"env": {
"OLLAMA_ENDPOINT": "http://localhost:11434",
"QDRANT_PORT": "26333"
}
}
}
}
๐ ๏ธ MCPๅทฅๅ ท
write_message
ๅๅ ฅๅฏน่ฏๆถๆฏๅฐๅ้ๆฐๆฎๅบใ
ๅๆฐ:
{
"session_id": "uuid-string",
"role": "user|assistant|system",
"content": "ๆถๆฏๅ
ๅฎน",
"metadata": {} // ๅฏ้
}
่ฟๅ: ๆถๆฏID
search_messages
ๅบไบ่ฏญไน็ธไผผๅบฆๆ็ดขๅๅฒๅฏน่ฏใ
ๅๆฐ:
{
"query": "ๆ็ดขๆฅ่ฏขๆๆฌ",
"session_id": "uuid-string", // ๅฏ้
"limit": 10, // ๅฏ้๏ผ้ป่ฎค10
"min_score": 0.7 // ๅฏ้๏ผ้ป่ฎค0.0
}
่ฟๅ: Top-K็ธไผผๆถๆฏๅ่กจ
query_todos
ๆฅ่ฏขๆๅฎไผ่ฏ็ๆชๅฎๆTODOไปปๅกใ
ๅๆฐ:
{
"session_id": "uuid-string",
"include_completed": false // ๅฏ้
}
่ฟๅ: TODOไปปๅกๅ่กจ
๐ ๆๆกฃ
ๅฎๆด็่ฎพ่ฎกๆๆกฃๅๆถๆๅณ็ญ่ฏทๅ่ง ็ฎๅฝ๏ผ
- - ้ๆฑ่งๆ ผ
- - ็ณป็ปๆถๆ
- - ๆฐๆฎ็ปๆ
- - API่ฎพ่ฎก
- - ๅๆดๆฅๅฟ
๐ง ๅผๅ
้กน็ฎ็ปๆ
gmemory/
โโโ src/
โ โโโ main.rs # ๅ
ฅๅฃ
โ โโโ config.rs # ้
็ฝฎ็ฎก็
โ โโโ server.rs # MCPๆๅกๅจๅฎ็ฐ
โ โโโ tools/ # ๅทฅๅ
ทๅๆฐๅฎไน
โ โโโ services/ # ไธๅก้ป่พ
โ โโโ models/ # ๆฐๆฎๆจกๅ
โโโ SPEC/ # ๅฎๆด่ฎพ่ฎกๆๆกฃ
โโโ Cargo.toml
โโโ README.md
่ฟ่กๆต่ฏ
cargo test
ไปฃ็ ้ฃๆ ผ
cargo fmt
cargo clippy
๐ค ่ดก็ฎ
ๆฌข่ฟ่ดก็ฎ๏ผ่ฏทๆฅ็ ๏ผๅพ ๆทปๅ ๏ผไบ่งฃ่ฏฆๆ ใ
ๅผๅๆต็จ
- Fork ๆฌไปๅบ
- ๅๅปบ็นๆงๅๆฏ (
git checkout -b feature/AmazingFeature) - ๆไบคๆดๆน (
git commit -m 'feat: Add AmazingFeature') - ๆจ้ๅฐๅๆฏ (
git push origin feature/AmazingFeature) - ๅๅปบ Pull Request
๐ ่ฎธๅฏ่ฏ
ๆฌ้กน็ฎ้็จ MIT ่ฎธๅฏ่ฏ - ่ฏฆ่ง ๆไปถ
๐ ่ด่ฐข
- Model Context Protocol - MCP่ง่
- rmcp - ๅฎๆนRust SDK
- Qdrant - ้ซๆง่ฝๅ้ๆฐๆฎๅบ
- Ollama - ๆฌๅฐLLM่ฟ่กๆถ
- ollama-rs - Ollama Rustๅฎขๆท็ซฏ
๐ฌ ่็ณปๆนๅผ
- ้ฎ้ขๅ้ฆ: GitHub Issues
- ๅ่ฝๅปบ่ฎฎ: GitHub Discussions
ๆณจๆ: ๆฌ้กน็ฎ็ฎๅๅคไบ v1.0.0 ๅผๅ้ถๆฎต๏ผAPIๅฏ่ฝไผๆๅๅใ