0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonではじめるMCP開発入門 GitHubから始める Anaconda編

Last updated at Posted at 2025-10-12

PythonではじめるMCP開発入門
https://www.kodansha.co.jp/book/products/0000419324

dockerでAnacondaからはじめてみる。

「PythonではじめるMCP開発入門」の前に with ChatGPT
https://qiita.com/kaizen_nagoya/items/263ac2f93519e9e000c3

PythonではじめるMCP開発入門
https://www.kodansha.co.jp/book/products/0000419324

購入して、読み始めた。対象者はもっと広くていいと思った。
自分の整理を書いてから、ChatGPTに質問してみた。

そんなにずれてない。好プレーということで。

環境構築の手順

前提:Python 3.12以上の環境

$ docker run -it continuumio/anaconda3 /bin/bash
# apt update; apt  -y upgrade
# python --version
Python 3.12.7

1. uvのインストール

# curl -LsSf https://astral.sh/uv/install.sh | sh
downloading uv 0.9.2 aarch64-unknown-linux-gnu
no checksums to verify
installing to /root/.local/bin
  uv
  uvx
everything's installed!

To add $HOME/.local/bin to your PATH, either restart your shell or run:

    source $HOME/.local/bin/env (sh, bash, zsh)
    source $HOME/.local/bin/env.fish (fish)

2. Google APIの設定

1 Google Cloud Consoleにアクセスし、プロジェクトを作成または選択

book-codeというプロジェクトを作成。book_codeは使える文字ではなく作れない。
https://console.cloud.google.com/welcome?project=book-code-474911

2「APIとサービス」→「ライブラリ」から「Custom Search API」を有効化

「APIとサービス」→「ライブラリ」の「その他」の「Custom Search API」を有効化
https://console.cloud.google.com/apis/library/customsearch.googleapis.com?project=book-code-474911

スクリーンショット 2025-10-12 20.32.49.png

3 「APIとサービス」→「認証情報」→「認証情報を作成」→「APIキー」でAPIキーを作成(これがGOOGLE_CSE_API_KEY)

どういう名前のAPIキーを作ればいいのかわからず。

スクリーンショット 2025-10-12 20.35.55.png

スクリーンショット 2025-10-12 20.36.42.png

アプリケーションの制限
APIの制限
を何を作ればいいのかわからず。

ひとまず、なんでもいいから適当に作ればいいんだろうなとは思う。

4 Programmable Search Engineにアクセスし、検索エンジンを作成

Programmable Search Engine
https://programmablesearchengine.google.com/about/

たぶん「使ってみる」を押すしか選択肢がみあたらない。

5 検索エンジンの設定ページから検索エンジンID(cx値)をコピー(これがGOOGLE_CSE_ID)

検索エンジン名は、どういう名前がよいか思い当たらず。

※ Google APIは1日100クエリまで無料、それ以上は1,000リクエストあたり5ドルの料金がかかります(1日最大10,000リクエストまで)

3. OpenAI APIキーの取得

OpenAIのウェブサイトでアカウントを作成
https://platform.openai.com/docs/overview
APIキーを発行(有料サービスなので注意)

4. 環境変数の設定

プロジェクトのルートディレクトリに.env.sampleファイルを参考に.envファイルを作成し、以下の内容を設定します:

OPENAI_API_KEY=あなたのOpenAI APIキー
GOOGLE_CSE_API_KEY=あなたのGoogle APIキー
GOOGLE_CSE_ID=あなたの検索エンジンID

MCPサーバーの設定

エージェントファイル内では、MCPサーバーの設定が以下のように定義されています:

RAW_CONFIG: Dict[str, dict] = {
    "fetch": {"command": "uvx", "args": ["mcp-server-fetch"]},
    "google_search": {
        "command": "uv",
        "args": ["--directory", "/path/to/your/project/servers/src", "run", "server_google_search.py"],
    },
}

注意: 実際に使用する際は、/path/to/your/project/servers/srcの部分を、あなたの環境に合わせたパスに変更する必要があります。

実行方法

MCPホストのコード実行
プロジェクトのルートディレクトリで以下のコマンドを実行します:
Google検索チャットボットの実行

uv --directory "/path/to/your/project/host/src" run agent_chat_with_google_search.py

重要: 上記のコマンドを実行する前に、エージェントファイル内のMCPサーバー設定パス(RAW_CONFIG内の--directory引数)を、あなたの環境に合わせて修正してください。

docker hubへの保存

$ docker ps
CONTAINER ID   IMAGE                   COMMAND       CREATED       STATUS       PORTS     NAMES
d63ff7c3ca9a   continuumio/anaconda3   "/bin/bash"   4 hours ago   Up 4 hours             keen_brattain
$ docker commit d63ff7c3ca9a   kaizenjapan/python-mcp
sha256:2801073cf16ba0570aa9782f38f61feb0e51fa479131895e005ca7f2f1dca67e
$ docker push kaizenjapan/python-mcp
Using default tag: latest
The push refers to repository [docker.io/kaizenjapan/python-mcp]
ec4deb89436b: Pushed 
2eec7551b0c9: Mounted from kaizenjapan/qiitatag 
f0f039847c08: Mounted from kaizenjapan/qiitatag 
latest: digest: sha256:b6ebd0a6b2db8b9112309944cd8e768b085ca79efb727c753bf8c9148922e34b size: 956

続きは、shellで
$ docker run -it kaizenjapan/python-mcp /bin/bash
で作業できまるはず。(arm系)

Ref.

大規模言語モデル講座 基礎編 2025 Autumn 敗因を勝因に
https://qiita.com/kaizen_nagoya/items/34ffd2b0c47a5f3665d9

MCP入門 〜面倒なことはAIエージェントにやらせよう〜 by からあげ を聞きながら
https://qiita.com/kaizen_nagoya/items/54b648c838fae8d57e38

MCP入門 〜面倒なことはAIエージェントにやらせよう〜 by からあげ を聞きながら、補足と反論 by ChatGPT
https://qiita.com/kaizen_nagoya/items/0939d58d31666562090c

MCP論文 @arXiv with ChatGPT
https://qiita.com/kaizen_nagoya/items/8ba05d667673ff98af28

C言語(C++)が必要な人と必要ない人
https://qiita.com/kaizen_nagoya/items/2afe9e846b55b24cb6f1

C言語(C++)が必要な人、必要ない人 with ChatGPT
https://qiita.com/kaizen_nagoya/items/a074cb8cd292d8d94bd4

C言語を習得する3つの方法
https://qiita.com/kaizen_nagoya/items/84cab0888c193bba429b

C言語を習得する3つの方法 with ChatGPT
https://qiita.com/kaizen_nagoya/items/4a3518a18fa49f46787f

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on my individual experience. It has nothing to do with the organization or business to which I currently belong.
Este artículo es una impresión personal basada en mi experiencia personal. No tiene nada que ver con la organización o empresa a la que pertenezco actualmente.

文書履歴(document history)

ver. 0.01 初稿  20251012

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

Muchas gracias por leer hasta la última oración.

Por favor, haz clic en el ícono Me gusta 💚 y sígueme para tener una vida feliz.

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?