release: OpenNexus 0.5.1-alpha

This commit is contained in:
2026-09-18 00:56:54 +08:00
parent f7d441bd92
commit 01ceae6fc6
32 changed files with 496 additions and 33 deletions
+65
View File
@@ -0,0 +1,65 @@
"""Run the locally installed MiniMax MCP server as an independent HTTP service.
This launcher is intentionally outside OpenNexus Core. It reads the existing
legacy encrypted MCP credential without printing it, then starts the upstream
server on loopback using Streamable HTTP.
"""
from __future__ import annotations
import argparse
import hashlib
import json
import os
from pathlib import Path
from cryptography.fernet import Fernet, InvalidToken
def credential_id(server_id: str, key: str) -> str:
identity = f"environment-v2\0{key}"
suffix = hashlib.sha256(identity.encode()).hexdigest()[:20]
return f"mcp.{server_id}.{suffix}"
def load_secret(directory: Path, identity: str) -> str:
try:
key = (directory / "master.key").read_bytes().strip()
tokens = json.loads((directory / "credentials.json").read_text(encoding="utf-8"))
token = tokens[identity]
return Fernet(key).decrypt(token.encode("ascii")).decode("utf-8")
except (OSError, KeyError, ValueError, InvalidToken, UnicodeError) as exc:
raise SystemExit("MINIMAX_MCP_CREDENTIAL_UNAVAILABLE") from exc
def main() -> None:
parser = argparse.ArgumentParser(description="Independent MiniMax MCP HTTP server")
parser.add_argument("--credentials-dir", type=Path, required=True)
parser.add_argument("--server-id", default="9ca7ee21603a")
parser.add_argument("--host", default="127.0.0.1")
parser.add_argument("--port", type=int, default=8765)
args = parser.parse_args()
if args.host != "127.0.0.1" or not 1 <= args.port <= 65535:
raise SystemExit("MINIMAX_MCP_LOOPBACK_REQUIRED")
secret = load_secret(
args.credentials_dir,
credential_id(args.server_id, "MINIMAX_API_KEY"),
)
os.environ["MINIMAX_API_KEY"] = secret
os.environ.setdefault("MINIMAX_API_HOST", "https://api.minimaxi.com")
os.environ.setdefault("FASTMCP_LOG_LEVEL", "WARNING")
from minimax_mcp.server import mcp
mcp.run(
"streamable-http",
host=args.host,
port=args.port,
streamable_http_path="/mcp",
stateless_http=False,
)
if __name__ == "__main__":
main()