GitHub CopilotでMCPが使えるようになったり|Productivity Weekly(2025-04-09)
こんにちは。サイボウズ株式会社 生産性向上チームの @korosuke613 です。
僕たち生産性向上チームは毎週水曜日に Productivity Weekly という「1 週間の間に発見された開発者の生産性向上に関するネタを共有する会」を社内で開催しています。
本記事はその時のネタをまとめたものです。
2023-01-25 号から、基本的に隔週で連載することとしました。たまに単独でも投稿するかもしれません。
今週は 2025-04-09 単独号です。
今回が第 185 回目です。過去の記事はこちら。
news 📺
GitHub Copilotでバイブコーディング:エージェントモードとMCPサポートがVS Codeユーザーに提供開始 - GitHubブログ
GitHub が VSCode 向けの GitHub Copilot のエージェントモードを一般提供開始しました。
エージェントモードは単に質問に答えるだけでなく、ユーザーのプロンプトに基づいて必要なアクションを取ることができる機能です。例えば「昨日私に割り当てられた Issue の対応 PR を実装し、プッシュまでしてください」といったプロンプトに対して、エージェントは必要な情報を取得し、実際にファイルを更新するところまで行うことができます。
また今回のリリースでは Model Context Protocol (MCP) のサポートも含まれています。MCP を使うことで、エージェントモードは VSCode や GitHub だけでなく、外部のツールやサービスのコンテキストにもアクセスできるようになります。
GitHub Copilot コードレビューエージェントの一般提供も開始されました。このエージェントはプレビュー開始からわずか 1 か月余りで、GitHub 上で 100 万人以上の開発者に利用されているとのこと。すごい。
と、ここまでの文章は GitHub Copilot のエージェントモードに書いてもらいました。最初の一文を踏み出す際に楽ですね。さすがにそのままだとビミョい部分もあったので手直ししてます。
それっぽいね
AI の可能性がどんどん広がっていますね。MCP サーバは便利な反面他のツールと同様、信頼できるもののみを使うなどしましょう。VSCode ユーザーの方は是非試してみてください。
本項の執筆者: @korosuke613
github-mcp-server is now available in public preview - GitHub Changelog
GitHub 公式の MCP サーバ、github-mcp-server が公開されました(public preview)。
もともと Anthropic が作っていた TypeScript 製のものを Go で書き直し、さらに追加機能を加えたもののようです。
追加されたと思われる機能。
- 使える機能を制限する
--toolsets
フラグ - Code scanning の参照をサポート
- ユーザー情報の参照をサポート
とにかく「GitHub 公式」というのが嬉しいですね。ファーストパーティ製なので使いやすいです。
僕も使っていますが、与える権限が難しいですね。fine-grained token を使っていますが、一気に全部与えるのは怖いので、スコープ(READ 系のみ)、リポジトリ両方を必要に応じて追加しています。
プルリクエストの URL を与えて手元でレビューさせるのが便利ですね。Copilot on GitHub.com によるレビュー機能も最近生えましたが、対応言語が限られているのもあって、手元でレビューさせてます。
ファーストパーティ製 MCP サーバ、増えていってほしいですね。
本項の執筆者: @korosuke613
AWS の MCP が公開されたので AWS Documentation MCP Server を使ってみたメモ✍ - 継続は力なり
AWS が MCP サーバーをいくつか公開しました。
- Core MCP Server
- AWS Documentation MCP Server
- AWS CDK MCP Server
- Amazon Nova Canvas MCP Server
- Amazon Bedrock Knowledge Base Retrieval MCP Server
- Cost Analysis MCP Server
それぞれ用途が異なり、必要な認証情報も異なります。
ユースケースに合わせて使用しましょう。
また、いずれの MCP サーバーも Python で実装されており、実行には Python が必要です。自分の場合は mise でインストールしました。
mise use uv
uv python install
あとは Claude Desktop や GitHub Copilot で MCP サーバーを登録します。設定方法はアプリケーションによって異なるので省略します。
これで LLM の回答に MCP の力が加わるようになりました。コンテキストとして使用できるツールは MCP ごとに異なります。例えば AWS Documentation MCP Server は次の 3 つのツールが用意されています。
- read_documentation
- search_documentation
- recommend
専門性の高い質問に対して、より正確に回答してくれる可能性が高まると言えそうです。
本項の執筆者: @defaultcf
https://github.com/makenotion/notion-mcp-server
makenotion/notion-mcp-server: Official Notion MCP Server
Notion が公式の MCP サーバー実装を公開しました。
Notion のページにコメントしたり、新しいページを作ったり、を自分で選択した LLM 相手に自然言語で行うことができるようになります。
OpenAPI のエンドポイントなどを解釈して MCP サーバーにしているようで、その実装部分は https://github.com/snaggle-ai/openapi-mcp-server の v1 から持ってきているとのことです。
TypeScript で実装されており、npx で実行できます。
Notion の認証情報は MCP の設定ファイルに直接記述する必要があります。セキュリティ的に長命のクレデンシャルを平文で保存するのは好ましくありませんから、どうにかならないかなぁと思いますが、きっとこれから MCP のあり方が変わる中でここも改善されるものと期待しています。
様々な活用法が考えられそうで楽しみですね。
本項の執筆者: @defaultcf
know-how 🎓
アプリケーションロジック固有の脆弱性を防ぐ、開発者のためのセキュリティ観点をまとめたスライド(全59ページ)を無償公開しました - GMO Flatt Security Blog
アプリケーションロジックの脆弱性に関する傾向と対策をまとめたスライドの紹介記事です。ログイン機能やファイルアップロード機能をはじめとするよくある機能を題材に、脆弱性が生まれる場面とその対策方法が複数紹介されています。
とても簡潔でわかりやすくまとめられていて、少し量が多いですが夢中になって読んじゃいました。過去に自作したアプリを思い出して「ここマズかったかもな〜」と反省できたり、普段の業務で開発しそうなロジックの罠を事前に知れて面白かったです。
本項の執筆者: @ajfAfg
GitHub dockyard Radio 2025.03 - connpass
GitHub や MS の中の人が運営してるコミュニティ、GitHub dockyard の月一で開催されてるラジオ的なやつです。GitHub の一ヶ月間のアプデを語ってくれます。
今回のリンクはすでに開催されたやつで 3 月号でした。僕は今回初めて観戦したのですが、大事そうなアプデ内容を説明してくれて良いですね。特に日常であまりアップデートを追っかけられてない人には嬉しいと思います。
アプデまとめも良いです。一覧性が高くてこういうの欲しかった。
ちなみにチャットにコメントしてたら拾ってもらいました。嬉しい〜
これ書いてるのが 4/25 なので多分世に出る時には終わっているのですが、4/28 に GitHub dockyard Radio 2025.04 が開催されるので、アーカイブとか見てみてください。
本項の執筆者: @korosuke613
tj-actions のインシデントレポートを読んだ
tj-actions、reviewdog、spotbugs に関する一連のセキュリティインシデントレポートを読んだ suzuki-shunsuke さんによる概要の説明とか感想とか検証とかの記事です。
元レポートも読むべきですが、手っ取り早く概要を日本語で知れました。検証内容も載っていてよかったです。
個人的に思ったこととしては以下です。
- fork 先が fork 元と内部的につながっていることは知っていたが、fork 先に悪意あるコミットを用意し、fork 元の v1 タグが fork 先の悪意あるコミットを参照するようにするという悪用方法は盲点だった
- github で無効とされるメールアドレスと登録するとユーザが public に見えなくなる仕様は全く知らなかった
- commit なりすましを防止するためにやはりコミットには署名していくべき
また、このインシデントを受けて同じく shunsuke-suzuki さんが GitHub のセキュリティ改善でやったことを記事にされています。
認証情報の優先順位や Rulesets、Renovate の minimumReleaseAge
の設定など、幅広いセキュリティ強化の内容が書かれています。
個人的には actions/checkout の persist-credentials
オプションは意識したことがなく、確かに本来長期間保持するものではないなと思いました。
この設定に関しては ghalint でも気づけるらしく、活用したい気持ちです。
今回の件で GitHub、および GitHub Actions でとりあえず対策すべき課題が浮き彫りになったと思います。すでにやっていることもまだやっていないこともあるかと思いますが、設定周りやポリシーを見直していきたいですね。
本項の執筆者: @korosuke613
tool 🔨
Terraform実行ユーザー用の最小権限の原則を支援するPike触ってみた | フューチャー技術ブログ
Terraform コードを静的に読み、terraform apply
に必要なできるだけ最小限の IAM ポリシーを生成するツール Pike の紹介記事です。
紹介記事を読む感じ、生成されるポリシーは最小ではなさそうですが漏れはなさそうです。開発環境だとゴリゴリ変更を加えたいから admin 欲しくなりますが、本番環境では使ってみたいなと感じました。
本項の執筆者: @ajfAfg
ターミナルセッションを録画するツールVHSでのtips
DSL を用いたコードをもとに、ターミナル操作を録画した動画を生成できるツール VHS の紹介記事です。
コード例とそこから生成される動画を、紹介記事から次に引用します:
Output sample1.webp
Set Shell zsh
Set FontSize 12
Set Width 600
Set Height 450
Set Framerate 60
Set Padding 10
Type "sw_vers"
Enter
Wait
Sleep 4s
Type "system_profiler SPHardwareDataType"
Enter
Sleep 3s
ターミナル操作をコードで表現するので、再現性が担保されているのが嬉しいなと感じました。GitHub で OSS を公開するときにデモ動画を撮りたい場面などで活用できそうです。
本項の執筆者: @ajfAfg
あとがき
いやーマジで大変遅くなってしまいすみません。
新人研修資料作成やらお金の話やらとにかく色々忙しくて、全然時間が取れませんでした。
GW はキャンプに行きました。茨城良かった。
サイボウズの生産性向上チームでは社内エンジニアの開発生産性を上げるための活動を行なっています。そんな生産性向上チームが気になる方は下のリンクをクリック!
Discussion