Skip to main content
Glama
AlexiFeng

MCP Chat Logger

by AlexiFeng

MCP Chat Logger

Smithery License: MIT

Chinese documentation / 中文文档

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_history MCP tool

  • Writes 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

Related MCP server: Conversation Handoff MCP

Requirements

  • Python 3.10 or newer

  • uv

  • 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 sync

Start the server over stdio:

uv run chat_logger.py

Client 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

messages

array

Yes

Chat messages containing role and content fields

conversation_id

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 claude

Privacy

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.py

Issues and pull requests are welcome.

License

MIT

Available Tools

1 tool
save_chat_historyC
Save chat history as a Markdown file

Args:
    messages: List of chat messages, each containing role and content
    conversation_id: Optional conversation ID for file naming
ParametersJSON Schema
NameRequiredDescriptionDefault
conversation_idNo
messagesYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool saves to a file but doesn't specify where the file is saved (e.g., local path, cloud storage), permissions required, error handling, or whether the operation is idempotent. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded with the core purpose, followed by parameter explanations. It avoids unnecessary words, though the formatting with 'Args:' could be slightly more integrated. Overall, it's efficient with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no annotations, no output schema), the description covers the basic purpose and parameters but lacks details on output (e.g., file location, success indicators), error cases, and behavioral traits. It's minimally viable but has clear gaps for a file-saving operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds basic semantics for both parameters ('messages' as a list of chat messages with role and content, 'conversation_id' for file naming), which is valuable since schema description coverage is 0%. However, it doesn't detail the structure of message objects or provide examples, leaving some ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Save chat history') and the output format ('as a Markdown file'), providing a specific verb+resource combination. It distinguishes the tool's function well, though there are no sibling tools to differentiate from, which prevents a perfect score of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or context for invocation. It lacks any mention of when-not-to-use scenarios or comparisons with other tools, leaving usage entirely implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly distinct as it is the sole operation available.

Naming Consistency5/5

The single tool name 'save_chat_history' follows a clear verb_noun pattern. Since there is only one tool, consistency is inherently perfect with no deviations to assess.

Tool Count2/5

A single tool is too few for a server named 'MCP Chat Logger', which suggests broader logging capabilities. This minimal set feels thin and under-scoped for the implied domain of chat logging.

Completeness2/5

The tool surface is severely incomplete for a chat logger. It only saves history, lacking essential operations like retrieving, updating, deleting, or listing chat logs, which are core to logging workflows.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables saving AI conversation histories as clean, organized markdown notes with automatic filtering of thinking processes and tool execution details, timestamping, and customizable conversation turn limits.
    1
    18
    1
    ISC
  • A
    license
    A
    quality
    D
    maintenance
    Automatically records AI conversation turns and code changes to local Markdown files to provide persistent context across chat sessions. It enables AI agents to search history through MCP tools and provides a web viewer for browsing past discussions.
    3
    4
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AlexiFeng/MCP_Chat_Logger'

If you have feedback or need assistance with the MCP directory API, please join our Discord server