chatgpt-box-mcp

chatgpt-box-mcp

A private MCP server that lets ChatGPT create, manage, and operate Box by ASCII Linux environments through secure MCP tools.

Category
访问服务器

README

ChatGPT Box MCP

English | 简体中文

A private MCP server that lets ChatGPT create and operate your own Box by ASCII Linux environments.

The control direction is deliberately one-way:

ChatGPT
  → private Developer Mode MCP app
  → OpenAI Secure MCP Tunnel
  → this local MCP server
  → Box Public API
  → your Box Linux environments

ChatGPT remains the conversational interface and tool orchestrator. This project does not automate the ChatGPT website, extract ChatGPT responses, expose a ChatGPT account as an API, or call Box's built-in Codex/Claude prompt runner.

What it can do

The server exposes explicit, accurately annotated MCP tools:

Area Tools
Discovery box_list, box_get, box_list_events
Lifecycle box_create, box_stop, box_resume, box_fork
Work box_execute_command, box_read_file, box_write_file
Long-running work box_job_start, box_job_status, box_job_logs, box_job_cancel
Visual inspection box_open_desktop

Short commands wait for at most 60 seconds, matching the Box command API. Background jobs run independently inside the Box and persist their pid, status, and logs under .chatgpt-box-mcp/jobs/ in the Box work directory.

Safety model

  • BOX_API_KEY is read only from the MCP server's environment. It is never a tool argument or tool result.
  • Tool descriptions and MCP annotations state which actions write, may destroy data, or affect external systems.
  • File tools reject absolute paths and .. traversal segments.
  • Long-job scripts are base64 encoded before being installed in the Box, so their contents are not interpolated into the launcher shell.
  • A forced stop is marked destructive because it can lose changes since the last successful snapshot.
  • Desktop URLs are secret-bearing. The tool tells ChatGPT not to log, persist, or share them.
  • HTTP mode binds to loopback by default. Binding to a non-loopback address requires MCP_HTTP_TOKEN.

The server deliberately does not expose Box account secret-management or API-key-management endpoints.

Requirements

Developer Mode and tunnel permissions are separate. Availability depends on your ChatGPT workspace/plan and OpenAI Platform organization permissions.

Install

npm.cmd install
npm.cmd run build
Copy-Item .env.example .env

Edit .env and set:

BOX_API_KEY=box_your_secret_here

Do not commit .env.

Run locally over stdio:

npm.cmd run start:env

The process waits for an MCP client on stdin/stdout. Log messages go to stderr so they do not corrupt the MCP stream.

Connect through OpenAI Secure MCP Tunnel

  1. Create a tunnel in OpenAI Platform tunnel settings and associate it with the ChatGPT workspace that will use it.
  2. Download the latest tunnel-client.
  3. Use an absolute path for the MCP command. On Windows, for example:
$env:CONTROL_PLANE_API_KEY = "sk-your-runtime-key"

tunnel-client init `
  --sample sample_mcp_stdio_local `
  --profile chatgpt-box `
  --tunnel-id tunnel_replace_me `
  --mcp-command 'node --env-file=D:\Chat-box-mcp\.env D:\Chat-box-mcp\dist\src\index.js'

tunnel-client doctor --profile chatgpt-box --explain
tunnel-client run --profile chatgpt-box

Keep tunnel-client run healthy while using the app.

  1. Open ChatGPT Plugins, create a developer-mode app, choose Tunnel, and select the tunnel.
  2. Scan the tools and name the private app, for example ChatGPT Box MCP.

You can then ask:

@ChatGPT Box MCP list my running boxes.

@ChatGPT Box MCP create a one-hour small box, clone this repository,
run the tests, fix the failures, and show me the diff. Use a background
job if the work will take more than a minute.

ChatGPT should explain and confirm consequential tool calls according to the tool annotations and the current product policy.

Local HTTP mode and MCP Inspector

HTTP mode is useful for MCP Inspector and local diagnostics.

Set these values in .env:

MCP_TRANSPORT=http
MCP_HOST=127.0.0.1
MCP_PORT=3000

Then run:

npm.cmd run start:env

Endpoints:

  • MCP: http://127.0.0.1:3000/mcp
  • Health: http://127.0.0.1:3000/healthz

If you intentionally bind beyond loopback, also set a strong MCP_HTTP_TOKEN and send it as Authorization: Bearer .... A public plugin needs additional authentication, deployment, and review work; this repository is designed for a private, manually configured Developer Mode app.

Development

npm.cmd run check
npm.cmd test

The tests cover Box request construction, structured API errors, credential isolation, long-job launcher safety, job status parsing, MCP initialization, tool discovery, and the missing-credential error path.

Operational notes

  • Box creation, resume, and fork operations can start billable machine time.
  • box_stop snapshots before stopping unless force=true is explicitly requested.
  • Cancelling a background job sends SIGTERM to its process group. It cannot roll back files or external side effects already produced.
  • Box API command output may itself be truncated by Box; large MCP results are also capped to protect the conversation context.
  • The MCP server does not retain ChatGPT conversations or Box API responses.

Disclaimer

Unofficial project. Not affiliated with, endorsed by, or supported by OpenAI or Dedale/ASCII. Users configure and operate their own ChatGPT account, OpenAI tunnel, Box account, credentials, environments, and permissions.

Use this project only for systems and resources you are authorized to access. Review the current OpenAI terms and Box terms for your use case.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选