🤖

ソース間の依存関係を取得するMCPサーバーを作った

2025/02/09に公開

MCPでソースを書いていると、依存関係を無視して修正してしまうことがあり、そのへんを解消できると便利だなと考え作ってみました。
参考にさせていただいたのは以下の記事です。

https://zenn.dev/makumaaku/articles/85fc9e17f5bd5f

まだMCPを設定していない場合は以下を参考に設定してください

https://zenn.dev/owayo/articles/68dc4cd72804e0

こちらもどうぞ

https://zenn.dev/owayo/articles/92a724a2df6180

どんなことができる?

/Users/xxx/GitHub/xxx/ のソースの依存関係を確認して のように指示すると動作します。

上記のように一発でソース間の依存関係をMCPが認識することができ、MCPでのソース生成が捗ります。
プロジェクトが大きくなってくると、MCPで修正させると影響範囲を無視した修正をしてしまうことがあるので、このMCPサーバを使うことで、そのような事故を減らせると思います。

現在対応している言語は、TypeScript、JavaScript、Python、Ruby、Rustです。
手元にあるプロジェクトは、だいたい解析できていると思います。

MCPのpromptにも対応しているので、Attach from MCP->Choose an integration->source-relationを選択して解析対象のパスを入れて明示的にMCPを動作させることもできます


応用

MCPを使った、以下のような作業に活用できると思います

  1. 関連するファイルの特定
  2. 変更の影響範囲の把握
  3. リファクタリングの提案
  4. 依存関係を考慮したコードレビュー

使い方

https://github.com/owayo/mcp-source-relation

上記リポジトリをcloneして、README.md に書いてある内容に従いセットアップしてください。

まとめ

AIに全部任せると無駄が大きい部分は自作MCPで手軽に解決できるのが良いですね。
今後も開発に役立ちそうなMCPを作っていこうと思います。

Discussion