Name | split-screen-macOS-test-copy JSON |
Version |
0.2.0
JSON |
| download |
home_page | None |
Summary | Model Context Protocol Server for macOS Window Management and Split-Screen Operations |
upload_time | 2025-08-22 09:31:25 |
maintainer | Beta |
docs_url | None |
author | Beta |
requires_python | >=3.9 |
license | MIT License
Copyright (c) 2024 Beta
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. |
keywords |
accessibility
macos
mcp
model-context-protocol
split-screen
window-management
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Split Screen macOS Test Copy MCP
A Model Context Protocol (MCP) server that provides macOS window management and split-screen operations through accessibility APIs.
## Features
- **Window Positioning**: Move windows to halves, thirds, quarters, and custom regions
- **Smart Screen Detection**: Automatically detects which screen the active window is on
- **Accessibility Integration**: Uses macOS native accessibility APIs for reliable window manipulation
- **Fallback Mechanisms**: Multiple fallback strategies for different PyObjC builds and macOS versions
- **Error Handling**: Comprehensive error handling with meaningful feedback
## Installation
### From PyPI
```bash
pip install split-screen-macOS-test-copy
```
### Development Installation
```bash
git clone <repository-url>
cd split-screen-macOS-test-copy
pip install -e .
```
## Configuration
Add the following to your MCP client configuration:
```json
{
"mcpServers": {
"Split Screen macOS": {
"command": "uvx",
"args": ["split-screen-macOS-test-copy"],
"env": {}
}
}
}
```
## Available Tools
### Window Positioning
#### Halves
- `move-window-left-half` - Move active window to left half of screen
- `move-window-right-half` - Move active window to right half of screen
- `move-window-top-half` - Move active window to top half of screen
- `move-window-bottom-half` - Move active window to bottom half of screen
#### Thirds
- `move-window-left-third` - Move active window to left third of screen
- `move-window-middle-third` - Move active window to middle third of screen
- `move-window-right-third` - Move active window to right third of screen
#### Two-Thirds
- `move-window-left-two-thirds` - Move active window to left two-thirds of screen
- `move-window-right-two-thirds` - Move active window to right two-thirds of screen
#### Quarters
- `move-window-top-left-quarter` - Move active window to top-left quarter
- `move-window-top-right-quarter` - Move active window to top-right quarter
- `move-window-bottom-left-quarter` - Move active window to bottom-left quarter
- `move-window-bottom-right-quarter` - Move active window to bottom-right quarter
### Special Operations
- `move-window-maximize` - Maximize window to fill entire screen (excluding Dock and menu bar)
- `window-fullscreen` - Toggle fullscreen mode for active window
- `window-minimize` - Minimize the active window
## Usage
### Command Line
```bash
split-screen-macOS-test-copy
```
### As MCP Server
The server runs over stdio and can be integrated with any MCP-compatible client.
## Technical Details
### Architecture
- **FastMCP Framework**: Built on the MCP FastMCP server framework
- **Accessibility APIs**: Uses macOS Quartz.Accessibility or ApplicationServices fallback
- **Screen Geometry**: Calculates screen dimensions dynamically when needed
- **Window Detection**: Automatically finds the frontmost application and focused window
### Dependencies
- Python 3.9+
- `mcp>=0.1.0` - Model Context Protocol framework
- `pyobjc-framework-Cocoa>=9.0` - macOS Cocoa framework bindings
- `pyobjc-framework-Quartz>=9.0` - macOS Quartz framework bindings
### Compatibility
- **macOS**: 10.9+ (Mavericks and later)
- **Python**: 3.9, 3.10, 3.11, 3.12
- **Architecture**: Intel and Apple Silicon (Universal Binary)
## Requirements
- macOS operating system
- Python 3.9+
- Accessibility permissions enabled for the terminal/IDE running the server
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Troubleshooting
### Common Issues
1. **"Permission denied" errors**: Ensure Accessibility permissions are enabled in System Preferences > Security & Privacy > Privacy > Accessibility
2. **Import errors**: Make sure PyObjC frameworks are properly installed: `pip install pyobjc-framework-Cocoa pyobjc-framework-Quartz`
3. **Window not moving**: Some applications may have restrictions on window positioning. Try with a standard application first.
### Debug Mode
The server provides detailed error messages for troubleshooting window management operations.
Raw data
{
"_id": null,
"home_page": null,
"name": "split-screen-macOS-test-copy",
"maintainer": "Beta",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "accessibility, macos, mcp, model-context-protocol, split-screen, window-management",
"author": "Beta",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/64/85/6e5dee45c49d11acd91f77be2ce2b783f439416a25fe839ba09866a9a547/split_screen_macos_test_copy-0.2.0.tar.gz",
"platform": null,
"description": "# Split Screen macOS Test Copy MCP\n\nA Model Context Protocol (MCP) server that provides macOS window management and split-screen operations through accessibility APIs.\n\n## Features\n\n- **Window Positioning**: Move windows to halves, thirds, quarters, and custom regions\n- **Smart Screen Detection**: Automatically detects which screen the active window is on\n- **Accessibility Integration**: Uses macOS native accessibility APIs for reliable window manipulation\n- **Fallback Mechanisms**: Multiple fallback strategies for different PyObjC builds and macOS versions\n- **Error Handling**: Comprehensive error handling with meaningful feedback\n\n## Installation\n\n### From PyPI\n```bash\npip install split-screen-macOS-test-copy\n```\n\n### Development Installation\n```bash\ngit clone <repository-url>\ncd split-screen-macOS-test-copy\npip install -e .\n```\n\n## Configuration\n\nAdd the following to your MCP client configuration:\n\n```json\n{\n \"mcpServers\": {\n \"Split Screen macOS\": {\n \"command\": \"uvx\",\n \"args\": [\"split-screen-macOS-test-copy\"],\n \"env\": {}\n }\n }\n}\n```\n\n## Available Tools\n\n### Window Positioning\n\n#### Halves\n- `move-window-left-half` - Move active window to left half of screen\n- `move-window-right-half` - Move active window to right half of screen\n- `move-window-top-half` - Move active window to top half of screen\n- `move-window-bottom-half` - Move active window to bottom half of screen\n\n#### Thirds\n- `move-window-left-third` - Move active window to left third of screen\n- `move-window-middle-third` - Move active window to middle third of screen\n- `move-window-right-third` - Move active window to right third of screen\n\n#### Two-Thirds\n- `move-window-left-two-thirds` - Move active window to left two-thirds of screen\n- `move-window-right-two-thirds` - Move active window to right two-thirds of screen\n\n#### Quarters\n- `move-window-top-left-quarter` - Move active window to top-left quarter\n- `move-window-top-right-quarter` - Move active window to top-right quarter\n- `move-window-bottom-left-quarter` - Move active window to bottom-left quarter\n- `move-window-bottom-right-quarter` - Move active window to bottom-right quarter\n\n### Special Operations\n- `move-window-maximize` - Maximize window to fill entire screen (excluding Dock and menu bar)\n- `window-fullscreen` - Toggle fullscreen mode for active window\n- `window-minimize` - Minimize the active window\n\n## Usage\n\n### Command Line\n```bash\nsplit-screen-macOS-test-copy\n```\n\n### As MCP Server\nThe server runs over stdio and can be integrated with any MCP-compatible client.\n\n## Technical Details\n\n### Architecture\n- **FastMCP Framework**: Built on the MCP FastMCP server framework\n- **Accessibility APIs**: Uses macOS Quartz.Accessibility or ApplicationServices fallback\n- **Screen Geometry**: Calculates screen dimensions dynamically when needed\n- **Window Detection**: Automatically finds the frontmost application and focused window\n\n### Dependencies\n- Python 3.9+\n- `mcp>=0.1.0` - Model Context Protocol framework\n- `pyobjc-framework-Cocoa>=9.0` - macOS Cocoa framework bindings\n- `pyobjc-framework-Quartz>=9.0` - macOS Quartz framework bindings\n\n### Compatibility\n- **macOS**: 10.9+ (Mavericks and later)\n- **Python**: 3.9, 3.10, 3.11, 3.12\n- **Architecture**: Intel and Apple Silicon (Universal Binary)\n\n## Requirements\n\n- macOS operating system\n- Python 3.9+\n- Accessibility permissions enabled for the terminal/IDE running the server\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Troubleshooting\n\n### Common Issues\n\n1. **\"Permission denied\" errors**: Ensure Accessibility permissions are enabled in System Preferences > Security & Privacy > Privacy > Accessibility\n\n2. **Import errors**: Make sure PyObjC frameworks are properly installed: `pip install pyobjc-framework-Cocoa pyobjc-framework-Quartz`\n\n3. **Window not moving**: Some applications may have restrictions on window positioning. Try with a standard application first.\n\n### Debug Mode\nThe server provides detailed error messages for troubleshooting window management operations.\n",
"bugtrack_url": null,
"license": "MIT License\n \n Copyright (c) 2024 Beta\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.",
"summary": "Model Context Protocol Server for macOS Window Management and Split-Screen Operations",
"version": "0.2.0",
"project_urls": null,
"split_keywords": [
"accessibility",
" macos",
" mcp",
" model-context-protocol",
" split-screen",
" window-management"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "96ff439eda04a0ede6d63a2d23b4be06d91401239b2581d0b460739f8fa6b460",
"md5": "89adebcf007b9402ad0c8ed5367d1c5d",
"sha256": "374e3ea8db103ceaacac33c9e68b8571791cd94742cf1ba575d14df71f14b0b3"
},
"downloads": -1,
"filename": "split_screen_macos_test_copy-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "89adebcf007b9402ad0c8ed5367d1c5d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 9762,
"upload_time": "2025-08-22T09:31:24",
"upload_time_iso_8601": "2025-08-22T09:31:24.239336Z",
"url": "https://files.pythonhosted.org/packages/96/ff/439eda04a0ede6d63a2d23b4be06d91401239b2581d0b460739f8fa6b460/split_screen_macos_test_copy-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "64856e5dee45c49d11acd91f77be2ce2b783f439416a25fe839ba09866a9a547",
"md5": "7bfdeb74a1fd478ba06b50ae9c73351b",
"sha256": "6ff1b6dd62baefc9689bc3c4c6bc4ef241d7f0a12458df82ea9057af2be9c7b6"
},
"downloads": -1,
"filename": "split_screen_macos_test_copy-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "7bfdeb74a1fd478ba06b50ae9c73351b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 9326,
"upload_time": "2025-08-22T09:31:25",
"upload_time_iso_8601": "2025-08-22T09:31:25.716752Z",
"url": "https://files.pythonhosted.org/packages/64/85/6e5dee45c49d11acd91f77be2ce2b783f439416a25fe839ba09866a9a547/split_screen_macos_test_copy-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-22 09:31:25",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "split-screen-macos-test-copy"
}