github Dicklesworthstone/mcp_agent_mail v0.3.0
v0.3.0 - Stdio Transport, Tool Filtering, Push Notifications

6 days ago

🎉 Release Highlights

This release introduces three major features for improved flexibility and performance, along with critical stability fixes.

✨ New Features

📡 Stdio Transport Support

New am serve-stdio command enables running the MCP server over stdin/stdout for direct CLI integration:

am serve-stdio
  • Perfect for Claude Code and similar tools that spawn MCP servers directly
  • All logging redirected to stderr to preserve protocol integrity
  • No separate HTTP server required for local usage

🎛️ Tool Filtering for Context Reduction

Reduce token overhead by exposing only the tools you need:

# Use a predefined profile
export TOOLS_FILTER_ENABLED=true
export TOOLS_FILTER_PROFILE=minimal  # Reduces context by ~70%

# Available profiles: full, core, minimal, messaging, custom

🔔 Push Notification Signals

Enable instant notification for local agent coordination without polling:

export NOTIFICATIONS_ENABLED=true
export NOTIFICATIONS_SIGNALS_DIR=~/.mcp_agent_mail/signals

Agents can watch signal files using inotify/FSEvents/kqueue for immediate updates.

🐛 Bug Fixes

  • Stdio Protocol Corruption: Fixed rich console output (LLM cost logging) and tool debug panels writing to stdout, which corrupted the stdio protocol
  • EMFILE Recovery: Automatic cache cleanup when hitting "too many open files" limit
  • Cancellation Safety: Python 3.14-compatible async session management
  • SQLite Concurrency: Pool tuning for better concurrent access
  • Viewer SRI: Excluded HTML from integrity map to fix asset loading

📦 Installation

pip install mcp-agent-mail==0.3.0
# or
uv add mcp-agent-mail==0.3.0

📋 Full Changelog

Features:

  • feat(cli): add serve-stdio command for stdio transport
  • feat(config): add tool filtering and push notification settings
  • feat(storage): implement push notification signal files
  • feat(app): integrate tool filtering and notification emission

Fixes:

  • fix(serve-stdio): disable rich console output to prevent protocol corruption
  • fix(serve-stdio): disable tool debug logging to prevent protocol corruption
  • fix(share): exclude html from viewer SRI map
  • fix(app): EMFILE resilience, cancellation safety, and project handling
  • fix(storage): prevent Repo handle leak and add EMFILE recovery in commit
  • fix(db): Python 3.14 cancellation safety and pool tuning for SQLite
  • fix(app): use cast for SQLAlchemy where clauses

Tests:

  • Comprehensive tests for tool filtering and notifications
  • E2E test updates for advisory file reservation model
  • Global resource cleanup fixture for FD leak prevention
  • Fix flaky tests for CI reliability

Don't miss a new mcp_agent_mail release

NewReleases is sending notifications on new releases.