A side-by-side look at the Dark Memory MCP and MCP Sqlite MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Dark Memory MCP for databases work as a local process; choose MCP Sqlite for databases as a local process. You can also run both side by side in one mcpServers block.
dark_memory_project_create, dark_memory_session_start, dark_memory_session_resume.db_info, query, list_tables.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Databases | Databases |
| Quality signal | 59/100 · Good | 64/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Free |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | 129 |
| Directory activity | 2 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 57 | 8 |
| Full listing | View Dark Memory MCP | View MCP Sqlite |
dark_memory_project_createCreate a new project (INV-7 tenant primitive). Idempotent on project_id — re-creating an existing project returns the existing row. The 'default' project is seeded on Open and cannot be re-created (returns ErrAlreadyExists).dark_memory_session_startStart an operational session. Returns the session_id. Use session_close to terminate.dark_memory_session_resumeResume an existing session by session_id. Validates the session exists, sets the active project to match, and returns the session row.dark_memory_session_statusReturn the current state of a session (id, operator, project, status, timestamps). Read-only. Includes closing_soon + seconds_until_close so harnesses can warn before the sweeper closes an idle session.dark_memory_session_closeClose the active session. Returns the write/run/item summary.dark_memory_session_heartbeatRefresh a session's last_heartbeat_at so the sweeper does not auto-close it. Call every ~30s during long reasoning pauses or read-only stretches (>60m between writes would otherwise demote the session to closed_aborted). Returns the new last_heartbeat_at.dark_memory_session_recoverDetect the most-recent closed_aborted session for an operator within a lookback window (INV-8). Read-only: never creates a session. Returns the candidate + requires_consent=true when found, so the caller can decide to follow up with session_resurrect.dark_memory_session_resurrectResurrect a closed_aborted session (INV-8): creates a new session inheriting the original's constitution binding + active mods. The original stays untouched. Use session_recover first to discover the candidate. Returns the new session_id + inheritance audit.dark_memory_research_topicRun a research query against the registered ResearchBackend set. Returns deduplicated, confidence-ranked items.dark_memory_research_recallRecall previously stored research items by query, with a token budget. Runs the Atlan 5-bucket economy pipeline.dark_memory_research_resume_threadContinue a multi-turn research thread by re-running ResearchTopic with the same thread_id.dark_memory_agent_bootstrapReturn the markdown content of a dark-agent self-bootstrap resource by surface+target. Surfaces: system_prompt | compatibility_matrix | install_guide (requires target) | companion (requires target) | all. The resource URIs are also exposed via resources/read for harnesses that prefer the standard MCP path.db_infoGet information about the SQLite database including path, existence, size, and table countqueryExecute a raw SQL query against the database with optional parameter valueslist_tablesList all user tables in the SQLite database (excludes system tables)get_table_schemaGet the schema information for a specific table including column detailscreate_recordInsert a new record into a table with specified dataread_recordsRead records from a table with optional conditions, limit, and offsetupdate_recordsUpdate records in a table based on specified conditionsdelete_recordsDelete records from a table based on specified conditionsPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"dark-memory-mcp": {
"command": "npx",
"args": [
"-y",
"@opitacode/dark-memory-mcp"
]
}
}
}
{
"mcpServers": {
"jparkerweb-mcp-sqlite": {
"command": "npx",
"args": [
"-y",
"mcp-sqlite"
]
}
}
}