MCP Chat Logger
MCP Chat Logger
MCP Chat Logger is a small Model Context Protocol server that lets an AI client save a conversation as a readable Markdown file.
What it does
Exposes a
save_chat_historyMCP toolWrites messages, roles, and timestamps to Markdown
Uses an optional conversation ID in the filename and document header
Stores logs locally in the
chat_logs/directory
Requirements
Python 3.10 or newer
An MCP-compatible client
Quick start
Clone the repository and install the locked dependencies:
git clone https://github.com/AlexiFeng/MCP_Chat_Logger.git
cd MCP_Chat_Logger
uv syncStart the server over stdio:
uv run chat_logger.pyClient configuration
Use an absolute path to your clone. A typical MCP client configuration looks like this:
{
"mcpServers": {
"chat_logger": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/MCP_Chat_Logger",
"run",
"chat_logger.py"
]
}
}
}The outer configuration shape can differ between clients; the command and args values remain the same.
Tool input
save_chat_history accepts:
Field | Type | Required | Description |
| array | Yes | Chat messages containing |
| string | No | Identifier added to the output filename and document header |
Example message list:
[
{"role": "user", "content": "Summarize this experiment."},
{"role": "assistant", "content": "Here are the main findings..."}
]Generated files are written to chat_logs/chat_<timestamp>.md, or chat_logs/chat_<conversation_id>_<timestamp>.md when an ID is supplied.
Install with Smithery
For clients supported by Smithery:
npx -y @smithery/cli install @AlexiFeng/MCP_Chat_Logger --client claudePrivacy
Conversation logs are written to the machine running this server. Review the content before sharing or committing generated files. The chat_logs/ directory is excluded from Git by default.
Development
uv sync
uv run python -m compileall chat_logger.pyIssues and pull requests are welcome.