3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM Bob を使う前に、人間がやるべきこと(実録)

3
Last updated at Posted at 2025-12-22

はじめに

3日目 では、

IBM Bob に環境構築の実行計画を書かせようとして、私はやめた

という話を書きました。

理由はシンプルです。

  • 自分自身が、まだ分かっていなかった
  • Try & Error をしていなかった
  • 正解が、頭の中に存在していなかった

この状態で AI に計画を書かせても、返ってくるのは それっぽい文章だけです。

4日目 は、その続き。

AI は一度横に置いて、人間が手で環境を作った記録です。


最初の状態(ほぼ何も揃っていない)

正直なスタート地点は、こうでした。

  • macOS(M1 / M2)
  • Python は入っている(が、バージョンは気にしていない)
  • Node.js は入っている(が、古い)
  • Instana API Token はある
  • MCP? Transport? 正直ふわっと理解

つまり、

「雰囲気でいけそう」な状態

ここから始めました。


まず Python で詰まる

最初にやったのは、mcp-instana のセットアップです。

python3 -m venv .venv
source .venv/bin/activate
pip install mcp-instana

……が、失敗。

エラーメッセージを見ると、
どうも PyO3 / pydantic-core 周りが怪しい。

ここで初めて、

Python のバージョンが効いている

と気づきました。


Python 3.14 はダメだった

調べていくと、原因ははっきりしました。

  • Python 3.14
  • PyO3 が未対応
  • 結果、ビルドで落ちる

これは Bob に聞く前に、人間が手を動かして初めて分かった事実です。

結論はこれ。

Python 状態
3.10 理論上OK(未検証)
3.11 ✅ 動作確認済み
3.12 未検証
3.13 ✅ 動作確認済み
3.14 ❌ ダメ

私はここで、
Python 3.11 / 3.13 に切り替える判断をしました。


Node.js でも詰まる

次は Transport 周り。

HTTP(SSE) を使うために mcp-remote を試します。

npx mcp-remote http://localhost:8080/mcp

すると警告。

Unsupported engine
required: node >= 20.18.1
current: 20.9.0

……地味だけど重要。

ここで分かったこと。

Node.js のマイナーバージョン、普通に効く


Node.js を上げる(nvm)

ここで nvm を使いました。

nvm install 20.18.1
nvm use 20.18.1
node -v

これでようやく、

  • mcp-remote が動く
  • HTTP(SSE) が安定する

状態に。


Instana MCP Server を HTTP(SSE) で起動

ここまで来て、やっと MCP Server を起動します。

source .venv/bin/activate
source .env

mcp-instana --transport streamable-http --port 8080

確認ポイントはこれ。

  • http://localhost:8080/mcp が応答する
  • エラーで即死しない
  • 起動ログが静か

この時点で、「あ、これはいけるかも」 という手応えが出ました。


STDIO ↔ HTTP をつなぐ

Bob 側は STDIO 前提なので、
ここで mcp-remote の出番です。

npx mcp-remote http://localhost:8080/mcp \
  --allow-http \
  --header "instana-base-url: $INSTANA_BASE_URL" \
  --header "instana-api-token: $INSTANA_API_TOKEN"

これが通った瞬間、

あ、道がつながった

と分かりました。

  • Bob(STDIO)
  • mcp-remote
  • MCP Server(HTTP)
  • Instana API

一本の線になった感覚です。


ここまで全部「手作業」

ここが、この 4日目 の一番大事なポイントです。

この日やったことは、

  • 自動化していない
  • 計画書もない
  • 完璧な再現手順もない

全部、手作業です。

でも、この Try & Error があったからこそ、

  • 何が前提か
  • どこが壊れやすいか
  • 何を IBM Bob に任せられるか

が、ようやく見えてきました。


この時点で初めて言えること

ここまでやって、やっと言えます。

「この構成なら、IBM Bob に考えさせられる」

逆に言うと、

この段階を踏まないと、IBM Bob に計画を書かせる意味がなかった


4日目 のまとめ

  • Python 3.14 は地雷だった
  • Node.js のマイナーバージョンは普通に効く
  • Transport の理解は、動かして初めて腹落ちする
  • 手作業の Try & Error は無駄じゃない
  • AI の前に、人間が詰まる必要がある

これまでの投稿

1日目: なぜ Instana × IBM Bob なのか? ― Observability を「見る」から「考える」へ

2日目: IBM Bob × MCP × Instana ― なぜこの構成にしたのか、なぜ Transport で迷ったのか

3日目: IBM Bob に環境構築の実行計画を書かせようとして、私は止めた

5日目: IBM Bob から Instana を操作できる「最小状態」を作る

6日目: IBM Bob × Instana × MCP ― 最初の一文を投げて、Instana が“道具”になった日

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?