<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Srinivas Kondepudi</title>
    <description>The latest articles on DEV Community by Srinivas Kondepudi (@sirinivask).</description>
    <link>https://dev.to/sirinivask</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3929806%2F3e582fb0-6ad8-4b28-bd40-b27808c07692.jpg</url>
      <title>DEV Community: Srinivas Kondepudi</title>
      <link>https://dev.to/sirinivask</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sirinivask"/>
    <language>en</language>
    <item>
      <title>I built an MCP server to log every AI conversation, here's what I learned</title>
      <dc:creator>Srinivas Kondepudi</dc:creator>
      <pubDate>Wed, 13 May 2026 17:47:43 +0000</pubDate>
      <link>https://dev.to/sirinivask/i-built-an-mcp-server-to-log-every-ai-conversation-heres-what-i-learned-c28</link>
      <guid>https://dev.to/sirinivask/i-built-an-mcp-server-to-log-every-ai-conversation-heres-what-i-learned-c28</guid>
      <description>&lt;p&gt;Every serious system gets audited; databases, code, finances. AI shouldn't be the exception. I'm building the tools to close that gap. chron is the first one.&lt;/p&gt;

&lt;p&gt;The problem&lt;/p&gt;

&lt;p&gt;I was doing long coding sessions with Claude. We'd work through a problem, make decisions, figure out an approach together. Then the context window fills up. It resets. And suddenly the AI has forgotten everything, but I still need to know what we decided and why.&lt;/p&gt;

&lt;p&gt;I wanted a permanent local record. Not stored in some cloud. Not owned by any AI company. Just mine, on my machine, in a format I can actually read.&lt;/p&gt;

&lt;p&gt;What is MCP?&lt;br&gt;
MCP (Model Context Protocol) is an open standard from Anthropic that lets you extend Claude with custom tools. Think of it like a plugin system, you build a server that exposes tools, Claude learns to call them, and suddenly your AI can do things it couldn't before.&lt;/p&gt;

&lt;p&gt;I'd never built one before. This was my first.&lt;/p&gt;

&lt;p&gt;Turns out it's simpler than it sounds. You define a tool with three things:&lt;/p&gt;

&lt;p&gt;A name Claude can call&lt;br&gt;
A description Claude reads to know when to use it&lt;br&gt;
An input schema so Claude knows what arguments to pass&lt;br&gt;
That's it. Claude figures out the rest.&lt;/p&gt;

&lt;p&gt;What I built&lt;br&gt;
chron; an MCP server that automatically logs every AI conversation to a local SQLite database. Every message. Every timestamp. Fully yours.&lt;/p&gt;

&lt;p&gt;npx -y chron-mcp&lt;br&gt;
Run that once in your terminal. It detects which AI tools you have installed, Claude Desktop, Claude Code, Cursor, Windsurf, and configures them automatically. Restart your AI tool. Done. Everything gets logged from that point on, with zero manual steps.&lt;/p&gt;

&lt;p&gt;Three things I built that were interesting&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Hash chaining&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each message stores a SHA-256 hash that includes the previous message's hash, same idea as a blockchain, but much simpler. It means you can verify the log hasn't been tampered with. If anyone edits an old message, every hash after it breaks.&lt;/p&gt;

&lt;p&gt;message 1: hash(content)           → abc123&lt;br&gt;
message 2: hash(content + abc123)  → def456&lt;br&gt;
message 3: hash(content + def456)  → ghi789&lt;br&gt;
Run verify_session and chron walks the chain. Any break means tampering.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Auto-setup&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The hardest part of building an MCP server isn't the server, it's getting people to install it. Writing JSON config files by hand is a real barrier.&lt;/p&gt;

&lt;p&gt;So npx -y chron-mcp now does it automatically. It reads your filesystem, detects which AI clients are installed, writes their config files, and installs a SessionStart hook in Claude Code so the logging skill loads on every new session. One command, restart, works.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The SessionStart hook&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Claude Code has a hook system; shell commands that run automatically at session start. I use this to inject the chron skill instructions so Claude knows to call the logging tools without you doing anything. This was the missing piece. Without it, the MCP server is registered but idle.&lt;/p&gt;

&lt;p&gt;What surprised me&lt;br&gt;
The install experience is harder than the feature itself. Getting the MCP server running took a day. Getting it to work without any user configuration took a week.&lt;/p&gt;

&lt;p&gt;Also: npm download counts are mostly bots. chron crossed 1,000 downloads in the first week, but honest estimate is maybe 50–150 real humans. Security scanners and registry mirrors download every new package automatically. Worth knowing before you celebrate.&lt;/p&gt;

&lt;p&gt;What's next&lt;br&gt;
The data is locked in SQLite right now. The next step is a local web UI — npx chron-mcp --ui opens a browser showing your sessions, messages, and stats. If AI is doing real work, you should be able to read the log without writing SQL.&lt;/p&gt;

&lt;p&gt;If you use Claude, Cursor, or Windsurf and you care about keeping a record of your AI conversations, give it a try.&lt;/p&gt;

&lt;p&gt;npx -y chron-mcp&lt;br&gt;
GitHub: github.com/sirinivask/chron&lt;/p&gt;

&lt;p&gt;I'm happy to answer questions about building MCP servers, it's genuinely worth learning right now.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4a18k3p26p74cub48o1d.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4a18k3p26p74cub48o1d.jpeg" alt=" " width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>beginners</category>
      <category>mcp</category>
    </item>
  </channel>
</rss>
