Open5
GleamでMCPを作りたい JSON-RPC編

GleamでJSON-RPCが書けたらとってもハッピーなのでやっていく。
GleamにはJSON-RPC 2.0を実装したライブラリjsonrpcがあるのでそれを使う。
サーバーの実装として以下のものがあるが、まだ開発中らしい。
とりあえずの目標として、toolsを定義して実行できるところまでを目指していきたい。

MCPの挙動に関してはこちらの記事を参考にする。
JSON-RPC自体の仕様については以下の記事を参考にする。

とりあえずrequestをパース出来るようにしたい。
以下のテストコードを読む感じ、
request_decoder
をjson.parse
に突っ込めば良さそう。
json.parseのドキュメント

requestがパースできる事は分かった。
残るはparamsだけど、これは通信の内容そのものなのでこればっかりは自分で書いていかないといけない。
めちゃくちゃ面倒くさそうな作業だけど、今はclaude codeあるし適切なコンテキスト投げとけば適当にぶん回すだけでそこそこ書けそうな気がする…
という訳でclaude codeに型定義を書かせるためのコンテキストを集めていきたい。

MCPの概要に関して。
リンクもあるだろうし、これを起点に他のページを勝手にfetchしてくれたら一番楽。
toolsのドキュメント。
サンプルも書いてあるので精度が上がりそうな感じがする。
Gleamの構文の全て。
最近は特にコンテキストを与えずともそこそこ良いのを出してくるので要らないかもしれない。