accessibility

This commit is contained in:
Josh at WLTechBlog
2025-08-29 12:11:54 -05:00
parent 6bad614f9e
commit 7f4d8b8e84
12 changed files with 2708 additions and 1577 deletions

View File

@@ -4,7 +4,18 @@ This is a Model Context Protocol (MCP) server that exposes cremote's web automat
## 🎉 Complete Web Automation Platform
**27 comprehensive tools** across 5 enhancement phases, providing a complete web automation toolkit for LLM agents:
**30 comprehensive tools** across 6 enhancement phases, providing a complete web automation toolkit for LLM agents:
### 🚀 **NEW: Multi-Client Support**
The Cremote MCP server now supports **multiple concurrent clients** with isolated browser sessions:
- **Concurrent Agents**: Multiple AI agents can use the same browser simultaneously
- **Session Isolation**: Each client maintains independent browser state (tabs, history, iframe context)
- **Transport Flexibility**: Choose between stdio (single client) or HTTP (multiple clients)
- **Backward Compatible**: Existing stdio clients continue to work unchanged
See the [Multi-Client Guide](MULTI_CLIENT_GUIDE.md) for detailed setup and usage instructions.
- **Phase 1**: Element state checking and conditional logic (2 tools)
- **Phase 2**: Enhanced data extraction and batch operations (4 tools)
@@ -22,6 +33,7 @@ This is a Model Context Protocol (MCP) server that exposes cremote's web automat
- **Rich Context**: Page metadata, performance metrics, and content verification
- **Enhanced Screenshots**: Element-specific and metadata-rich screenshot capture
- **File Management**: Bulk file operations and automated cleanup
- **Accessibility Tree**: Chrome accessibility tree interface for semantic understanding
- **Automatic Screenshots**: Optional screenshot capture for debugging and documentation
- **Error Recovery**: Better error handling and context for LLMs
- **Resource Management**: Automatic cleanup and connection management
@@ -30,7 +42,7 @@ This is a Model Context Protocol (MCP) server that exposes cremote's web automat
**For LLM agents**: See the comprehensive [LLM Usage Guide](LLM_USAGE_GUIDE.md) for detailed usage instructions, examples, and best practices.
## Available Tools (27 Total)
## Available Tools (30 Total)
### Version Information
@@ -608,13 +620,38 @@ go build -o cremote-mcp .
### Configuration
#### Basic Configuration (Single Client - stdio)
Set environment variables to configure the cremote connection:
```bash
export CREMOTE_HOST=localhost
export CREMOTE_PORT=8989
export CREMOTE_TRANSPORT=stdio # Default
```
#### Multi-Client Configuration (HTTP Transport)
For multiple concurrent clients:
```bash
export CREMOTE_HOST=localhost
export CREMOTE_PORT=8989
export CREMOTE_TRANSPORT=http
export CREMOTE_HTTP_HOST=localhost
export CREMOTE_HTTP_PORT=8990
```
#### Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `CREMOTE_TRANSPORT` | `stdio` | Transport mode: `stdio` or `http` |
| `CREMOTE_HOST` | `localhost` | Cremote daemon host |
| `CREMOTE_PORT` | `8989` | Cremote daemon port |
| `CREMOTE_HTTP_HOST` | `localhost` | HTTP server host (HTTP mode only) |
| `CREMOTE_HTTP_PORT` | `8990` | HTTP server port (HTTP mode only) |
### Running with Claude Desktop
Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
@@ -772,6 +809,53 @@ All tool responses include:
}
```
### Phase 6: Accessibility Tree Support (3 Tools)
#### `get_accessibility_tree_cremotemcp`
Get the full accessibility tree for a page or with limited depth.
```json
{
"name": "get_accessibility_tree_cremotemcp",
"arguments": {
"tab": "optional-tab-id",
"depth": 3,
"timeout": 10
}
}
```
#### `get_partial_accessibility_tree_cremotemcp`
Get accessibility tree for a specific element and its relatives.
```json
{
"name": "get_partial_accessibility_tree_cremotemcp",
"arguments": {
"selector": "form",
"tab": "optional-tab-id",
"fetch_relatives": true,
"timeout": 10
}
}
```
#### `query_accessibility_tree_cremotemcp`
Query accessibility tree for nodes matching specific criteria.
```json
{
"name": "query_accessibility_tree_cremotemcp",
"arguments": {
"tab": "optional-tab-id",
"selector": "form",
"accessible_name": "Submit",
"role": "button",
"timeout": 10
}
}
```
## Benefits Over CLI
### 🎯 **Enhanced Efficiency**
@@ -796,8 +880,8 @@ All tool responses include:
This comprehensive web automation platform is **production ready** with:
- **27 Tools**: Complete coverage of web automation needs
- **5 Enhancement Phases**: Systematic capability building from basic to advanced
- **30 Tools**: Complete coverage of web automation needs
- **6 Enhancement Phases**: Systematic capability building from basic to advanced
- **Extensive Testing**: All tools validated and documented
- **LLM Optimized**: Designed specifically for AI agent workflows
- **Backward Compatible**: All existing tools continue to work unchanged
@@ -811,6 +895,7 @@ This comprehensive web automation platform is **production ready** with:
| **Form Automation** | 3 tools | Form analysis, bulk filling, batch interactions |
| **Page Intelligence** | 4 tools | Page state, performance metrics, content verification, viewport info |
| **Enhanced Capabilities** | 4 tools | Element screenshots, enhanced metadata, bulk file ops, file management |
| **Accessibility Tree** | 3 tools | Semantic understanding, accessibility testing, screen reader simulation |
## Development
@@ -825,4 +910,4 @@ The server is designed to be easily extensible while maintaining consistency wit
---
**🚀 Ready for Production**: Complete web automation platform with 27 tools across 5 enhancement phases, optimized for LLM agents and production workflows.
**🚀 Ready for Production**: Complete web automation platform with 30 tools across 6 enhancement phases, optimized for LLM agents and production workflows.