Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Bug for MCP&API]: minimax-coding-plan-mcp fails to start when invoked via uvx with environment variables

オープン
#24 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
30/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python
領域
api, backend

調査の方向性

minimax_mcp/server.py の33~35行付近から始め、既存の修正案である PR #34 を確認します。ドキュメントに記載された環境変数を使って、提供されている MCP クライアントテストを実行し、その後、修正がリリース済みのバージョンで利用できること、および README にサポートされている呼び出し方法が記載されていることを確認します。

索引モデルが issue の本文から書いたものです。

説明

bug
Basic Information - Models Used

MiniMax M2.7 and the Coding-Plan-MCP

Basic Information - Scenario Description

When attempting to use minimax-coding-plan-mcp as an MCP server via the uvx command with environment variables (MINIMAX_API_KEY and MINIMAX_API_HOST), the server fails to start with a ValueError: MINIMAX_API_KEY environment variable is required error, even when the environment variable is properly set.

Is this bug known and solvable?
Information about environment
Component Version
OS Linux (Ubuntu)
Python 3.14.3
uv 0.11.8
minimax-coding-plan-mcp latest from uvx
Trace-ID in the request head

N/A

Description

Steps to Reproduce

  1. Set environment variables:

    export MINIMAX_API_KEY="sk-cp-YOUR_KEY_HERE"
    export MINIMAX_API_HOST="https://api.minimax.io"
    
  2. Run the MCP server via uvx:

    uvx minimax-coding-plan-mcp -y
    
  3. Expected: Server starts and listens for MCP requests
    Actual: Server crashes immediately with ValueError: MINIMAX_API_KEY environment variable is required


Attempted Fixes

Approach 1: StdioServerParameters env dict
server_params = StdioServerParameters(
    command="uvx",
    args=["minimax-coding-plan-mcp", "-y"],
    env={"MINIMAX_API_KEY": api_key, "MINIMAX_API_HOST": api_host},
)

Result: Fails with same error.

Approach 2: os.environ before subprocess spawn
os.environ["MINIMAX_API_KEY"] = api_key
os.environ["MINIMAX_API_HOST"] = api_host
server_params = StdioServerParameters(command="uvx", args=["minimax-coding-plan-mcp", "-y"])

Result: Fails - subprocess doesn't inherit modified os.environ.

Approach 3: Inline env in shell command
MINIMAX_API_KEY="sk-cp-..." MINIMAX_API_HOST="https://api.minimax.io" uvx minimax-coding-plan-mcp -y

Result: Fails with ValueError: MINIMAX_API_HOST environment variable is required

Even though MINIMAX_API_HOST is explicitly set inline!


Root Cause

In minimax_mcp/server.py (line ~33-35):

if not os.environ.get("MINIMAX_API_KEY"):
    raise ValueError("MINIMAX_API_KEY environment variable is required")

The check uses os.environ.get() evaluated at module import time, not at server startup/runtime. When uvx spawns the server:

  1. uvx downloads and extracts the package
  2. Python starts executing minimax-coding-plan-mcp as __main__
  3. Import of minimax_mcp.server happens
  4. At this point, the subprocess may not yet have inherited the environment properly
  5. Check fails even though env vars were passed to StdioServerParameters

Note: This is the working hypothesis. A definitive fix would require testing with the actual server code to confirm import timing.


Impact

Use Case Impact
MCP Python SDK programmatic access ❌ Blocked
AI coding applications (Claude Code, Cursor, OpenCode) ❌ Blocked
Direct CLI with env vars ❌ Blocked

Other MCP servers (e.g., open-code, filesystem) work correctly with the same StdioServerParameters pattern. The issue appears specific to how minimax-coding-plan-mcp handles environment variables at import time.


Expected Behavior

  1. Accept MINIMAX_API_KEY and MINIMAX_API_HOST environment variables
  2. Start successfully when provided via standard methods (shell export, env: in StdioServerParameters)
  3. Not crash before beginning to accept connections

Existing Fix

PR #34 adds CLI argument support (--api-key, --api-host) to work around this issue. This PR is open but not yet merged.

The workaround after PR #34 merges:

{
  "command": "uvx",
  "args": [
    "minimax-coding-plan-mcp",
    "-y",
    "--api-key=your-key",
    "--api-host=https://api.minimax.io"
  ]
}

What We Need

  1. Merge PR #34 - The fix already exists and addresses this issue
  2. Release new version - After merge, publish to uvx so users can update
  3. Documentation - Update README to show CLI arg usage as primary method

Test Script

import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def test_mcp():
    params = StdioServerParameters(
        command="uvx",
        args=["minimax-coding-plan-mcp", "-y"],
        env={
            "MINIMAX_API_KEY": "YOUR_KEY_HERE",
            "MINIMAX_API_HOST": "https://api.minimax.io",
        },
    )

    async with stdio_client(params) as (stdio, write):
        session = ClientSession(stdio, write)
        await session.initialize()
        result = await session.list_tools()
        print(f"Connected! Tools: {[t.name for t in result.tools]}")

asyncio.run(test_mcp())

Additional Context

  • This affects sn2md's ability to use MiniMax's vision model for OCR/image conversion
  • sn2md has implemented MCP client code (sn2md/mcp_vision.py) that is waiting on this fix
  • Related: sn2md issue with MiniMax not supporting Anthropic-style image blocks (type="image")

Security Note

This is a bug report for a server startup issue, not a security vulnerability. The server fails to start rather than exposing data improperly. If there are security concerns related to this bug, please disclose responsibly.

主要言語
Python
スター
101
フォーク
31
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

MiniMax-AI/MiniMax-Coding-Plan-MCP のほかの issue

MiniMax-AI/MiniMax-Coding-Plan-MCP の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。