Published at

Gemini cli と Serena の連携方法

Gemini cli と Serena の連携方法

Gemini cli の MCPサーバー設定から、Serena と接続する方法を紹介します。

Authors
  • avatar
    Name
    Messy Mangrove
    Twitter
    @Twitter
  • Software Engineer at individual
Table of Contents

はじめに

トークン数削減や、Claude Code のアウトプットの質を向上させると話題のSerena というツールを使ってみました。

Gemini の方はどうなんだろう?と思い、調べたところできることがわかったので、紹介します。

前提

  • Gemini cli がインストールされていること

  • Serena がインストールされていること

    • 自分は HomeBrew でインストールした

参考: Serena + Claude Code セットアップ&実践ガイド

Gemini cli の MCPサーバー設定

Gemini cli の MCPサーバー設定は、以下のコマンドで行える

cd {PROJECT_DIR}

mkdir -p .gemini/settings.json

echo '{
  "selectedAuthType": "gemini-api-key",
  "mcpServers": {
    "serena": {
      "displayName": "Serena Coding Agent",
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/oraios/serena",
        "serena-mcp-server",
        "--context", "ide-assistant",
        "--enable-web-dashboard", "false",
        "--project", "${PWD}"
      ]
    }
  }
}

うまくいったら gemini cli で /mcp コマンドを実行すると以下が出る

╭──────────╮
  > /mcp
╰──────────╯


 Configured MCP servers:
 
  🟢 serena - Ready (19 tools)
    Tools:
    - check_onboarding_performed
    - delete_memory
    - find_file
    - find_referencing_symbols
    - find_symbol
    - get_symbols_overview
    - insert_after_symbol
    - insert_before_symbol
    - list_dir
    - list_memories
    - onboarding
    - read_memory
    - replace_regex
    - replace_symbol_body
    - search_for_pattern
    - think_about_collected_information
    - think_about_task_adherence
    - think_about_whether_you_are_done
    - write_memory


  💡 Tips:
 Use /mcp desc to show server and tool descriptions
 Use /mcp schema to show tool parameter schemas
 Use /mcp nodesc to hide descriptions
 Use /mcp auth <server-name> to authenticate with OAuth-enabled servers
 Press Ctrl+T to toggle tool descriptions on/off

…が自分は出ずに、エラーも出なかったため調べていたら以下が原因だったので後述

うまくいった前提で gemini cli 上で @serena.activate_project を実行して設定を行う

その後に実装が進んだら、適宜 @serena.onboarding を実行して、メタデータを更新する

はまりどころ

  • ファイル名が settings.json でないと、Gemini cli の MCPサーバー設定が反映されない
    • NG例
      • setting.json
      • config.json

その他参考

Sharing is caring!