11# Agent Task Queue
22
3+ [ ![ CI] ( https://github.com/block/agent-task-queue/actions/workflows/ci.yml/badge.svg?branch=main )] ( https://github.com/block/agent-task-queue/actions/workflows/ci.yml )
4+ [ ![ Release] ( https://github.com/block/agent-task-queue/actions/workflows/release.yml/badge.svg?branch=main&event=release )] ( https://github.com/block/agent-task-queue/actions/workflows/release.yml )
5+
36** Local task queuing for AI agents.** Prevents multiple agents from running expensive operations concurrently and thrashing your machine.
47
58## The Problem
@@ -91,20 +94,12 @@ With the queue:
9194
9295## Installation
9396
94- ### Prerequisites
95-
96- - [ uv] ( https://github.com/astral-sh/uv ) package manager
97- - Python 3.10+
98-
99- ### Setup
100-
10197``` bash
102- git clone https://github.com/block/agent-task-queue.git
103- cd agent-task-queue
104- uv sync
105- uv run python -c " from task_queue import mcp; print('OK')"
98+ uvx agent-task-queue
10699```
107100
101+ That's it. [ uvx] ( https://docs.astral.sh/uv/guides/tools/ ) runs the package directly from PyPI—no clone, no install, no virtual environment.
102+
108103## Agent Configuration
109104
110105Agent Task Queue works with any AI coding tool that supports MCP. Add this config to your MCP client:
@@ -113,16 +108,13 @@ Agent Task Queue works with any AI coding tool that supports MCP. Add this confi
113108{
114109 "mcpServers" : {
115110 "agent-task-queue" : {
116- "command" : " uv " ,
117- "args" : [" run " , " --directory " , " /path/to/ agent-task-queue" , " python " , " task_queue.py " ]
111+ "command" : " uvx " ,
112+ "args" : [" agent-task-queue" ]
118113 }
119114 }
120115}
121116```
122117
123- > [ !NOTE]
124- > Replace ` /path/to/agent-task-queue ` with the absolute path where you cloned this repository.
125-
126118### MCP Client Configuration
127119
128120<details >
@@ -131,7 +123,7 @@ Agent Task Queue works with any AI coding tool that supports MCP. Add this confi
131123Install via CLI:
132124
133125``` bash
134- amp mcp add agent-task-queue -- uv run --directory /path/to/ agent-task-queue python task_queue.py
126+ amp mcp add agent-task-queue -- uvx agent-task-queue
135127```
136128
137129Or add to ` .amp/settings.json ` (workspace) or global settings. See [ Amp Manual] ( https://ampcode.com/manual ) for details.
@@ -144,7 +136,7 @@ Or add to `.amp/settings.json` (workspace) or global settings. See [Amp Manual](
144136Install via CLI (<a href =" https://docs.anthropic.com/en/docs/claude-code/mcp " >guide</a >):
145137
146138``` bash
147- claude mcp add agent-task-queue -- uv run --directory /path/to/ agent-task-queue python task_queue.py
139+ claude mcp add agent-task-queue -- uvx agent-task-queue
148140```
149141
150142</details >
@@ -156,14 +148,14 @@ Config file locations:
156148- ** macOS** : ` ~/Library/Application Support/Claude/claude_desktop_config.json `
157149- ** Linux** : ` ~/.config/Claude/claude_desktop_config.json `
158150
159- Use the standard config from above.
151+ Use the standard config above.
160152
161153</details >
162154
163155<details >
164156<summary >Cline</summary >
165157
166- Open the MCP Servers panel > Configure > "Configure MCP Servers" to edit ` cline_mcp_settings.json ` . Use the standard config from above.
158+ Open the MCP Servers panel > Configure > "Configure MCP Servers" to edit ` cline_mcp_settings.json ` . Use the standard config above.
167159
168160See [ Cline MCP docs] ( https://docs.cline.bot/mcp/configuring-mcp-servers ) for details.
169161
@@ -183,8 +175,8 @@ Config file locations:
183175 "servers" : {
184176 "agent-task-queue" : {
185177 "type" : " stdio" ,
186- "command" : " uv " ,
187- "args" : [" run " , " --directory " , " /path/to/ agent-task-queue" , " python " , " task_queue.py " ]
178+ "command" : " uvx " ,
179+ "args" : [" agent-task-queue" ]
188180 }
189181 }
190182}
@@ -197,7 +189,7 @@ See [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-serve
197189<details >
198190<summary >Cursor</summary >
199191
200- Go to ` Cursor Settings ` > ` MCP ` > ` + Add new global MCP server ` . Use the standard config from above.
192+ Go to ` Cursor Settings ` > ` MCP ` > ` + Add new global MCP server ` . Use the standard config above.
201193
202194Config file locations:
203195- ** Global** : ` ~/.cursor/mcp.json `
@@ -210,7 +202,7 @@ See [Cursor MCP docs](https://docs.cursor.com/context/model-context-protocol) fo
210202<details >
211203<summary >Firebender</summary >
212204
213- Add to ` firebender.json ` in project root, or use Plugin Settings > MCP section. Use the standard config from above.
205+ Add to ` firebender.json ` in project root, or use Plugin Settings > MCP section. Use the standard config above.
214206
215207See [ Firebender MCP docs] ( https://docs.firebender.com/context/mcp ) for details.
216208
@@ -221,7 +213,7 @@ See [Firebender MCP docs](https://docs.firebender.com/context/mcp) for details.
221213
222214Config file location: ` ~/.codeium/windsurf/mcp_config.json `
223215
224- Or use Windsurf Settings > Cascade > Manage MCPs. Use the standard config from above.
216+ Or use Windsurf Settings > Cascade > Manage MCPs. Use the standard config above.
225217
226218See [ Windsurf MCP docs] ( https://docs.windsurf.com/windsurf/cascade/mcp ) for details.
227219
@@ -358,10 +350,9 @@ Pass options via the `args` property in your MCP config:
358350{
359351 "mcpServers" : {
360352 "agent-task-queue" : {
361- "command" : " uv " ,
353+ "command" : " uvx " ,
362354 "args" : [
363- " run" , " --directory" , " /path/to/agent-task-queue" ,
364- " python" , " task_queue.py" ,
355+ " agent-task-queue" ,
365356 " --max-output-files=100" ,
366357 " --lock-timeout=60"
367358 ]
@@ -370,7 +361,7 @@ Pass options via the `args` property in your MCP config:
370361}
371362```
372363
373- You can also run ` uv run python task_queue.py --help` to see all options.
364+ Run ` uvx agent-task-queue --help` to see all options.
374365
375366## Architecture
376367
@@ -486,16 +477,19 @@ tail -f /tmp/agent-task-queue/agent-task-queue-logs.json # Follow live
486477
487478### Server not connecting
488479
489- 1 . Verify the path to ` agent-task-queue ` is absolute
490- 2 . Ensure ` uv ` is in your PATH
491- 3 . Test manually: ` uv run --directory /path/to/agent-task-queue python task_queue.py `
480+ 1 . Ensure ` uvx ` is in your PATH (install [ uv] ( https://github.com/astral-sh/uv ) if needed)
481+ 2 . Test manually: ` uvx agent-task-queue `
492482
493483## Development
494484
485+ For contributors:
486+
495487``` bash
488+ git clone https://github.com/block/agent-task-queue.git
489+ cd agent-task-queue
496490uv sync # Install dependencies
497- uv run pytest -v # Run tests (15 tests)
498- uv run python task_queue.py # Run server directly
491+ uv run pytest -v # Run tests
492+ uv run python task_queue.py # Run server locally
499493```
500494
501495## Platform Support
0 commit comments