-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmemento.yaml
More file actions
200 lines (181 loc) · 8.08 KB
/
memento.yaml
File metadata and controls
200 lines (181 loc) · 8.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# MCP Memento Configuration File
# ==============================
# This file configures the MCP Memento server for your project.
#
# Configuration Hierarchy (highest priority first):
# 1. CLI arguments: --profile, --db, --log-level, etc. (highest priority)
# 2. Environment variables: MEMENTO_*
# 3. Project config: ./memento.yaml (this file) (overrides global)
# 4. Global config: ~/.mcp-memento/config.yaml
# 5. Default values (hardcoded in code) (lowest priority)
#
# ┌─────────────────────────────────────────────────────────────────────┐
# │ IMPLEMENTED vs PLACEHOLDER sections │
# │ │
# │ ACTIVE (read by the configuration loader): │
# │ db_path, profile, logging.level, │
# │ features.allow_relationship_cycles │
# │ │
# │ PLACEHOLDER (reserved for future use — currently ignored): │
# │ confidence, search, performance, memory, fts, project, │
# │ enable_advanced_tools │
# │ │
# │ Changes to placeholder sections have NO effect on the server. │
# └─────────────────────────────────────────────────────────────────────┘
# Database Configuration
# ----------------------
# SQLite database file path
# Default: ~/.mcp-memento/context.db
db_path: ".data/memento.db"
# Tool Configuration
# ------------------
# Available profiles: core, extended, advanced
# - core: 13 essential tools for all users
# - extended: 17 tools including analytics (recommended)
# - advanced: 25 tools with graph analysis
# Legacy aliases accepted for backwards compatibility:
# lite → core, standard → extended, full → advanced
profile: "extended"
# Logging Configuration [ACTIVE]
# --------------------------------
logging:
# Log levels: DEBUG, INFO, WARNING, ERROR
level: "INFO"
# Log format (Python logging format)
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
# Optional: Log file path (if not specified, logs to stderr)
# file: "memento.log"
# Feature Configuration [ACTIVE: allow_relationship_cycles only]
# ---------------------------------------------------------------
features:
# Allow cycles in relationship graph
# Default: false (recommended for most use cases)
allow_relationship_cycles: false
# --- PLACEHOLDER: fts sub-section is not yet read by the loader ---
# Full-text search configuration (reserved for future use)
fts:
# These settings have no effect in the current version.
enabled: true
min_term_length: 2
tolerance: "normal"
# Confidence System Configuration [PLACEHOLDER — not yet implemented]
# --------------------------------------------------------------------
# The settings below are reserved for future use and have NO effect on
# the running server. Decay behaviour is currently hardcoded:
# - Default confidence: 0.8
# - Monthly decay factor: 0.95 (5% per month)
# - Validation boost: 0.05 per access
# - No-decay tags: security, auth, api_key, password, critical, no_decay
# To change these, use the set_memento_decay_factor tool (Advanced profile)
# or adjust_memento_confidence / boost_memento_confidence at runtime.
confidence:
default_confidence: 0.8 # reserved
decay_factor: 0.95 # reserved
validation_boost: 0.05 # reserved
no_decay_tags: # reserved
- "security"
- "auth"
- "api_key"
- "password"
- "critical"
- "no_decay"
# Memory Storage Configuration [PLACEHOLDER — not yet implemented]
# -----------------------------------------------------------------
# These limits are currently hardcoded in the server (values below
# match the hardcoded defaults). They have no effect if changed here.
memory:
max_title_length: 500 # reserved
max_content_length: 50000 # reserved (50 KB)
max_tags: 50 # reserved
max_tag_length: 100 # reserved
# Search Configuration [PLACEHOLDER — not yet implemented]
# ----------------------------------------------------------
# These settings are reserved for future use and have no effect.
# Current hardcoded defaults: limit=20, max=1000, order=confidence×importance.
search:
default_limit: 20 # reserved
max_limit: 1000 # reserved
default_order: "confidence" # reserved
fuzzy_enabled: true # reserved
# Performance Configuration [PLACEHOLDER — not yet implemented]
# --------------------------------------------------------------
# These settings are reserved for future use and have no effect.
# SQLite is configured with WAL mode and a 5-second busy timeout by default.
performance:
connection_pool_size: 5 # reserved
cache_size: 100 # reserved
vacuum_interval: 3600 # reserved
# Environment Variable Overrides [ACTIVE]
# ----------------------------------------
# The following environment variables are supported. They override YAML values.
#
# export MEMENTO_DB_PATH="/custom/path/context.db" # database file path
# export MEMENTO_PROFILE="advanced" # core | extended | advanced
# export MEMENTO_LOG_LEVEL="DEBUG" # DEBUG|INFO|WARNING|ERROR
# export MEMENTO_ALLOW_CYCLES="false" # true | false
#
# Note: MEMENTO_ENABLE_ADVANCED_TOOLS is NOT a supported env var — use
# MEMENTO_PROFILE="advanced" to unlock advanced tools instead.
#
# To use with CLI agents (Gemini, Claude):
# gemini --mcp-servers 'memento --profile extended --log-level INFO'
#
# Or with environment variables:
# MEMENTO_PROFILE="advanced" gemini --mcp-servers memento
# Project-Specific Documentation [PLACEHOLDER — informational only]
# ------------------------------------------------------------------
# This section is NOT read by the server. It is provided as a human-readable
# documentation area to record project conventions. No values here affect
# server behaviour (e.g., default_tags are NOT automatically added to memories).
project:
name: "my-application" # documentation only
language: "python" # documentation only
framework: "fastapi" # documentation only
# Document (but do not enforce) tagging conventions for this project:
default_tags: # documentation only — NOT applied automatically
- "project:my-application"
- "language:python"
- "framework:fastapi"
# Commonly used memory types in this project (for reference):
common_memory_types: # documentation only
- "solution"
- "problem"
- "code_pattern"
- "task"
- "general"
# Commonly used relationship types in this project (for reference):
common_relationship_types: # documentation only
- "SOLVES"
- "CAUSES"
- "IMPROVES"
- "USED_IN"
- "RELATED_TO"
# Notes
# -----
# 1. All paths can use ~ for home directory expansion
# 2. Boolean values: true/false (lowercase)
# 3. Comments start with # and can be inline or on separate lines
# 4. YAML is sensitive to indentation (use spaces, not tabs)
# 5. Arrays/lists use hyphen (-) notation
# 6. Nested configuration uses indentation (2 spaces recommended)
# Quick Reference - Common Configurations
# ---------------------------------------
# Development:
# profile: "advanced"
# log_level: "DEBUG"
# db_path: ".data/dev.db"
#
# Production:
# profile: "extended"
# log_level: "INFO"
# db_path: "/var/lib/memento/production.db"
#
# Testing:
# profile: "core"
# log_level: "WARNING"
# db_path: ":memory:" # In-memory database
#
# Team Shared:
# profile: "extended"
# db_path: "~/team/shared-memory.db"
# features.allow_relationship_cycles: false