最近、MCPが増えすぎてKiro CLIの起動が重くなってきたのと、用途ごとにペルソナを使い分けたくなってきたので、Kiro CLI用エージェントを自作してみた。
やりたいこと
軽量なデフォルトエージェントと、調べ物やちょっとした資料作成を手伝ってくれるProServe-Copilotエージェントを作り、使い分ける。
デフォルトエージェントには以下のMCPとPowerだけを使わせる。
※似たようなPowerも作ってIDEではそちらを使っているのだが、Kiro CLIはまだPowerに対応してないのでエージェントで対策。
| 名称 | タイプ | 内容 |
|---|---|---|
| awslabs.document-loader-mcp-server | MCP | ドキュメントをパースしてくれるMCP |
| power-aws-infrastructure-as-code-awslabs.aws-iac-mcp-server | Power | IaC全般カバーしてくれるPower |
対して、新規に作るProServe-Copilotエージェントには、仕事で役立ちそうなMCPを渡す(これまでは、デフォルトエージェントに全部食わせて毎回立ち上げ時にロードしてた)。
| 名称 | タイプ | 内容 |
|---|---|---|
| aws-knowledge-mcp-server | MCP | AWS公式ドキュメントやブログなどを包括的に検索してくれるMCP |
| bedrock-agentcore-mcp-server | MCP | AgentCoreに特化した文書MCP |
| aws-pricing-mcp-server | MCP | AWS利用料金を調べたり試算をしてくれるMCP |
| aws-diagram-mcp-server | MCP | AWSダイアグラムを書いてくれるMCP |
| syntheticdata-mcp-server | MCP | サンプルデータを生成してくれるMCP |
作成方法
Kiro CLIを立ち上げて、「Professional Serviceコンサルタントの日常業務に役立ちそうなエージェントを作って」などと指示するだけ。あとはどういう業務か、どういうMCPが必要か、などを対話的に答えていけば、いい感じに作ってくれる。
設定内容
設定ファイルの生成場所は以下。
| 内容 | ロケーション |
|---|---|
| デフォルトエージェントのMCP設定 | ~/.kiro/settings/mcp.json |
| 自作エージェントのエージェント設定(MCP設定も含む) | ~/.kiro/agents/proserve-copilot.json |
実際に作成されたJSONファイルは以下。なお、mcp.jsonの方は、重複しているMCPのエントリを削除させて作成。
{
"mcpServers": {
"awslabs.document-loader-mcp-server": {
"command": "uvx",
"args": [
"awslabs.document-loader-mcp-server@latest"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": []
}
"powers": {
"mcpServers": {
"power-aws-infrastructure-as-code-awslabs.aws-iac-mcp-server": {
"command": "uvx",
"args": [
"awslabs.aws-iac-mcp-server@latest"
],
"env": {
"AWS_PROFILE": "default",
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false
},
(...後略...)
{
"name": "proserve-copilot",
"description": "AWS ProServe向け支援エージェント。",
"prompt": "# 役割\nあなたは「proserve-copilot」エージェントです。AWS Professional Servicesのコンサルタントを支援するコパイロットとして、技術設計やドキュメント作成の支援を行います。\n\n# 主な支援領域\n- (...中略...)回答フォーマット\n- 📝 マークダウン形式で構造化\n- 🎨 絵文字を活用して視覚的にわかりやすく\n- 🔗 参照元リンクを明記\n- 🇯🇵 日本語でフレンドリーに回答",
"mcpServers": {
"aws-knowledge-mcp-server": {
"url": "https://knowledge-mcp.global.api.aws",
"type": "http",
"autoApprove": ["aws___search_documentation"]
},
"bedrock-agentcore-mcp-server": {
"command": "uvx",
"args": ["awslabs.amazon-bedrock-agentcore-mcp-server@latest"],
"env": {"FASTMCP_LOG_LEVEL": "ERROR"}
},
"aws-pricing-mcp-server": {
"command": "uvx",
"args": ["awslabs.aws-pricing-mcp-server@latest"],
"env": {"FASTMCP_LOG_LEVEL": "ERROR", "AWS_PROFILE": "default", "AWS_REGION": "us-east-1"}
},
"aws-diagram-mcp-server": {
"command": "uvx",
"args": ["awslabs.aws-diagram-mcp-server@latest"],
"env": {"FASTMCP_LOG_LEVEL": "ERROR"}
},
"syntheticdata-mcp-server": {
"command": "uvx",
"args": ["awslabs.syntheticdata-mcp-server@latest"],
"env": {"FASTMCP_LOG_LEVEL": "ERROR"}
}
},
"tools": [
"@aws-knowledge-mcp-server",
"@bedrock-agentcore-mcp-server",
"@aws-pricing-mcp-server",
"@aws-diagram-mcp-server",
"@syntheticdata-mcp-server",
"fs_read",
"fs_write",
"execute_bash",
"web_search",
"web_fetch"
],
"resources": [
"file://AmazonQ.md"
]
}
使い方
シンプルに立ち上げるだけなら以下。
% kiro-cli chat --agent proserve-copilot
自分はフォルダを汚されたくないのと、長いコマンド打つのが面倒だったのでaliasにした。
alias kpro="cd ~/Documents/kiro/proserve-copilot;kiro-cli chat --trust-all-tools --model claude-opus-4.5 --agent proserve-copilot"
% kpro
ちなみにデフォルトエージェントの起動はこちら。
alias kcli="cd ~/Documents/kiro/common;kiro-cli chat --trust-all-tools --model claude-opus-4.5"
% kcli
注意点
最初、MCPは読み込まれるのに、(デフォルト以外の)Toolが一切出てこないという事象が発生した。
toolsセクションにToolが追加されていなかったのが原因。なお、@MCP名とすることで、そのMCP Serverに含まれる全Toolを指定できる。
"useLegacyMcpJson": true,という設定を入れることで、~/.kiro/settings/mcp.jsonを継承させることもできるようだが、デフォルトで読み込ませるMCPを減らしたいのが動機の一つなので、こちらは却下。
所感
ひとまず、起動時即ロードされるMCPを絞ったことで、Kiro CLIの起動は爆速になった。
Kiro IDEを含む普段使いではデフォルトエージェントを使い、調べ物や資料作成など特定の仕事にはProServe-Copilotエージェントを使う、という使い分けもできるようになり、一段と便利になった感がある。
コーディングではなく、より汎用的な業務にAIエージェントを使うなら、Kiro CLIとエージェントの組み合わせは結構便利である。SlackやOutlookなど業務アプリとのコネクターの便利さではAmazon Quick Suiteに一歩譲るが、こちらはむしろ定型的な業務を任せるのに向いている印象。
インタラクティブにあれこれ指示したり壁打ちしたりするのには、MCPとペルソナを絞ったエージェントをいくつか用意して、ターミナルであーだこーだやりとりしながら進めるやり方が、少なくとも自分には向いてる気がしている(コーディングも行う業務の場合は、IDEでも同じやり方ができる...iTerm2が使えないけど)。
今回はsteeringファイルは作ってないが、その辺も少し拘って作り込めば、もっと便利かつ安全になるだろう。
おわりに
Kiro CLIに早くPowerが対応しないかなぁ。