mem0-open-mcp 0.1.0__tar.gz → 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/Dockerfile +3 -3
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/PKG-INFO +1 -1
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/docker-compose.yaml +3 -3
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/pyproject.toml +1 -1
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/src/mem0_server/cli.py +25 -25
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/src/mem0_server/config/loader.py +4 -4
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/.env.example +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/.gitignore +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/README.md +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/examples/ollama-config.yaml +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/mem0-open-mcp.example.yaml +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/src/mem0_server/__init__.py +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/src/mem0_server/api/__init__.py +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/src/mem0_server/api/routes.py +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/src/mem0_server/config/__init__.py +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/src/mem0_server/config/schema.py +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/src/mem0_server/mcp/__init__.py +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/src/mem0_server/mcp/server.py +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/src/mem0_server/server.py +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/src/mem0_server/utils/__init__.py +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/tests/test_api.py +0 -0
- {mem0_open_mcp-0.1.0 → mem0_open_mcp-0.1.1}/tests/test_config.py +0 -0
|
@@ -15,7 +15,7 @@ COPY src/ ./src/
|
|
|
15
15
|
RUN pip install --no-cache-dir -e .
|
|
16
16
|
|
|
17
17
|
# Copy example config
|
|
18
|
-
COPY mem0-
|
|
18
|
+
COPY mem0-open-mcp.example.yaml /app/mem0-open-mcp.yaml
|
|
19
19
|
|
|
20
20
|
# Expose port
|
|
21
21
|
EXPOSE 8765
|
|
@@ -25,5 +25,5 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
|
|
25
25
|
CMD curl -f http://localhost:8765/health || exit 1
|
|
26
26
|
|
|
27
27
|
# Run server
|
|
28
|
-
ENTRYPOINT ["mem0-
|
|
29
|
-
CMD ["serve", "--config", "/app/mem0-
|
|
28
|
+
ENTRYPOINT ["mem0-open-mcp"]
|
|
29
|
+
CMD ["serve", "--config", "/app/mem0-open-mcp.yaml"]
|
|
@@ -11,8 +11,8 @@ services:
|
|
|
11
11
|
- qdrant_data:/qdrant/storage
|
|
12
12
|
restart: unless-stopped
|
|
13
13
|
|
|
14
|
-
# mem0-
|
|
15
|
-
mem0-
|
|
14
|
+
# mem0-open-mcp
|
|
15
|
+
mem0-open-mcp:
|
|
16
16
|
build:
|
|
17
17
|
context: .
|
|
18
18
|
dockerfile: Dockerfile
|
|
@@ -23,7 +23,7 @@ services:
|
|
|
23
23
|
# For Ollama, uncomment the following:
|
|
24
24
|
# - OLLAMA_HOST=http://host.docker.internal:11434
|
|
25
25
|
volumes:
|
|
26
|
-
- ./mem0-
|
|
26
|
+
- ./mem0-open-mcp.yaml:/app/mem0-open-mcp.yaml:ro
|
|
27
27
|
depends_on:
|
|
28
28
|
- qdrant
|
|
29
29
|
restart: unless-stopped
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""CLI for mem0-
|
|
1
|
+
"""CLI for mem0-open-mcp using Typer."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
@@ -22,7 +22,7 @@ from mem0_server.config import (
|
|
|
22
22
|
)
|
|
23
23
|
|
|
24
24
|
app = typer.Typer(
|
|
25
|
-
name="mem0-
|
|
25
|
+
name="mem0-open-mcp",
|
|
26
26
|
help="Standalone MCP server for mem0 with web configuration UI.",
|
|
27
27
|
add_completion=False,
|
|
28
28
|
)
|
|
@@ -33,7 +33,7 @@ console = Console()
|
|
|
33
33
|
def version_callback(value: bool) -> None:
|
|
34
34
|
"""Show version and exit."""
|
|
35
35
|
if value:
|
|
36
|
-
console.print(f"[bold green]mem0-
|
|
36
|
+
console.print(f"[bold green]mem0-open-mcp[/bold green] version [cyan]{__version__}[/cyan]")
|
|
37
37
|
raise typer.Exit()
|
|
38
38
|
|
|
39
39
|
|
|
@@ -49,7 +49,7 @@ def main(
|
|
|
49
49
|
),
|
|
50
50
|
] = None,
|
|
51
51
|
) -> None:
|
|
52
|
-
"""mem0-
|
|
52
|
+
"""mem0-open-mcp: Standalone MCP server for mem0."""
|
|
53
53
|
pass
|
|
54
54
|
|
|
55
55
|
|
|
@@ -87,9 +87,9 @@ def serve(
|
|
|
87
87
|
"""Start the MCP server.
|
|
88
88
|
|
|
89
89
|
Examples:
|
|
90
|
-
mem0-
|
|
91
|
-
mem0-
|
|
92
|
-
mem0-
|
|
90
|
+
mem0-open-mcp serve
|
|
91
|
+
mem0-open-mcp serve --port 8765 --user-id alice
|
|
92
|
+
mem0-open-mcp serve --config ./my-config.yaml
|
|
93
93
|
"""
|
|
94
94
|
# Load configuration
|
|
95
95
|
loader = ConfigLoader(config_file)
|
|
@@ -115,7 +115,7 @@ def serve(
|
|
|
115
115
|
|
|
116
116
|
# Display startup info
|
|
117
117
|
console.print(Panel.fit(
|
|
118
|
-
f"[bold green]mem0-
|
|
118
|
+
f"[bold green]mem0-open-mcp[/bold green] v{__version__}\n"
|
|
119
119
|
f"[dim]MCP server for mem0 memory management[/dim]",
|
|
120
120
|
border_style="green",
|
|
121
121
|
))
|
|
@@ -135,7 +135,7 @@ def serve(
|
|
|
135
135
|
run_server(config, loader)
|
|
136
136
|
except ImportError as e:
|
|
137
137
|
console.print(f"[red]Error starting server: {e}[/red]")
|
|
138
|
-
console.print("[yellow]Make sure all dependencies are installed: pip install mem0-
|
|
138
|
+
console.print("[yellow]Make sure all dependencies are installed: pip install mem0-open-mcp[/yellow]")
|
|
139
139
|
raise typer.Exit(1) from None
|
|
140
140
|
except Exception as e:
|
|
141
141
|
console.print(f"[red]Error: {e}[/red]")
|
|
@@ -161,15 +161,15 @@ def configure(
|
|
|
161
161
|
) -> None:
|
|
162
162
|
"""Interactive configuration wizard.
|
|
163
163
|
|
|
164
|
-
Creates or edits a mem0-
|
|
164
|
+
Creates or edits a mem0-open-mcp configuration file with guided prompts.
|
|
165
165
|
|
|
166
166
|
Examples:
|
|
167
|
-
mem0-
|
|
168
|
-
mem0-
|
|
169
|
-
mem0-
|
|
167
|
+
mem0-open-mcp configure
|
|
168
|
+
mem0-open-mcp configure --output ./my-config.yaml
|
|
169
|
+
mem0-open-mcp configure --config ./existing-config.yaml
|
|
170
170
|
"""
|
|
171
171
|
console.print(Panel.fit(
|
|
172
|
-
"[bold green]mem0-
|
|
172
|
+
"[bold green]mem0-open-mcp Configuration Wizard[/bold green]\n"
|
|
173
173
|
"[dim]Configure your mem0 MCP server settings[/dim]",
|
|
174
174
|
border_style="green",
|
|
175
175
|
))
|
|
@@ -339,13 +339,13 @@ def configure(
|
|
|
339
339
|
# === Save Configuration ===
|
|
340
340
|
console.print()
|
|
341
341
|
|
|
342
|
-
save_path = output or config_file or Path("mem0-
|
|
342
|
+
save_path = output or config_file or Path("mem0-open-mcp.yaml")
|
|
343
343
|
|
|
344
344
|
if Confirm.ask(f"Save configuration to [cyan]{save_path}[/cyan]?", default=True):
|
|
345
345
|
saved_path = loader.save(config, save_path)
|
|
346
346
|
console.print(f"\n[green]✓[/green] Configuration saved to [cyan]{saved_path}[/cyan]")
|
|
347
347
|
console.print("\n[dim]Start the server with:[/dim]")
|
|
348
|
-
console.print(f" [bold]mem0-
|
|
348
|
+
console.print(f" [bold]mem0-open-mcp serve --config {saved_path}[/bold]")
|
|
349
349
|
else:
|
|
350
350
|
console.print("[yellow]Configuration not saved.[/yellow]")
|
|
351
351
|
|
|
@@ -364,15 +364,15 @@ def status(
|
|
|
364
364
|
"""Show current configuration and status.
|
|
365
365
|
|
|
366
366
|
Examples:
|
|
367
|
-
mem0-
|
|
368
|
-
mem0-
|
|
367
|
+
mem0-open-mcp status
|
|
368
|
+
mem0-open-mcp status --config ./my-config.yaml
|
|
369
369
|
"""
|
|
370
370
|
# Load configuration
|
|
371
371
|
loader = ConfigLoader(config_file)
|
|
372
372
|
config = loader.load()
|
|
373
373
|
|
|
374
374
|
console.print(Panel.fit(
|
|
375
|
-
"[bold green]mem0-
|
|
375
|
+
"[bold green]mem0-open-mcp Status[/bold green]",
|
|
376
376
|
border_style="green",
|
|
377
377
|
))
|
|
378
378
|
|
|
@@ -438,7 +438,7 @@ def status(
|
|
|
438
438
|
console.print(vs_table)
|
|
439
439
|
|
|
440
440
|
# Connection test hint
|
|
441
|
-
console.print("\n[dim]Run 'mem0-
|
|
441
|
+
console.print("\n[dim]Run 'mem0-open-mcp serve' to start the server[/dim]")
|
|
442
442
|
|
|
443
443
|
|
|
444
444
|
@app.command()
|
|
@@ -448,7 +448,7 @@ def init(
|
|
|
448
448
|
typer.Argument(
|
|
449
449
|
help="Path to create configuration file.",
|
|
450
450
|
),
|
|
451
|
-
] = Path("mem0-
|
|
451
|
+
] = Path("mem0-open-mcp.yaml"),
|
|
452
452
|
force: Annotated[
|
|
453
453
|
bool,
|
|
454
454
|
typer.Option("--force", "-f", help="Overwrite existing file."),
|
|
@@ -457,9 +457,9 @@ def init(
|
|
|
457
457
|
"""Create a default configuration file.
|
|
458
458
|
|
|
459
459
|
Examples:
|
|
460
|
-
mem0-
|
|
461
|
-
mem0-
|
|
462
|
-
mem0-
|
|
460
|
+
mem0-open-mcp init
|
|
461
|
+
mem0-open-mcp init ./config.yaml
|
|
462
|
+
mem0-open-mcp init --force
|
|
463
463
|
"""
|
|
464
464
|
if path.exists() and not force:
|
|
465
465
|
console.print(f"[red]File already exists: {path}[/red]")
|
|
@@ -469,7 +469,7 @@ def init(
|
|
|
469
469
|
saved_path = ConfigLoader.create_default_config_file(path)
|
|
470
470
|
console.print(f"[green]✓[/green] Created default configuration: [cyan]{saved_path}[/cyan]")
|
|
471
471
|
console.print("\n[dim]Edit the file to customize your settings, then run:[/dim]")
|
|
472
|
-
console.print(f" [bold]mem0-
|
|
472
|
+
console.print(f" [bold]mem0-open-mcp serve --config {saved_path}[/bold]")
|
|
473
473
|
|
|
474
474
|
|
|
475
475
|
if __name__ == "__main__":
|
|
@@ -31,7 +31,7 @@ class ConfigLoader:
|
|
|
31
31
|
Path("mem0-open-mcp.yaml"),
|
|
32
32
|
Path("mem0-open-mcp.yml"),
|
|
33
33
|
Path("mem0-open-mcp.json"),
|
|
34
|
-
Path("mem0-
|
|
34
|
+
Path("mem0-open-mcp.yaml"),
|
|
35
35
|
Path("mem0-server.yml"),
|
|
36
36
|
Path.home() / ".config" / "mem0-open-mcp" / "config.yaml",
|
|
37
37
|
Path.home() / ".mem0-open-mcp.yaml",
|
|
@@ -119,7 +119,7 @@ class ConfigLoader:
|
|
|
119
119
|
Returns:
|
|
120
120
|
Path where config was saved.
|
|
121
121
|
"""
|
|
122
|
-
save_path = Path(path) if path else (self.config_path or Path("mem0-
|
|
122
|
+
save_path = Path(path) if path else (self.config_path or Path("mem0-open-mcp.yaml"))
|
|
123
123
|
|
|
124
124
|
# Ensure parent directory exists
|
|
125
125
|
save_path.parent.mkdir(parents=True, exist_ok=True)
|
|
@@ -214,12 +214,12 @@ class ConfigLoader:
|
|
|
214
214
|
"""Create a default configuration file.
|
|
215
215
|
|
|
216
216
|
Args:
|
|
217
|
-
path: Path to create config at. Defaults to mem0-
|
|
217
|
+
path: Path to create config at. Defaults to mem0-open-mcp.yaml in current dir.
|
|
218
218
|
|
|
219
219
|
Returns:
|
|
220
220
|
Path where config was created.
|
|
221
221
|
"""
|
|
222
|
-
save_path = Path(path) if path else Path("mem0-
|
|
222
|
+
save_path = Path(path) if path else Path("mem0-open-mcp.yaml")
|
|
223
223
|
loader = cls()
|
|
224
224
|
config = get_default_config()
|
|
225
225
|
return loader.save(config, save_path)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|