代理询问MCP服务器
AgentTask是一个小型的、仅支持stdio的MCP服务器,用于需要快速运行多个任务并在一次调用中获得结构化结果的AI代理。
它故意缩小:
- 两个工具:
execute和execute_batch - 仅限本地stdio传输
- 零第三方运行时依赖关系
- 显式依赖控制
depends_on - 紧凑、模型友好的JSON响应
存储库: https://github.com/S3bRR/agent-tasker-mcp
为什么存在
大多数代理编排层都比实际需要的要重。此项目是为常见情况设计的:
- 并行运行几个任务
- 需要时让一个任务等待另一个任务
- 保持MCP表面足够小,以便模型可靠使用
运行时不需要队列服务、持久层、后台工作系统,也不需要SDK依赖。
它支持什么
任务类型:
python_codehttp_requestdiscovery_searchweb_scrapeshell_commandfile_readfile_write
公共MCP工具:
executeexecute_batch
安装
要求:
- Python 3.10+
- 可以运行stdio服务器的本地MCP客户端
推荐: uvx
直接从GitHub运行:
uvx --from git+https://github.com/S3bRR/agent-tasker-mcp.git agent-tasker-mcp-server --workers 8一旦包在PyPI上上线,命令变为:
uvx agent-tasker-mcp-server --workers 8pipx
直接从GitHub安装:
pipx install git+https://github.com/S3bRR/agent-tasker-mcp.git一旦包在PyPI上上线,命令变为:
pipx install agent-tasker-mcp-server本地克隆
git clone https://github.com/S3bRR/agent-tasker-mcp.git
cd agent-tasker-mcp
./setup.shsetup.sh 创建本地 .venv,将此包安装到其中,并打印 绝对MCP配置代码段。如果 python3 -m venv 不可用,它回退 到 virtualenv 安装后。
MCP客户端配置
GitHub源代码
{
"command": "uvx",
"args": [
"--from",
"git+https://github.com/S3bRR/agent-tasker-mcp.git",
"agent-tasker-mcp-server",
"--workers",
"8"
]
}已安装的软件包
{
"command": "agent-tasker-mcp-server",
"args": ["--workers", "8"]
}本地结账
{
"command": "/absolute/path/to/agent-tasker-mcp/.venv/bin/agent-tasker-mcp-server",
"args": ["--workers", "8"]
}使用打印的精确绝对路径 ./setup.sh 用于本地结账。
用法
execute
立即运行一个任务。
{
"task_type": "python_code",
"code": "result = 6 * 7"
}execute_batch
同时运行多个任务。
{
"tasks": [
{
"name": "fetch_users",
"task_type": "http_request",
"url": "https://api.example.com/users"
},
{
"name": "calc",
"task_type": "python_code",
"code": "result = 6 * 7"
}
],
"output_mode": "compact"
}depends_on
如果一个任务必须等待另一个任务,请明确说明。
{
"tasks": [
{
"name": "write_file",
"task_type": "file_write",
"path": "/tmp/example.txt",
"content": "hello"
},
{
"name": "read_file",
"task_type": "file_read",
"path": "/tmp/example.txt",
"depends_on": ["write_file"]
}
]
}如果上游依赖关系失败,下游任务将被标记为失败且不运行。
输出形状
output_mode 支持:
compact(默认)full
响应的顺序与输入任务列表相匹配,这使得模型在没有额外协调逻辑的情况下更容易使用。
发布过程
发布是由标签驱动的。
- 更新
pyproject.toml和server.json到同一个版本 - 承诺并推动
main - 创建并推送匹配的标签,例如
v1.0.0 - GitHub Actions运行测试,构建包,通过可信发布发布到PyPI,然后发布
server.json到MCP注册表
发布工作流拒绝版本漂移:推送标签, pyproject.toml,以及 server.json 必须完全匹配。
限制
可选环境变量:
AGENT_TASKER_MAX_TASKS:每个任务的最大数量execute_batchAGENT_TASKER_MAX_PAYLOAD_BYTES:每个任务的最大有效载荷大小AGENT_TASKER_MAX_MEMORY_MB:软进程内存保护
安全须知
此服务器适用于受信任的环境。
python_code执行Python代码shell_command执行shell命令file_read和file_write在本地文件系统上操作
不要将此服务器直接暴露给不受信任的用户。
发展
创建本地环境:
./setup.sh
source .venv/bin/activate运行服务器:
agent-tasker-mcp-server --workers 4运行测试:
.venv/bin/python -m unittest discover -s tests包装
此回购包括 server.json 用于MCP注册表发布和GitHub Actions工作流,该工作流从版本标记发布PyPI包和MCP元数据。
许可证
麻省理工学院
