0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

mcp.jsonのenvfileプロパティを使って安全に環境変数を管理しよう!

Posted at

はじめに

突然ですが、皆さんMCP動かす時に環境変数ってどうやって設定していますか??

mcp.jsonとかの 設定ファイルにAPIキーとかベタ書きされて動かされている方も多いのではないでしょうか ?!

僕もベタ書きして動かしてました!!!

今回は設定ファイルにベタ書きしなくても良い方法を見つけることができたのでそれをシェアしたいと思います!!

ぜひ最後まで読んでいってください!!

🚀結論 envfile プロパティを使おう!!

設定方法だけを手短に知りたい方は以下のGitHubリポジトリの .vscode/mcp.example.json をご覧ください!!

全然知らなかったのですが、 VS Codeのドキュメントに以下のようなものを見つけました!

そしてそこには知りたかった 環境変数の取り扱い 方についてまとめられているではありませんか!

envfileプロパティなるものがあり、これを使えば良いとのこと!!

envfileプロパティを使って環境変数を読み込んでみた!

envfileを使ったことでmcpの設定ファイルが以下のように変わりました!!

${workspaceFolder}/pkgs/mcp/.env と指定することでプロジェクトの任意のディレクトリ配下にある .env を読み込ませることができます!!

  • Before

    {
      "inputs": [],
      "servers": {
        "x402-walrus": {
          "command": "node",
          "args": [
            "${workspaceFolder}/pkgs/mcp/dist/index.js"
          ],
          "env": {
            "RESOURCE_SERVER_URL": "http://localhost:4021",
            "ENDPOINT_PATH": "/download",
            "PRIVATE_KEY": "<your private key>"
          }
        }
      }
    }
    
  • After

    {
      "inputs": [],
      "servers": {
        "x402-walrus": {
          "command": "node",
          "args": [
            "${workspaceFolder}/pkgs/mcp/dist/index.js"
          ],
          "envFile": "${workspaceFolder}/pkgs/mcp/.env"
        }
      }
    }
    

これなら安心してチーム間でもmcpの設定ファイルが共有できますね!!

素晴らしい!!!

まとめ

特にWeb3系のmcpだと秘密鍵を取り扱うことも多いため、流石にベタ書きするのはまずいよな〜って思っていました...笑。

なんとかいい方法ないか考えていたところこの設定ファイルを教えてもらい、これは良さそうだということで記事化しました!!

皆さんもぜひお試しあれ !!

ここまで読んでいただきありがとうございました!!

余談

今回共有したGitHubリポジトリの詳しい実装については以下のブログ記事で紹介しています!

よろしければそちらもご参照ください〜!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?