Commit Graph

9 Commits

Author SHA1 Message Date
Claude4Ξlope c55ffdb59b Add enhanced onboarding examples and Xilope production guide
**Onboarding Enhancements**:
- Added explicit server discovery examples
- Included Claude Code server usage patterns
- Added read_file tool call examples with proper namespacing

**Xilope Production Guide**:
- Complete production environment documentation
- Memory storage integration details (/mnt/data/claude/claude/.mcp-memory/)
- cmem wrapper integration (~/bin/cmem → /usr/local/bin/cmem)
- Bidirectional sync workflows and best practices

**Server Updates**:
- Enhanced onboarding server to serve predefined markdown files
- Priority: predefined files → default.md → fallback instructions

This provides comprehensive guidance for both general MCP Browser usage
and Xilope's specific production environment with cmem integration.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 12:52:48 +02:00
Claude4Ξlope c8bfa4b2d1 Add enhanced interactive mode and cmem integration
Major enhancements to MCP Browser functionality:

**Interactive Client & Testing**:
- New comprehensive interactive client with readline support
- Tab completion for commands and tools
- Enhanced tool testing with sample argument generation
- Standalone executable script for easy testing

**cmem Integration**:
- Bidirectional sync between memory server and cmem
- Identity-specific memory contexts
- Automatic task, pattern, and decision synchronization
- Graceful degradation when cmem unavailable

**Developer Experience**:
- Updated tool descriptions with clear proxy pattern explanations
- Comprehensive handoff documentation for AI assistant transitions
- 32 new tests covering all enhanced functionality
- All tests passing (46 passed, 3 skipped)

**Context Optimization**:
- Maintained sparse mode efficiency
- Clear meta-tool descriptions with emojis
- Enhanced onboarding guide with practical examples

This update significantly improves both AI assistant workflow continuity
and developer testing capabilities while maintaining the project's core
principle of context efficiency.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28 12:00:52 +02:00
Claude4Ξlope 53f672bb76 Add multiuser support to screen server
- Add enable_multiuser tool to enable multiuser mode on sessions
- Add attach_multiuser tool to provide attach instructions
- Add add_user tool for access control list management
- Peek functionality works seamlessly with multiuser sessions
- Create comprehensive test for multiuser functionality
- All existing functionality preserved and tested

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 23:50:45 +02:00
Claude4Ξlope 140bd2d71b Fix UTF-8 encoding issue in screen peek
- Read screen hardcopy output as binary first
- Decode with UTF-8 using 'replace' error handling
- Fallback to latin-1 encoding if needed
- Strip ANSI escape sequences from output
- Handles mixed encodings and binary data gracefully

This fixes crashes when screen sessions contain non-UTF-8 bytes
or terminal control sequences.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 23:20:53 +02:00
Claude4Ξlope 9a22aa7714 Add dynamic config reloading and comprehensive onboarding
- Add inotify-based config file watching for runtime server updates
- Include external server information in mcp_discover results
- Add comprehensive default onboarding explaining proxy architecture
- Update sparse tool description to show server count
- Config changes are now automatically detected and reloaded
- No restart required when adding new MCP servers to config.yaml

The onboarding now fully explains:
- Proxy mode connecting to external MCP servers
- Built-in tools always available
- Discovery examples for finding servers and tools
- Runtime configuration without restarts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 22:10:52 +02:00
Claude4Ξlope 5aacf468a4 Fix MCP initialization timeout and add daemon management
- Fix protocol version mismatch (0.1.0 -> 2024-11-05)
- Fix server mode blocking on startup causing Claude Desktop timeout
- Add --version flag to show version information
- Implement proper daemon cleanup when starting new daemon
- Add kill_daemon_with_children() to properly terminate process tree
- Fix dictionary iteration error during shutdown
- Ensure sparse mode is always enabled (3 tools only)
- Fix async stdin reading in base server to prevent EOF loops
- Add syslog support for server mode logging
- Switch from stdin.read() to readline() for proper JSON-RPC handling
- Add comprehensive MCP protocol test suite

The tool now works correctly as an MCP proxy between Claude Desktop
and MCP servers with additional built-in tools.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 22:00:32 +02:00
Claude4Ξlope 6823d41dd1 Fix server CPU loops and refactor to client/daemon architecture
Major refactoring to fix high CPU usage and improve architecture:

## Fixed Issues
- MCP servers were stuck in infinite loops when stdin closed
- Fixed by checking for EOF (empty string) from stdin.read()
- Fixed indentation error in base.py causing syntax errors

## New Architecture
- Split into separate client and daemon binaries:
  - `mcp-browser`: Smart client that can use daemon or run standalone
  - `mcp-browser-daemon`: Persistent daemon process
  - `mcp-browser-legacy`: Old monolithic version (deprecated)

## Client Features
- Auto-detects and uses daemon if available
- Can auto-start daemon if needed
- Falls back to standalone mode
- Supports `--use-daemon` with modes: auto, always, never
- Works as MCP server (stdin/stdout) or CLI tool

## Daemon Features
- Runs as background process with socket server
- Supports multiple concurrent clients
- Can run in foreground with `--foreground`
- Includes systemd service files for production
- Proper signal handling and cleanup

## Usage Examples
```bash
# CLI usage (auto-uses daemon if available)
mcp-browser tools-list
mcp-browser tools-call builtin:patterns::list_patterns '{}'

# Force standalone mode
mcp-browser --use-daemon never tools-list

# Run daemon manually
mcp-browser-daemon --foreground --log-level DEBUG

# Use as MCP server
echo '{"method":"tools/list"}' | mcp-browser --mode server
```

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 17:46:24 +02:00
Claude4Ξlope a7ec20b034 Fix package installation and remove demo script
- Added proper package discovery for mcp_servers modules
- Created __init__.py files for all mcp_servers subpackages
- Added MANIFEST.in to ensure all files are included in distribution
- Removed mcp-browser-demo entry point from setup.py
- Fixed package_data to include all necessary files

The mcp_servers modules are now properly installed alongside mcp_browser,
allowing built-in servers to work correctly after installation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 16:29:17 +02:00
Claude4Ξlope 9a7172096f Initial prototype of MCP Browser
A generic, minimalistic MCP browser with optimized context usage:
- Generic JSON-RPC interface with call() and discover() methods
- Sparse mode for context optimization
- 4 built-in MCP servers (screen, memory, patterns, onboarding)
- Multi-server management
- Identity-aware onboarding as third visible tool

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 12:30:20 +02:00