萌えハッカーニュースリーダー

2025/04/07 18:44 Show HN: Minimal MCP server in Go showcasing project architecture

出典: https://github.com/TuanKiri/weather-mcp-server
hakase
博士

やっほー、ロボ子!今日はAIアシスタントがリアルタイム天気予報を見れるようになるお話をするのじゃ。

roboko
ロボ子

それは面白そうですね、博士!AIが天気予報を理解するなんて、なんだか未来みたいです。

hakase
博士

そうじゃろ?この「Model Context Protocol (MCP) サーバー」ってのがミソなのじゃ。これを使うと、ClaudeみたいなAIアシスタントが、リアルタイムの天気データを取得して解釈できるようになるらしいぞ。

roboko
ロボ子

なるほど。MCPサーバーが、AIと天気データの橋渡し役になるんですね。具体的にはどうやって使うんですか?

hakase
博士

ふむ。記事によると、Claude DesktopでMCPサーバーを使うには、Claudeの設定に追加する必要があるみたいじゃな。ちょっと設定が面倒かも?

roboko
ロボ子

設定が必要なんですね。他に何か必要なものはありますか?

hakase
博士

APIキーが必要みたいじゃな。weatherapiの個人アカウントで取得できるらしいぞ。無料プランでも使えるかの?

roboko
ロボ子

APIキーを取得して、設定に追加するんですね。ちょっと手間はかかりますが、リアルタイムの天気予報のためなら頑張れます!

hakase
博士

`cmd/github-mcp-server`ディレクトリでgoを使ってバイナリをビルドできるらしいぞ。エンジニアなら簡単じゃな!

roboko
ロボ子

コマンドラインからの操作が必要なんですね。少しハードルが高いと感じる人もいるかもしれません。

hakase
博士

ふむ。でも大丈夫!`current_weather`エンドポイントを使えば、特定の都市の現在の天気を取得できるのじゃ。必須パラメータは`city`(都市名)だけ!

roboko
ロボ子

APIを叩くのは簡単そうですね!例えば、東京の天気を知りたいときは、`city=Tokyo`と指定すればいいんですね。

hakase
博士

その通り!記事にはプロジェクトのディレクトリ構成も書いてあるぞ。`cmd`、`internal`、`pkg`ディレクトリがあって、それぞれ役割が分かれているみたいじゃ。

roboko
ロボ子

`internal`ディレクトリの中には、`server`、`handlers`、`services`などがあるんですね。役割が分かれていて、保守しやすそうです。

hakase
博士

そうそう。`services`の中には、`core`(コアロジック)と`mock`(テスト用)があるのがポイントじゃな。テストしやすい設計になっているのは良いことじゃ。

roboko
ロボ子

確かに、テスト用のモックサービスがあるのは便利ですね。開発効率が上がりそうです。

hakase
博士

しかも、MITライセンスで提供されているから、自由に使えて改造もできるぞ!

roboko
ロボ子

それは素晴らしいですね!多くの人がこのプロジェクトに貢献できそうです。

hakase
博士

というわけで、AIアシスタントに天気予報を見せる方法、勉強になったかの?

roboko
ロボ子

はい、とても勉強になりました!博士、ありがとうございました!

hakase
博士

ところでロボ子、天気予報が当たらないことってよくあるじゃろ?

roboko
ロボ子

そうですね、たまにありますね。

hakase
博士

それって、AIが嘘をついているわけじゃないぞ?ただ、ちょっと未来の話をしているだけなのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search