🎉 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/signalsAgents 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 transportfeat(config): add tool filtering and push notification settingsfeat(storage): implement push notification signal filesfeat(app): integrate tool filtering and notification emission
Fixes:
fix(serve-stdio): disable rich console output to prevent protocol corruptionfix(serve-stdio): disable tool debug logging to prevent protocol corruptionfix(share): exclude html from viewer SRI mapfix(app): EMFILE resilience, cancellation safety, and project handlingfix(storage): prevent Repo handle leak and add EMFILE recovery in commitfix(db): Python 3.14 cancellation safety and pool tuning for SQLitefix(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