Sherlog MCP Server is an MCP server that provides a persistent IPython shell per session for data analysis, log processing, and multi-agent workflows. It connects LLM clients like Claude Desktop to containerized execution environments, serving developers, data engineers, and data analysts who need stateful computation. By keeping tool outputs inside the IPython namespace as variables and DataFrames, the server helps LLMs avoid context window exhaustion when dealing with large payloads. Users interact with the environment primarily through core tools like execute_python_code and call_cli, alongside supporting utilities for package installation, code retrieval with Tree-sitter, and shell variable introspection. The server also functions as an MCP proxy, allowing external MCP servers to execute inside the same IPython runtime so their results automatically become manipulable DataFrames. It features persistent storage across restarts, supports multi-session lifecycle management for up to four concurrent sessions, and offers built-in Google OAuth 2.0 integration for accessing Google Workspace resources.
Category: Data & Analytics
Tags: data analysis, ipython, jupyter, log processing, python
MCP_MAX_SESSIONS, MCP_AUTO_RESET_THRESHOLD, or proxy settings via EXTERNAL_MCPS_JSON. 4. Set up Google Workspace access using GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET if OAuth features are needed. 5. Run the server container locally or deploy it to Railway using persistent volume mounts on /app/data. 6. Connect your MCP client, such as Claude Desktop, via HTTP transport by following the repository's remote connection setup instructions at https://github.com/GetSherlog/Sherlog-MCP.Part of MCP Servers
Sherlog MCP Server provides isolated, persistent IPython shells for LLMs to run Python code and CLI commands. Instead of dumping large outputs directly into the chat context, it stores operation results as DataFrames and shell variables. It also acts as an MCP proxy to run third-party MCP servers inside the same execution environment.
It is designed to work with Claude Desktop and other Model Context Protocol clients capable of connecting to remote or local servers via HTTP transport.
External MCP servers can be configured using the EXTERNAL_MCPS_JSON environment variable. When an external tool is triggered, its outputs are automatically converted into DataFrames within the shared IPython namespace, making them immediately accessible for subsequent Python code execution.
Yes, Sherlog MCP Server is open source and licensed under the Apache License 2.0. You can review the source code and license directly in its official GitHub repository.
The server stores session files and metadata in the /app/data directory. When deployed with persistent storage, such as a Railway volume, user shell sessions, imports, and variables are automatically preserved across container restarts.