All projects

Production

Personal AI Agent Infrastructure

A self-hosted MCP server that turns Claude into an autonomous operations assistant

Java 21Spring Boot 3.5Spring AI 1.1MCPClaude HaikuOpenAI gpt-image-1QuartzSQLite
Personal AI Agent Infrastructure - abstract illustration

What it does

I run this in production. It gives Claude 59 tools across 12 functional domains via the Model Context Protocol: IMAP/SMTP email with SQLite persistence, my Obsidian vault, Git repositories via JGit, CardDAV contacts, CalDAV calendar, AWS S3, OpenAI image generation, Pushover notifications, HTTP fetch, agent-queue management, and system utilities. A Quartz-based checker agent polls my inbox every few seconds, applies configurable dispatch rules to matching messages, and kicks off Claude Code agent runs automatically. I also run scheduled cron jobs for things like daily summaries.

What it proves

You don't need a commercial agent platform. An MCP server is a standard HTTP service - you design the tools, you own the data, you control the dispatch logic. The entire thing is about 40 Java classes. The complexity is in the design decisions, not the code volume.

The interesting engineering decisions

The email storage layer uses SQLite via a custom ORM layer so email can be queried and cross-referenced without a full relational database. The dispatcher uses configurable rules (sender, subject pattern, keywords) to decide whether to route a message to Claude and which agent type to use. The cron system uses Quartz with persistent job storage so jobs survive restarts.

Stack

Java 21Spring Boot 3.5Spring AI 1.1MCPClaude HaikuOpenAI gpt-image-1QuartzSQLite

Want something like this built?

This is the kind of system I build for clients. Tell me what you're trying to do, and I'll give you a straight answer on whether AI is the right tool.

Book a 30-minute call