はじめに
Redditを徘徊していたら以下のスレッドを見つけました。最近、トレンドになっているMCPサーバーについてです。自分としては、Goを普段触ることもあり、Goの絡みもあったので軽くまとめてみました。
www.reddit.com
どんな人向けの記事か?
- Goを普段使っていて、Go言語でのMCPサーバーSDKが存在するか知りたい人
SDKは存在するの?
結論から言うと、「現状では公式なSDKはまだ存在しない」みたいです。しかし、複数の非公式な実装が存在し、開発コミュニティの関心も高まっているようです。現在注目されているGo言語のMCPサーバーSDKとしては、以下のリポジトリが「安定している」、「非常に人気がある」として一定の評価を得ているようです。
GitHub - mark3labs/mcp-go: A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools. - mark3labs/mcp-go
また、上記のリポジトリについて言及している記事もあったのでいくつか抜粋します。 英語で書かれているので、サクッと読みたい人はNotebookLMとかにぶち込んでみてください。
Building a Model Context Protocol (MCP) Server in Go
A practical quickstart guide for building MCP servers in Go with MCP Go SDK.
github.com
興味深い点としてGithubのMCPサーバーはGoで書かれているみたいです。 ただし、このGitHubの実装は、GoogleがメンテナンスしているGitHub Go SDKやlogrusといった外部ライブラリに依存しているという指摘もあります。
GitHub - github/github-mcp-server: GitHub's official MCP Server
GitHub's official MCP Server. Contribute to github/github-mcp-server development by creating an account on GitHub.
他にも以下の指摘・関心がスレッドで見られました。
- 公式SDKの登場への期待: Goチームが公式SDKのサポートを検討しているという情報があり、コミュニティからの期待が窺える
- 認証・認可の課題: MCPの急速な進展に伴い、認証・認可に関する課題に取り組んでいる開発者がいること
- 既存SDKの機能不足: 人気のある github.com/mark3labs/mcp-go についても、公式実装と比較して何が欠けているのかという疑問や、特定の機能(例えばSampling)がまだ実装されていないという指摘がある
- GitHubの実装に関する技術的な詳細: GitHubのGo言語によるMCPサーバー実装がどのような技術スタックに基づいているか(外部ライブラリの依存など)
まとめ
全体として、Go言語におけるMCPサーバー開発はまだ発展途上であり、公式SDKの登場が待たれる一方で、既存の非公式SDKを活用した開発や、技術的な課題への取り組みが活発に行われている状況が把握できました。あと、久しぶりにRediit開いたんですが、Xに比べて、濃い議論がされているなと改めて実感しました。