🔑

MCP サーバーで環境変数を設定する方法

に公開

MCP サーバーで環境変数を使いたい

MCP サーバーで環境変数を使いたい場合は、MCP の設定で env フィールドを追加するだけで簡単に環境変数を設定できます。

MCP の設定ファイルのサンプル

下記は、MCP の設定ファイル(.curser/mcp.json) に env を設定した例です。

{
    "mcpServers": {
        "github.com/heavenosk/env-checker": {
            "command": "deno",
            "args": [
                "run",
                "--allow-all",
                "/somePath/deno-mcp-sample/src/env-checker.ts"
            ],
            "env": {
                "ENV_KEY": "Success"
            },
            "disabled": false,
            "autoApprove": [
                "get_env"
            ]
        }
    }
}

MCP サーバーコードでの環境変数の取得方法

Deno の場合は、Deno.env.get() で環境変数を取得できます。

const envValue = Deno.env.get("ENV_KEY");

サンプルコード全体

import { FastMCP } from "npm:fastmcp@1.20.5";
import { z } from "npm:zod@3.24.2";

const envValue = Deno.env.get("ENV_KEY");

const server = new FastMCP({
    name: "Eev Checker",
    version: "1.0.0",
});

server.addTool({
    name: "Get Env",
    description: "Get the value of an environment variable",
    parameters: z.object({}),
    execute: () => {
        return Promise.resolve(
            JSON.stringify({ envValue: envValue ?? "no value" }),
        );
    },
});

server.start({
    transportType: "stdio",
});

まとめ

全体のソースコードを見たい方は、下記のレポジトリを参照してください。

https://github.com/HeavenOSK/deno-mcp-sample

Discussion