Gemini CLI 無料枠が大きくて魅力的ですね🤩
無料で使い倒せるので、もっと活用していきたいと思っていたところ、Google 公式から Gemini CLI を GitHub Actions で動かせる gemini-cli-action がリリースされているのを発見しました。
Google公式が出しているだけあって、認証周りも整備されていて、何よりMCPに対応していました。
ということは、、、
- クラウド(GitHub Actions)で動いて
- 自然言語で処理を記述できて
- n8n みたいなサービス連携ワークフローが
- 無料で構築・運用できてしまう
ということです。
とりあえず実例
実例で見ていただくのが分かりやすいと思います。
私はSlackでRSSを購読して情報収集しているのですが「流れてくる量が多くて、追いつかないなー」という課題を感じていました。
これを解決するため「Slackのチャンネルから昨日分のメッセージを拾って、一日一回要約してくれる」ワークフローを作ってみます。
name: Gemini Slack Summary
on:
workflow_dispatch: {}
schedule:
- cron: '0 23 * * *' # 毎日日本時間8時(UTC 23時)
jobs:
summarize-slack:
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
id-token: write
steps:
- name: Run Gemini Slack Summary
uses: google-gemini/gemini-cli-action@main
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
SLACK_TEAM_ID: ${{ secrets.SLACK_TEAM_ID }}
SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID }}
with:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
settings_json: |
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "$SLACK_BOT_TOKEN",
"SLACK_TEAM_ID": "$SLACK_TEAM_ID"
}
}
},
"coreTools": [
"mcp__slack__slack_get_channel_history"
]
}
prompt: |
あなたは Slack の要約アシスタントです。
1. ${{ secrets.SLACK_CHANNEL_ID }} から日本時間で昨日分のメッセージを取得してください。
2. 主な議論のトピックと頻繁に共有されたリンクを特定してください。
3. 見つかった内容を短い段落と人気記事の箇条書きでまとめてください。
4. リンクを含める場合は Slack のリンク形式 `<URL|リンクテキスト>` を使用してください。
5. 要約を Slack の `#general` チャンネルに投稿します
たったの1ステップだけでできてしまいます🤯
プロンプト設定
注目すべきは一番下の prompt
のところです。
日本語でやりたいことを書けば、あとはGeminiが適切なMCPサーバを選択して、よしなに処理してくれます。
仕様書がそのまま動いている感じですね、すごい時代です。
MCP設定
MCPの設定は settings_json
の中で設定します。
よくあるJSON形式のMCP設定を書いてあげればOKですが、MCPで使うツールは coreTools
の箇所で mcp__${server_name}__${tool_name}
のような形で明示してあげる必要があります。
また、ここの coreTools
に run_shell_command(curl)
などを追加すれば、シェルコマンドも使えるようになります。
認証設定
認証は GEMINI_API_KEY
です。
詳しい手順は公式参照ですが、 Google AI Studio からAPIキーを発行すれば無料枠の範囲内で使えます。
動作確認
実際に動かしてみると、
こんな感じで動いて、
投稿してくれました 😮
おわり
GitHub Actions や MCP について知らなくてもAIに投げたら、いい感じにワークフローを書いてくれるので、ほんと手間がかからないです。このワークフローもほとんどAIに書いてもらいました。
Gemini CLI の無料枠がいつまで続くかわからないですが、使えるうちは使い倒しておこうかなと思っています。