Commit Graph

40 Commits

Author SHA1 Message Date
Adam 3e2798f835 Python Compatibility (3.14) Note 2025-12-01 13:00:40 -05:00
Adam 21b4e3bf16 Remove claude-3-5-sonnet-20241022 2025-11-23 16:12:17 -05:00
Adam fdfcd9e443 Merge pull request #493 from YeIIcw/docs/mcp-server-locally
Add Local Desktop Mode for MCP Server with updated docs
2025-11-17 14:56:10 +00:00
James Murdza 7599387668 Merge branch 'main' into feature/mcp-claude-extension 2025-10-31 17:03:39 -07:00
Adam 75f4edd05d Delete uv.lock 2025-10-31 15:39:03 -07:00
Sarina Li 7c727339a2 fix backlinks for seo 2025-10-31 16:18:21 -04:00
Adam be4b03f268 add desktop icon for extension 2025-10-31 12:06:02 -07:00
Adam 8da83f6f0a add claude desktop extension build script 2025-10-31 11:37:21 -07:00
Adam a3b9879ba1 remove duplicate mcp server code 2025-10-31 11:36:15 -07:00
Adam 043e3f2318 Merge branch 'main' into docs/mcp-server-locally 2025-10-30 16:15:24 -07:00
Adam 995131aa7e add mcp server tests 2025-10-30 16:13:37 -07:00
Adam 3cda749764 allow using host computer for mcp server with documentation 2025-10-30 16:08:43 -07:00
Adam 27672856f5 Added claude extension 2025-10-30 16:03:08 -07:00
James Murdza e3ab4fe7b0 Format tests with uv run pre-commit run --all-files 2025-10-28 17:03:26 -07:00
James Murdza 3ee5206baf Merge pull request #491 from AceAtDev/CI/CDtests
Add test infrastructure with CI/CD #478
2025-10-28 17:00:05 -07:00
Elshoubky M 59016608da fixed ImportPathMismatchError caused by init files 2025-10-25 01:54:04 -04:00
github-actions[bot] 18082298c9 Bump cua-mcp-server to v0.1.15 2025-10-24 21:38:48 +00:00
Aditya Bavadekar a38219d3ef fix(python): standardize Python version across all packages
- Updated all `libs/python/*/pyproject.toml` files to require Python >=3.12
- Synchronized root `pyproject.toml` and regenerated `uv.lock`
2025-10-23 03:15:21 +05:30
James Murdza ddc5a5de91 Format codebase with uv run pre-commit run --all-files 2025-10-22 11:35:31 -07:00
Aditya Bavadekar c33517a42d chore: consolidate Ruff configs, add prettier dependancy and updated documentation usage
- Remove per-package Black, Ruff, and MyPy settings in individual pyproject.toml files
- Centralize Ruff configuration in root pyproject.toml under [tool.ruff.lint] with selected ignores
- Add Prettier setup and usage instructions to Development.md
- Include pnpm install instructions for JS/TS dependencies
- Ensure pre-commit hooks enforce Python and JS/TS formatting consistently
2025-10-22 11:10:21 -07:00
Elshoubky M 451c9c2c01 Add test infrastructure with CI/CD
- Add separate test directories for all 7 packages (core, agent, computer, computer-server, mcp-server, pylume, som)
- Create 30+ unit tests with mocks for external dependencies (liteLLM, PostHog, Computer)
- Add conftest.py fixtures for each package to enable isolated testing
- Implement GitHub Actions CI workflow with matrix strategy to test each package independently
- Add TESTING.md with comprehensive testing guide and architecture documentation
- Follow SOLID principles: SRP, Vertical Slice Architecture, and Testability as Design Signal

Note:
- No API keys required for unit tests
2025-10-21 18:58:40 -04:00
James Murdza 0dc6c75177 Bump cua-mcp-server to v0.1.14 2025-10-16 10:33:55 -07:00
James Murdza a25c2dc13c Merge pull request #463 from trycua/b2v
Add bump2version configuration for all Python packages
2025-10-14 17:13:27 -07:00
Your Name 3d50e3cefb update pyproj 2025-10-10 22:40:36 +00:00
Your Name 424b8762c4 bump versions 2025-10-10 22:36:07 +00:00
Your Name 0af7ea394f add tag prefix 2025-10-10 21:51:18 +00:00
Your Name 2ff4030709 tag 2025-10-10 21:33:45 +00:00
Your Name 46b361b732 Add bump2version configuration for all Python packages
Adds .bumpversion.cfg files to each Python package (agent, computer,
computer-server, core, mcp-server, pylume, som) to enable automated
version bumping with bump2version tool.

Includes comprehensive Makefile with targets for:
- Installing and managing bump2version
- Bumping package versions (major, minor, patch)
- Managing dependencies and building packages
- Running tests and formatting
- Cleaning build artifacts

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 21:23:47 +00:00
Adam 3274cfafe7 add concurrent session management and resource isolation
Implement concurrent session management for MCP server with:

- SessionManager with computer instance pooling
- Concurrent task execution support
- New tools: get_session_stats, cleanup_session
- Graceful shutdown and resource cleanup
- Fix nested asyncio event loop issues
- Add comprehensive tests and documentation

Enables multiple concurrent clients with proper resource isolation
while maintaining backward compatibility.
2025-10-06 18:37:10 -04:00
Adam 671845001c update README with corrected MCP config and clarified usage
- Updated the README to clarify how to configure cua-mcp-server for Claude Desktop and other MCP clients.
- Fixed the example development configuration to use an absolute/expanded path rather than `~`, preventing issues with Claude’s sandboxed execution.
- Aligned instructions with the current start_mcp_server.sh behavior, ensuring the correct virtual environment and PYTHONPATH are always set.
- Improved wording for consistency across installation, development, and usage sections.
2025-10-01 11:49:17 -04:00
Adam 37864faef2 Fix MCP server startup and tool schema issues in server.py and start_mcp_server.sh
Changes
- Refactored `server.py`:
  - Delayed server instantiation to avoid double-import issues and RuntimeWarning.
  - Reworked `run_cua_task` and `run_multi_cua_tasks` to yield structured output
    (text + screenshots) in a Pydantic-compatible format.
  - Added helper functions for normalising message content, extracting text,
    and serialising tool outputs.
  - Improved logging and error handling for clearer debugging.

- Updated `start_mcp_server.sh`:
  - Ensures Python path points to repo-local `.venv`.
  - Sets `PYTHONPATH` correctly for all `libs/python/*` packages.
  - Added clear debug output for python binary, repo dir, and PYTHONPATH.

Why
- Fixed `PydanticSchemaGenerationError` when returning `Image` objects from
  tool functions.
- Prevented `FastMCP.__init__()` errors by aligning with supported arguments.
- Removed duplicate module loading at startup that triggered RuntimeWarnings.
- Improved clarity of server startup logs for easier integration with Claude Desktop.

Outcome
The MCP server now starts cleanly, registers all tools, and stays connected
with Claude Desktop without schema errors or double-import issues.
2025-09-30 18:52:04 -04:00
Adam 65263112cd Stream MCP responses instead of buffering 2025-09-25 16:07:53 -04:00
James Murdza 45dca9082b Simplify README 2025-09-01 09:38:05 -04:00
James Murdza 5ee601e216 Move text from READMEs to Cua documentation 2025-09-01 09:38:05 -04:00
James Murdza 78d9c594e3 Remove broken link 2025-08-18 16:37:20 -04:00
James Murdza b62be1bde1 Use absolute paths to fix PyPi project pages 2025-08-18 16:37:20 -04:00
Dillon DuPont 96e4b7586a update mcp server to cua-agent==0.4.x 2025-08-05 10:51:21 -04:00
Dillon DuPont 394ebaac3c Completed python refactor migration 2025-07-01 16:04:06 -04:00
Dillon DuPont 40a06cac04 Updated tests; bumped mcp deps 2025-07-01 11:15:00 -04:00
Morgan Dean 0246d18347 Reorganize lib folder w/typescript and python roots, initialize core library. 2025-06-23 10:22:36 -07:00