@jungjaehoon/mama-core
v1.1.4
Published
MAMA Core - Shared modules for Memory-Augmented MCP Assistant
Maintainers
Readme
@jungjaehoon/mama-core
Shared core modules for MAMA (Memory-Augmented MCP Assistant).
What is MAMA Core?
MAMA Core is a shared package containing the fundamental modules used by all MAMA packages:
- mcp-server: MCP protocol server
- claude-code-plugin: Claude Code plugin
- standalone: Standalone HTTP server
This package provides embedding generation, database management, decision tracking, and other core functionality without the transport layer (MCP/HTTP).
Installation
npm install @jungjaehoon/mama-core
# or
pnpm add @jungjaehoon/mama-coreUsage
Import Everything
const mama = require('@jungjaehoon/mama-core');
// Access all exported functions
const embedding = await mama.generateEmbedding('your text');
await mama.initDB();Import Specific Modules
const { generateEmbedding } = require('@jungjaehoon/mama-core/embeddings');
const { initDB, getDB } = require('@jungjaehoon/mama-core/db-manager');
const mamaApi = require('@jungjaehoon/mama-core/mama-api');Available Modules
Embedding Modules
embeddings - Generate embeddings using Transformers.js
generateEmbedding(text)- Single text embeddinggenerateBatchEmbeddings(texts)- Batch embedding generationcosineSimilarity(a, b)- Similarity calculation
embedding-cache - In-memory embedding cache
embeddingCache.get(key)- Retrieve cached embeddingembeddingCache.set(key, value)- Store embeddingembeddingCache.clear()- Clear cache
embedding-client - HTTP client for embedding server
isServerRunning()- Check server availabilitygetEmbeddingFromServer(text)- Get embedding via HTTPgetServerStatus()- Server health check
Database Modules
db-manager - SQLite database initialization
initDB()- Initialize database with migrationsgetDB()- Get database connectioncloseDB()- Close connection
db-adapter - Database adapter interface
createAdapter(type)- Create SQLite adapter- Supports prepared statements and transactions
memory-store - Decision storage operations
- CRUD operations for decisions
- Vector similarity search
Core API
mama-api - High-level API interface
save(decision)- Save decisionrecall(topic)- Retrieve decision historysuggest(query)- Semantic searchupdateOutcome(id, outcome)- Update decision outcome
decision-tracker - Decision graph management
learnDecision(decision)- Learn from decisioncreateEdgesFromReasoning(reasoning)- Parse decision links
relevance-scorer - Semantic similarity scoring
scoreRelevance(query, decisions)- Score decision relevance- Combines vector, graph, and recency signals
Configuration
- config-loader - Configuration management
loadConfig()- Load MAMA configurationgetModelName()- Get embedding model namegetEmbeddingDim()- Get embedding dimensionsupdateConfig(config)- Update configuration
Environment Variables
MAMA_DB_PATH- Database file path (default:~/.claude/mama-memory.db)MAMA_EMBEDDING_PORT- Embedding server port (default:3849)MAMA_HTTP_PORT- Backward-compatible alias for embedding server port
Dependencies
- @huggingface/transformers - Local embedding generation
- better-sqlite3 - SQLite database
- sqlite-vec - Vector similarity extension
Development
# Install dependencies
pnpm install
# Run tests
pnpm test
# Watch mode
pnpm test:watchTest Coverage
- 35 unit tests
- 100% passing
- Tests cover:
- Config loader
- Database initialization
- Module exports
Architecture
MAMA Core uses CommonJS modules and is designed to be shared across multiple packages:
packages/mama-core/
├── src/
│ ├── index.js # Main exports
│ ├── embeddings.js # Embedding generation
│ ├── db-manager.js # Database management
│ ├── mama-api.js # High-level API
│ └── db-adapter/ # Database adapter
├── db/migrations/ # SQLite migrations
└── tests/ # Unit testsMigration Files
Database migrations are included in db/migrations/:
- 001-initial-decision-graph.sql
- 002-add-error-patterns.sql
- 003-add-validation-fields.sql
- (and more...)
License
MIT - see LICENSE file for details
Links
Part of the MAMA monorepo - Memory-Augmented MCP Assistant
