Sequential Thinking Working Notes

Official registry Data and databases

Local working notes, decisions, evidence and resumable sessions with SQLite persistence.

What can you do with Sequential Thinking Working Notes?

  • Stages: Problem Definition, Research, Analysis, Synthesis, Conclusion
  • main_line_progress counts mainline notes only, against your total_thoughts;
  • Legacy import replaces the legacy history.
  • read_session(session_id="legacy") reads it; a legacy branch X appears as

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package mcp-sequential-thinking
Claude Code
claude mcp add sequential-thinking-working-notes -e 'MCP_STORAGE_DIR=<MCP_STORAGE_DIR>' -- uvx mcp-sequential-thinking==0.7.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "sequential-thinking-working-notes": {
            "command": "uvx",
            "args": [
                "mcp-sequential-thinking==0.7.0"
            ],
            "env": {
                "MCP_STORAGE_DIR": "<MCP_STORAGE_DIR>"
            }
        }
    }
}

Environment variables

  • MCP_STORAGE_DIR Local plaintext storage directory; defaults to ~/.mcp_sequential_thinking

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. MCP Sequential Thinking
  2. Quick start
  3. Tools
  4. Legacy tools (deprecated)
  5. Storage and operation
  6. Tested with
  7. Development

MCP Sequential Thinking

A local MCP server for working notes you can resume: evidence, decisions, risks and next actions for a difficult task, stored durably in SQLite and readable after any restart. It records what the caller writes; it does not generate, judge or improve reasoning, and it never asks for hidden chain-of-thought.

Quick start

python -m venv .venv && . .venv/bin/activate   # Windows: .venv\Scripts\Activate.ps1
python -m pip install -e .
python scripts/stdio_smoke.py                  # restart demo: write, restart, read back

Client configuration (Claude Desktop, Cursor, …):

{"mcpServers":{"working-notes":{
  "command":"/absolute/path/to/.venv/bin/mcp-sequential-thinking",
  "env":{"MCP_STORAGE_DIR":"/absolute/path/to/notes"}}}}

On Windows use .venv\Scripts\mcp-sequential-thinking.exe.

A typical session:

{"tool":"create_session","arguments":{"title":"Choose a local store","request_id":"create-1"}}
{"tool":"add_step","arguments":{"session_id":"<id>","content":"Two writers need unique positions.","kind":"evidence","request_id":"step-1"}}
{"tool":"add_step","arguments":{"session_id":"<id>","content":"Use SQLite.","kind":"decision","request_id":"step-2"}}
{"tool":"read_session","arguments":{"session_id":"<id>"}}

Lost the ID after a restart? list_sessions finds the session by title.

Tools

ToolPurpose
create_sessionStart a session from a title.
add_stepAdd a note; kind is note (default), observation, evidence, assumption, option, risk, decision or next_action.
list_sessionsFind sessions by title or status.
read_sessionview="resume" (default): active notes, decisions first. view="steps": full history with filters.
finalize_sessionStore the caller's outcome and evidence IDs; no further steps afterwards.
delete_sessionDelete a session's database records (exports and backups remain).
export_session / import_sessionJSON archive of one session, confined to MCP_STORAGE_DIR/exports.

Links between notes. parent_step_id records provenance, supersedes_step_id replaces an earlier note (resume hides it, full history keeps it), and branch_from_step_id starts a named branch. All references stay inside one session.

Retries. Every write takes a request_id. Repeating a call with the same ID and input returns the original result; the same ID with different input returns IDEMPOTENCY_CONFLICT. finalize_session and delete_session also need expected_version.

Pagination and limits. Reads default to 20 entries and 12,000 characters (limit ≤ 100, max_chars 1,000–50,000). Follow cursor until it is null, and keep the same view while paging. truncated reports shortened content. A note too large for one response comes back as its first chunk; continue with step_id and content_offset until next_content_offset is null.

Errors set isError=true with a stable code and a short hint, e.g. INVALID_INPUT (with Fields: …), UNKNOWN_SESSION, INVALID_REFERENCE, CONFLICT (with current_version), SESSION_FINALIZED, IDEMPOTENCY_CONFLICT, STORAGE_BUSY (retry with the same request_id), PATH_OUTSIDE_EXPORTS, RESPONSE_LIMIT.

Sources attached to notes are caller-supplied and never fetched or verified.

Legacy tools (deprecated)

process_thought, generate_summary and clear_history, plus export_session / import_session without a session_id, work on a single shared legacy session. They remain for existing clients; every result carries a deprecation_notice. Use the session API for new work.

  • Stages: Problem Definition, Research, Analysis, Synthesis, Conclusion (case-insensitive). Order warnings are advisory unless --strict-stages is set.
  • main_line_progress counts mainline notes only, against your total_thoughts; it is not task completion.
  • Legacy import replaces the legacy history.
  • read_session(session_id="legacy") reads it; a legacy branch X appears as legacy-X there.

Storage and operation

mcp-sequential-thinking              # stdio server
mcp-sequential-thinking --health     # diagnostic check
mcp-sequential-thinking --ephemeral  # in memory only, lost on exit
  • Data lives in ~/.mcp_sequential_thinking (or MCP_STORAGE_DIR) as plaintext SQLite (WAL, synchronous FULL, 5 s busy timeout). Use a local disk; NFS/SMB and multiple hosts are not supported.
  • Several stdio servers may share one store. Local stdio trusts the OS user; a session ID is not authorization. HTTP/SSE are experimental.
  • Deletion is not secure erasure. There is no automatic retention.
  • On first start, an existing 0.6 JSONL history migrates into SQLite in one transaction, keeping IDs and content; a backup of the source stays in place. Stop old 0.6 servers first. Downgrading after new writes is not supported.

Backup and restore (all sessions, including retry keys):

python -m mcp_sequential_thinking.backup create  /path/to/storage /path/to/snapshot.sqlite3
python -m mcp_sequential_thinking.backup restore /path/to/NEW-storage /path/to/snapshot.sqlite3

Restore requires a new directory. Never copy a live database file without its WAL.

Tested with

ClientOSDate
Python MCP SDK 2.0.0 and latest, Python 3.10–3.14Linux, Windowsevery CI run
Claude DesktopLinux2026-10-21

Development

uv run --extra dev ruff check .
uv run --extra dev ruff format --check .
uv run --extra dev mypy --strict mcp_sequential_thinking
uv run --extra dev pytest --cov=mcp_sequential_thinking --cov-fail-under=85
rm -rf dist && uv run --extra dev --with build --with twine --with jsonschema python scripts/check_artifacts.py

The artifact check builds and installs the wheel in isolation and runs a real restart round trip. Releases publish that tested artifact via Trusted Publishing once a GitHub release is created; the version lives in mcp_sequential_thinking/_version.py. See CHANGELOG.md for details.

Frequently asked questions

What is Sequential Thinking Working Notes?

Local working notes, decisions, evidence and resumable sessions with SQLite persistence.

How do I install Sequential Thinking Working Notes?

It runs on your machine. In Claude Code: claude mcp add sequential-thinking-working-notes -e 'MCP_STORAGE_DIR=<MCP_STORAGE_DIR>' -- uvx mcp-sequential-thinking==0.7.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Sequential Thinking Working Notes need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is Sequential Thinking Working Notes open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Sequential Thinking Working Notes?

It is published by arben-adm. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.