Token导航 LogoToken导航TokenDH.com
Strands CLI Agent logo
开发工具stdio官方级别未说明来源级核验

Strands CLI Agent

MCP Server

一个支持MCP任务和通知的命令行代理工具,用于自动化任务执行和结果推送。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
命令行工具开发工具PythonClaude任务自动化Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

agent-of-mkmeral

提供方

agent-of-mkmeral

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

Strands CLI代理

基于CLI的代理,具有 MCP任务和通知 支持。当MCP服务器完成后台任务时,代理会自动用结果重新触发——推送,而不是拉取。

为什么存在

大多数MCP客户端(Kiro、Claude Desktop)还不支持MCP任务。此CLI代理演示了 客户端 MCP任务:

  1. 任务感知执行 --当您调用返回MCP任务的工具时,代理会自动跟踪它
  2. 基于推送的完成 --当任务完成时,代理会根据结果重新触发。用户不进行投票。
  3. 通知 --CLI中显示的实时服务器日志和状态更新
  4. 重新触发循环 --任务完成→ 已获取结果→ 反馈给代理→ 代理处理和响应

运作原理

User: "Research all open MCP issues"
  │
  ▼
Agent calls send_message("researcher", "find all open MCP issues")
  │
  ▼
MCP Server returns: Task { taskId: "task-123", status: "working" }
  │
  ▼
Agent: "I've dispatched a researcher agent. I'll let you know when it's done."
  │
  ▼
... user can keep chatting or wait ...
  │
  ▼
[Background] TaskManager detects task completed via polling/notification
  │
  ▼
Agent is re-invoked: "[Task Completed] researcher found 12 issues..."
  │
  ▼
Agent: "The researcher found 12 open MCP issues. Here's the summary: ..."

快速开始

# Install
pip install -e .

# Configure MCP servers (same format as Kiro/Claude Desktop)
cp mcp.json.example ~/.strands-cli/mcp.json
# Edit with your MCP server configs

# Run
strands-cli

MCP配置

使用与Kiro/Claude Desktop相同的格式。放置在以下任何位置:

  • ~/.strands-cli/mcp.json
  • ./mcp.json (当前目录)
  • ~/.kiro/settings/mcp.json (Kiro配置)
  • STRANDS_MCP_CONFIG env var(路径)
  • MCP_SERVERS env-var(内联JSON)

环境变量传递

使用 ${VAR_NAME} 配置值中引用环境变量的语法。这样,您就可以在不暴露令牌的情况下共享配置文件:

{
  "mcpServers": {
    "containerized-strands-agents": {
      "command": "containerized-strands-agents-server",
      "env": {
        "CONTAINERIZED_AGENTS_GITHUB_TOKEN": "${STRANDS_CODER_TOKEN}",
        "PERPLEXITY_API_KEY": "${PERPLEXITY_API_KEY}"
      }
    },
    "github": {
      "command": "uvx",
      "args": ["mcp-server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "remote-api": {
      "url": "https://${API_HOST}/mcp",
      "headers": {
        "Authorization": "Bearer ${API_TOKEN}"
      }
    }
  }
}

Env-var解析在以下情况下工作:

  • env 价值观-- "${MY_TOKEN}" → 实际代币价值
  • args["--token", "${MY_TOKEN}"]
  • command"${BINARY_PATH}"
  • url"https://${HOST}/mcp"
  • headers"Bearer ${TOKEN}"

如果未设置env变量 ${VAR_NAME} 参考保持原样,并记录警告。

用法

交互模式

strands-cli

命令:

  • /tasks --显示所有跟踪的任务及其状态
  • /clear --清除已完成/失败的任务
  • ! --运行shell命令
  • exit --退出

一次性模式

strands-cli "Research the top MCP servers and summarize"

在单次模式下,如果创建了任务,CLI会在退出前等待任务完成。

选项

strands-cli --mcp-config ./my-mcp.json     # Custom MCP config
strands-cli --model-provider bedrock         # Model provider
strands-cli --model-id us.anthropic.claude-sonnet-4-5-20250929-v1:0  # Model
strands-cli -v                                # Verbose logging
strands-cli --no-tasks                        # Disable task tracking

建筑

┌──────────────────────────────────────────────┐
│                CLI (cli.py)                  │
│  ┌─────────┐  ┌──────────┐  ┌───────────┐  │
│  │  Agent   │  │ Callback │  │  Welcome   │  │
│  │ (Strands)│  │ Handler  │  │  /Tasks UI │  │
│  └────┬─────┘  └──────────┘  └───────────┘  │
│       │                                      │
│  ┌────┼────────────────────────────────────┐ │
│  │         MCP Clients (mcp_loader.py)     │ │
│  │  ┌──────────┐  ┌──────────┐             │ │
│  │  │ Server A │  │ Server B │  ...        │ │
│  │  │(tasks ✓) │  │(tasks ✓) │             │ │
│  │  └────┬─────┘  └────┬─────┘             │ │
│  └───────┼──────────────┼──────────────────┘ │
│          │              │                    │
│  ┌───────┼──────────────┼──────────────────┐ │
│  │       TaskManager (task_manager.py)     │ │
│  │                                         │ │
│  │  • Tracks tasks from all servers        │ │
│  │  • Polls via MCP tasks/get protocol     │ │
│  │  • Receives notifications/tasks/status  │ │
│  │  • On completion → re-triggers agent    │ │
│  │  • Persists to ~/.strands-cli/tasks.json│ │
│  └─────────────────────────────────────────┘ │
│                                              │
│  ┌─────────────────────────────────────────┐ │
│  │    NotificationHandler                  │ │
│  │  • notifications/tasks/status → push    │ │
│  │  • notifications/message → CLI logs     │ │
│  │  • notifications/progress → progress bar│ │
│  └─────────────────────────────────────────┘ │
└──────────────────────────────────────────────┘

使用的MCP功能(客户端)

MCP功能我们如何使用它
工具在连接的MCP服务器上调用工具
任务通过以下方式跟踪长时间运行的工具调用 tasks/get, tasks/result, tasks/cancel
任务通知接收 notifications/tasks/status 用于基于推送的更新
日志记录通知在CLI中显示实时服务器日志
进度通知显示长期操作的进度指示器
任务增强执行使用 call_tool_as_task 对于支持它的服务器

与集装箱化线束试剂配对

此CLI旨在与 集装箱化线束代理 作为MCP服务器:

{
  "mcpServers": {
    "agents": {
      "command": "containerized-strands-agents-server",
      "env": {
        "CONTAINERIZED_AGENTS_GITHUB_TOKEN": "${STRANDS_CODER_TOKEN}",
        "PERPLEXITY_API_KEY": "${PERPLEXITY_API_KEY}"
      }
    }
  }
}

然后:

~ send a message to researcher to find all open MCP issues
📋 Task dispatched → agents (task: task-abc123...)
I've dispatched a researcher agent to find open MCP issues. I'll let you know when results come back.

... time passes ...

✅ Task completed ← agents (task: task-abc123...)
🔔 Processing completed task result...
The researcher found 12 open issues related to MCP. Here's the breakdown:
1. ...

环境变量

变量描述默认值
STRANDS_MCP_CONFIGMCP配置文件的路径~/.strands-cli/mcp.json
MCP_SERVERS内联MCP配置JSON-
STRANDS_SYSTEM_PROMPT自定义系统提示-
STRANDS_MODEL_ID型号标识符us.anthropic.claude-sonnet-4-5-20250929-v1:0
STRANDS_CLI_NOTIFICATIONS启用桌面通知true

许可证

阿帕奇-2.0

目录标签

目录标签

命令行工具开发工具PythonClaude任务自动化本地部署MCP任务实时通知

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP