NEXTSCAPE blog

株式会社ネクストスケープの社員による会社公式ブログです。ネスケラボでは、社員が日頃どのようなことに興味をもっているのか、仕事を通してどのような面白いことに取り組んでいるのかなど、会社や技術に関する情報をマイペースに紹介しています。

MENU

MCPサーバー「Serena」を触ってみた

はじめに

株式会社ネクストスケープ エンタープライズサービス部の小野塚です

ChatGPT、Claude のDesktop版、Claude Code、Cursor、そしてBigQuery in Gemini等、色々と触ってきまして、BacklogのMCPサーバーも活用しています。
まあ、主要なところは一通り触れただろうかというところでふと見渡してみたところ、SerenaというMCPサーバーが良いという記事を以前もみかけていたのですが、スルーしていたことに気づきました。

github.com


そこでちょっと試してみたいと思います。
MCPサーバーなので当然ながらClaude Code、Cursor等で利用可能です。
私がざっとX等で見た限りではClaude Codeとの組み合わせが多かったようなのですが、私は今のところCursorが主に使っているツールとなっておりますので、Cursorで試してみたいと思います。

今回の作業を始めるにあたりまして、私はCursorのProプランに加入していることも事前にお知らせしておきます。

インストール・起動

まずはインストール。
最初にPythonパッケージマネージャーuvをインストールするとのこと。なのでPowerShellから
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
と実行。
次にCursorのmcp.jsonファイルに設定を追加します。今回はグローバル設定で、Cursor Settings > Tools & Integrations > "New MCP Server" をクリックします(既に下のスクリーンショットではSerenaが設定されてますが、ご容赦を。。うまく設定できていればこうなります)。


以下の設定を追加します。

{
  "mcpServers": {
    "serena": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/oraios/serena",
        "serena-mcp-server",
        "--context",
        "ide-assistant"
      ]
    }
  }
}

Cursorを再起動して、Serenaが正しく動作していれば以下のWebダッシュボードでログ確認等が可能です。
http://localhost:24282/dashboard/index.html

(08/25追記)

社内のメンバーにもSerenaを試して方がいまして、その方は上の流れだけではうまくSerenaが動かず、以下の環境変数が必要だったようです。

$env:Path = "C:\Users\{username}\.local\bin;$env:Path"
私の場合、Backlog等他のMCPを既に導入していたためにすんなり設定できた可能性があります。ご容赦&ご注意ください。

試してみる

で、早速どんなに違うのだろうということで前回、前々回の記事におけるVisual Studioの.NET ウェブアプリのサンプルを元にプロジェクトの解析やTOPページの改修を試したのですが、規模が小さすぎるのかSerenaの有り無しでほぼ反応が変わらず。。

blog.nextscape.net

様々なサイト等を見るとSerena大規模プロジェクトでより効果を。。ということなのでどうしようかなと思っていました。
そこで思い出したのが、Serenaは最初にプロジェクトのスキャンを行うことでプロジェクトの構造を解析し、以下のようなマークダウンファイルがいくつか作られ、それをベースにコード生成等を手伝ってくれるという内容でした。

  • プロジェクト全体の構造図
  • 主要なファイルの関係性
  • コードパターンの分析
  • 依存関係のマップ

これらの初期化処理、準備処理等を実行した上で改めて改修をお願いすることで結果はまた違ってくるのではと思い、早速試すことに。
最初に上の機能を知ったのはClaude Codeを使っている方からの情報で、Claude Code上で「/mcp__serena__initial_instructions」というコマンドを叩くことで行われるとのこと。
となると、Cursorではどうするのかなと思いつつ、まずはそれすらも聞いてしまえばいいじゃないかということでCursorにお願いしてみます。


実際に試した時には上のcheck_onboarding_performedで処理が止まってしまったので、一旦コマンドの実行を強制終了してオンボーディングとは?から聞いてみます。


私が上で書いた初期化・準備処理がオンボーディングということですね。
そして、何故コマンドが止まってしまったかと言いますと、今回作ったWebアプリが実行中だからということも(聞いていないにも関わらず)教えてくれまして、そこであらためてWebアプリの停止と、オンボーディングの続行をお願いしてみます。


上で挙げたようにSerenaのコマンドを知らなくてもどんどん進めてくれます。
その結果、プロジェクトのディレクトリ直下に.serenaフォルダが作られ、その配下に上で書いた各種情報がまとめられたMarkdownファイルが作られたことが確認できます。


すばらしいですねー。。
ちなみに作ってくれたmdファイルは以下の5つ。
1つ目はコードスタイルと規約。AIが修正する場合があるということで必要になるわけですね。


次に開発ガイドライン。


そしてプロジェクト概要。


次に開発用コマンド。私は基本Cursor利用時はビルドも全てCursorにお願いしているのですが、(私が利用した場合の)Cursorはちょいちょいそのプロジェクトに応じたビルド方法であったり、Visual Studioのパスを忘れてしまうようなので地味に便利かなと思いました。


タスク完了時のチェックリスト。これもいいですね。
品質をこれである程度担保できます。


というような形で単純なWebアプリにも関わらずかなり細かく情報を記録してくれています。

これらはこちらで書き換えることもできますし、ある程度変更が加わったら再度オンボーディングを行うことで常に最新の状態にしておくことができます(大幅な変更が入ると自動的に更新されるという記述もあったのですが、そこはまだ確認できていません)。
今までは私の方で意図的にこういったプロジェクト情報をMarkdownファイルで出力してもらっておいて、新しいチャットで会話する場合に都度確認してもらっていたのですが、少なくてもそういった手間が無くなり、更に私が自分でお願いするよりももっとしっかりした資料を作ってくれます。個人的には既にこの時点で高評価でした。
そして(今更書くなという感じですが)Serenaを使うことでプロジェクト全体の文脈を完全に理解(セマンティック検索)し、コードを「意味」で理解してくれ、検索や編集がより効率化されるとのこと。

あらためて解析

ということで、大して変わらないだろうという悲観的な思いも持ちつつ、今回のサンプルプロジェクトの解析を一応試してみます。
以下はSerenaでスキャンする前。割愛していますが以下の画面以外にもう1ページ程度情報が出力されています。Serenaの導入前はこれでもまあなかなか詳しく書いてくれてるね、という印象でした。


次にスキャン後。2ページ載せてますが、もうプラス3ページ程度の情報が出力されまして、明らかに解像度が上がっています。これにはちょっと驚きました。


まとめ

ということで、まだ本格的な利用には至っていないものの、かなり期待できる内容になりました。
他のMCPサーバー同様、簡単に利用でき、既存のAIツールを更に賢く便利にしてくれるSerena。
まだ大規模プロジェクトでは使っていないものの、かなり期待できそうです。ただ、AIツールと同様、扱う内容等、セキュリティ周りには十分にご注意ください。

当社ネクストスケープはこのように生成AIを始めとした新しい技術・知識を日々取り入れており、Webサイト、スマホアプリ、Hololensアプリの開発をはじめ、CMSを利用したサイトの新規構築やリニューアルなど、お客様のニーズに幅広く対応いたします。お困りのことがございましたら、いつでもお気軽にお問い合わせください。

nextscape.net

(以下当社お問合せフォーム)

Microsoft Forms