Commit Graph

271 Commits

Author SHA1 Message Date
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
Dillon DuPont
28f097f987 Merge branch 'main' of https://github.com/trycua/cua 2025-09-19 19:23:16 -04:00
Dillon DuPont
1346feb125 Add postponed annotations to internvl.py 2025-09-19 19:23:13 -04:00
ddupont
3ac566f53a Merge pull request #416 from trycua/feat/auth-ttl
[Agent] Add CUA_AUTH_TTL_SECONDS env, change default from 5s to 60s
2025-09-19 19:22:03 -04:00
Dillon DuPont
26ff9e1105 Add CUA_AUTH_TTL_SECONDS env, change default from 5s to 60s 2025-09-18 12:40:59 -04:00
Dillon DuPont
821bd03e48 remove extra prints 2025-09-18 11:27:50 -04:00
Dillon DuPont
03d7806549 Fixed invalid trajectory names on ollama 2025-09-18 10:52:45 -04:00
Dillon DuPont
6ddddf8f88 fix internVL inference 2025-09-16 12:56:07 -04:00
Dillon DuPont
9147e8eeaf Added "cua-agent[internvl-hf]" dep 2025-09-16 12:02:07 -04:00
Dillon DuPont
c5bbd4611a add qwen2_5_vl.py 2025-09-15 16:29:26 -04:00
Dillon DuPont
7a7de5d50f add holo models 2025-09-15 16:10:54 -04:00
Dillon DuPont
ca564b2436 Merge branch 'main' into models/opencua 2025-09-15 15:11:15 -04:00
James Murdza
b4b45e5b8b Upgrade HUD SDK to 0.4.26 2025-09-14 00:34:51 -04:00
James Murdza
8096fbfd34 Upgrade HUD SDK to 0.4.25 2025-09-13 22:43:12 -04:00
Dillon DuPont
c58ff55969 Added agent tool filtering 2025-09-12 20:12:29 -04:00
Dillon DuPont
fc0f10aaf9 Ignore extra computers when running evals 2025-09-12 14:50:18 -04:00
Dillon DuPont
ae22572658 Merge branch 'main' of https://github.com/trycua/cua 2025-09-12 13:58:22 -04:00
Dillon DuPont
fad293957d Pin HUD version 2025-09-12 13:57:28 -04:00
Dillon DuPont
cf95646503 Merge branch 'main' into models/opencua 2025-09-12 13:30:21 -04:00
Dillon DuPont
58807378dd Added internVL 2025-09-12 13:30:09 -04:00
Dillon DuPont
faf531825e Fixed error during response call 2025-09-12 12:32:03 -04:00
Dillon DuPont
b3040306b8 Fixing bugs 2025-09-12 12:06:36 -04:00
Dillon DuPont
b69943121d Fixed KeyError 2025-09-12 11:29:40 -04:00
Dillon DuPont
f795660f75 Upgraded HUD impl. to support custom tools 2025-09-12 11:14:03 -04:00
Dillon DuPont
2f28c3a2ce Added missing file 2025-09-10 14:57:44 -04:00
Dillon DuPont
17d6709629 added simple guide for customizing computeragent 2025-09-09 10:55:57 -04:00
ddupont
da9af2e0fd Merge pull request #390 from onel/reference-docs-20250901_145129
Reference documentation batch
2025-09-05 11:17:35 -04:00
Dillon DuPont
2dfaf0047d Fix multimodal user inputs in the anthropic loop 2025-09-04 16:15:33 -04:00
Dillon DuPont
8c49ce317a Fixed X/Y scrolling on windows 2025-09-04 16:09:47 -04:00
Dillon DuPont
957fef788d Fix X/Y scrolling on linux 2025-09-04 09:52:59 -04:00
Dillon DuPont
213208042f Add "features" to /status GET 2025-09-03 09:40:49 -04:00
Dillon DuPont
dbd2307a03 Disabled debug=True flag 2025-09-02 16:19:23 -04:00
Dillon DuPont
77f1a2254f Merge branch 'main' into feat/agent-proxy 2025-09-02 16:07:19 -04:00
Dillon DuPont
82bb9eacbe Removed unused folder 2025-09-02 16:03:51 -04:00
Dillon DuPont
cb15cedc0c Removed cua-agent from computer-server dependencies 2025-09-02 15:44:54 -04:00
Andrei Onel
8b2dd7bb7b Added reference documentation for: libs/python/pylume/pylume/models.py 2025-09-01 22:51:59 +03:00
Andrei Onel
890fcfdeb3 Added reference documentation for: libs/python/computer-server/computer_server/handlers/linux.py 2025-09-01 22:51:56 +03:00
Andrei Onel
1b4c04c553 Added reference documentation for: libs/python/computer-server/computer_server/handlers/generic.py 2025-09-01 22:51:55 +03:00
Andrei Onel
ba2063cc22 Added reference documentation for: libs/python/computer-server/computer_server/diorama/diorama.py 2025-09-01 22:51:53 +03: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
29d52c04b6 Add links to Cua documentation 2025-09-01 09:34:17 -04:00
James Murdza
78a68ae40a Move configuration section from README to Cua documentation 2025-09-01 09:34:17 -04:00
James Murdza
2c2fb4c274 Add links to Cua documentation 2025-09-01 09:33:12 -04:00
James Murdza
b357a9efd3 Move Computer UI instructions from README to Cua documentation 2025-09-01 09:33:12 -04:00
James Murdza
e17f6106c8 Move text from README to Cua documentation 2025-09-01 09:30:06 -04:00
ddupont
9515a650ad Merge pull request #388 from trycua/fix/licensing
Updated license of cua-som and cua-agent[omni]
2025-08-29 12:55:08 -04:00