Session Think MCP
A persistent, session-based thinking workspace MCP server that stores and retrieves reasoning across conversations.
Capture thoughts (
think): Save reasoning text to a named session with optional thinking mode (linear, creative, critical, strategic, empathetic), tags, and relationships to other thoughts (builds_on, supports, contradicts, refines, synthesizes).Browse sessions (
list_sessions): List all sessions with metadata, paginated.View session content (
view_session): Read a session's thoughts with configurable limit/offset.Search within a session (
search_in_session): Keyword search over content, tags, and modes.Search across all sessions (
search_all_sessions): Find matching sessions globally.Get session metadata (
get_session_info): Inspect a session without loading its thoughts.Rename sessions (
rename_session): Give an existing session a new structured name.Delete sessions (
delete_session): Permanently remove a session.Cleanup by age (
cleanup_sessions): Purge sessions older than a given number of days.Find related thoughts (
find_thought_relationships): Locate thoughts related to a query, filtered by relationship type.Persist locally: Stores sessions as JSON files (default
./.session-think-sessions, configurable viaSESSION_DIR), with structured naming likethesis:NVDA:ai_dominance.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Session Think MCP Add a thought to the project:website:redesign session about color scheme"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Session Think MCP
A JavaScript native MCP server implementing a session-based "think" tool with structured session naming and search capabilities.
Based on Anthropic's research on enhancing Claude's complex problem-solving abilities through dedicated thinking workspaces.
npm: https://www.npmjs.com/package/session-think-mcp
git: https://github.com/differentstuff/session-think-mcp
Overview
This MCP server provides a persistent thinking workspace that preserves reasoning text without modification, creating dedicated space for structured thinking during complex tasks. The tool follows the zero-interference principle - it simply preserves and structures your reasoning without any cognitive overhead.
Related MCP server: Think Strategies
Features
Structured Session Naming: Semantic names like
thesis:NVDA:ai_dominancefor easy referenceSession Search: Search within sessions or across all sessions by keyword
Persistent Storage: Thoughts preserved across sessions in local files
Pagination: Efficient retrieval with configurable limits
Thinking Modes: Optional support for different thinking strategies
Relationship Tracking: Link thoughts with relationships (builds_on, supports, contradicts, etc.)
FastMCP-based: Built with
fastmcpfor stable, modern MCP protocol handlingMinimal Dependencies: Only FastMCP and Zod for validation
Quick Start
Option 1: NPX (Recommended)
No installation required. Add to your Claude Desktop configuration:
{
"mcpServers": {
"session-think": {
"command": "npx",
"args": ["-y", "session-think-mcp@latest"]
}
}
}Option 2: Global Installation
npm install -g session-think-mcpThen configure Claude Desktop:
{
"mcpServers": {
"session-think": {
"command": "session-think-mcp"
}
}
}Configuration
Claude Desktop Configuration File
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
Environment Variables
Configure behavior via environment variables:
{
"mcpServers": {
"session-think": {
"command": "npx",
"args": ["-y", "session-think-mcp@latest"],
"env": {
"SESSION_DIR": "/path/to/sessions",
"SESSION_MAX_RETURN": "50",
"SESSION_NAME_PATTERN": "^[a-zA-Z0-9_-]+(:[a-zA-Z0-9_-]+){2,}$"
}
}
}
}Variable | Description | Default |
| Storage location for session files |
|
| Maximum thoughts returned by default |
|
| Regex pattern for session name validation |
|
Session Naming Convention
Sessions use structured names for easy reference and organization:
Format: category:name:subcategory
Examples:
thesis:NVDA:ai_dominance- Investment thesis about NVIDIA's AI positiontopic:research:quantum_computing- Research topic on quantum computingproject:website:redesign- Project notes for website redesignanalysis:competitor:openai- Competitor analysis of OpenAI
Rules:
At least 3 parts separated by colons
Each part: alphanumeric, underscores, or hyphens
If no name provided, generates
TEMP:timestamp:random
Available Tools
think
Add a thought to a session.
{
"reasoning": "Your thinking text here...",
"sessionName": "thesis:NVDA:ai_dominance",
"mode": "critical",
"tags": ["analysis", "investment"]
}Parameters:
reasoning(required): Your thinking textsessionName(optional): Session name in formatcategory:name:subcategorymode(optional): Thinking mode -linear,creative,critical,strategic,empathetictags(optional): Array of tags for categorization (a comma/semicolon-separated string is also accepted and split server-side)relates_to(optional): ID of related thoughtrelationship_type(optional):builds_on,supports,contradicts,refines,synthesizes
list_sessions
List all available sessions with metadata.
{
"limit": 50,
"offset": 0
}view_session
View contents of a specific session.
{
"sessionName": "thesis:NVDA:ai_dominance",
"limit": 50,
"offset": 0
}search_in_session
Search for thoughts within a specific session.
{
"sessionName": "thesis:NVDA:ai_dominance",
"query": "market share",
"limit": 10,
"offset": 0
}search_all_sessions
Search across all sessions for matching content.
{
"query": "artificial intelligence",
"limit": 20,
"offset": 0
}get_session_info
Get metadata about a session without loading thoughts.
{
"sessionName": "thesis:NVDA:ai_dominance"
}rename_session
Rename an existing session.
{
"oldSessionName": "TEMP:1740387654321:abc123",
"newSessionName": "thesis:NVDA:ai_dominance"
}delete_session
Delete a session permanently.
{
"sessionName": "thesis:NVDA:ai_dominance"
}cleanup_sessions
Remove old sessions based on age.
{
"maxAgeDays": 90
}find_thought_relationships
Search for related thoughts within a session.
{
"sessionName": "thesis:NVDA:ai_dominance",
"query": "competition",
"relationship_types": ["builds_on", "contradicts"],
"limit": 10
}Session Storage
Sessions are stored locally as JSON files:
Default location:
./.session-think-sessions(current directory)Override: Set
SESSION_DIRenvironment variableFormat: One JSON file per session
Filename: Session name with colons replaced by
___(e.g.,thesis___NVDA___ai_dominance.json)
Usage Examples
Starting a New Session
Claude, please use the think tool to analyze NVIDIA's AI market position.
Use session name: thesis:NVDA:ai_dominanceContinuing a Session
Claude, continue my thinking in session thesis:NVDA:ai_dominance about competitive threats.Searching for Sessions
Claude, search all my sessions for anything related to "artificial intelligence".Viewing a Session
Claude, show me the last 20 thoughts from session thesis:NVDA:ai_dominance.Architecture
Server: Native JavaScript MCP server built on fastmcp
Storage: File-based persistent session storage (JSON)
Transport: FastMCP stdio transport for maximum compatibility
Validation: Zod schemas for input validation
Output: Structured JSON with preserved reasoning and session context
Development
# Clone repository
git clone https://github.com/differentstuff/session-think-mcp.git
cd session-think-mcp
# Install dependencies
npm install
# Start development server
npm start
# Run verification
npm run verifyTesting
Test the server locally:
# Run with stdio transport
node index.js
# Test with MCP Inspector
npx @modelcontextprotocol/inspector session-think-mcpPerformance
Startup time: < 100ms
Memory usage: < 20MB
Response time: < 10ms for typical operations
Zero processing overhead: Direct text preservation
Research Background
This implementation is based on Anthropic's engineering research demonstrating that a "think" tool creates dedicated space for structured thinking, resulting in:
54% improvement in customer service simulations
Better policy adherence in complex scenarios
Enhanced multi-step problem solving capabilities
More consistent decision making across tasks
License
MIT License - see LICENSE file for details.
Links
Note: This tool requires Node.js 18+ and is optimized for use with Claude Desktop and the Model Context Protocol ecosystem.
Available Tools
10 toolscleanup_sessionsCleanup Old SessionsC
Manually clean up old thinking sessions based on age.
Inputs: maxAgeDays.
delete_sessionDelete SessionB
Delete a thinking session permanently.
Inputs: sessionName (required).
find_thought_relationshipsFind Thought RelationshipsC
Search for thoughts that could be related to current reasoning within a session.
Inputs: query (required), sessionName (required), limit, exclude_thought_id, +1 more.
get_session_infoGet Session InfoA
Get metadata about a specific session without loading all thoughts.
Inputs: sessionName (required).
list_sessionsList SessionsC
List all available thinking sessions with metadata.
Inputs: limit, offset.
rename_sessionRename SessionC
Rename an existing session to a new name.
Inputs: newSessionName (required), oldSessionName (required).
search_all_sessionsSearch All SessionsA
Search for sessions containing thoughts matching a keyword. Returns session indicators, not full content.
Inputs: query (required), limit, offset.
search_in_sessionSearch in SessionB
Search for thoughts within a specific session by keyword.
Inputs: query (required), sessionName (required), limit, offset.
thinkThink ToolB
A persistent thinking workspace that preserves reasoning across sessions.
IMPORTANT: Always provide a sessionName parameter with format: category:name:subcategory Examples:
thesis:NVDA:ai_dominance
topic:research:quantum_computing
project:website:redesign
If no sessionName is provided, a temporary session will be generated (TEMP:timestamp:random).
The sessionName is used to store and retrieve your thoughts. Use consistent naming to maintain context across conversations.
Inputs: reasoning (required), mode, tags, relates_to, +2 more.
view_sessionView SessionB
View the contents of a thinking session. Returns the last N thoughts by default.
Inputs: sessionName (required), limit, offset.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool has a distinct resource/action: session lifecycle (list/view/info/rename/delete/cleanup), thought capture (think), and search variants (in-session, cross-session, and relationship discovery). Overlaps are minimized by clear distinctions such as metadata vs. content retrieval and keyword search vs. related-thought discovery.
All names use consistent snake_case and most follow a verb_noun pattern (e.g., view_session, search_all_sessions, delete_session). The only notable exception is 'think', which is a bare verb rather than verb_noun, but it is still readable and predictable.
The 10 tools are well-scoped for a persistent session/thought workspace. Each tool earns its place, covering lifecycle, retrieval, search, and cleanup without obvious redundancy.
Core session lifecycle and search/read operations are well covered, including cleanup, metadata, and cross-session search. A minor gap exists around thought-level mutation (no update/delete for individual thoughts) and session export, though thought permanence may be intentional.
Maintenance
Related MCP Connectors
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
A second brain for Claude: remembers your work, plans your day, encrypted under a key only you hold.
Long-term memory for Claude, ChatGPT, Cursor: search, save and organize notes, links, docs, videos.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables structured problem-solving through sequential thinking stages with persistent storage and analysis. Helps break down complex problems into manageable cognitive steps while tracking progress and generating summaries of the entire thought process.MIT
- AlicenseBqualityDmaintenanceProvides 10 structured reasoning strategies (Chain of Thought, ReAct, Tree of Thoughts, etc.) for complex problem-solving with session persistence, branching, and tool integration capabilities.32 npm28MIT
- AlicenseNot gradedqualityDmaintenanceEnables searching and retrieving Claude Code conversation history that would otherwise expire after 30 days. Supports full-text search, semantic search, and session management with automatic backup of all conversations.5 npm28MIT
- AlicenseAqualityBmaintenanceProvides comprehensive session management for Claude Code with automatic initialization/cleanup, quality checkpoints, and local conversation memory with semantic search for capturing learnings across coding sessions.6338 PyPI4BSD 3-Clause