Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Launch, inspect and stop multiplayer game server sessions on Gameye from any MCP client.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
GAMEYE_API_TOKEN, GAMEYE_ENV标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"gameye": {
"command": "npx",
"args": [
"-y",
"gameye-mcp"
],
"env": {
"GAMEYE_API_TOKEN": "your-value",
"GAMEYE_ENV": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add gameye --env GAMEYE_API_TOKEN=your-value --env GAMEYE_ENV=your-value -- npx -y gameye-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"gameye": {
"command": "npx",
"args": [
"-y",
"gameye-mcp"
],
"env": {
"GAMEYE_API_TOKEN": "your-value",
"GAMEYE_ENV": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"gameye": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"gameye-mcp"
],
"env": {
"GAMEYE_API_TOKEN": "your-value",
"GAMEYE_ENV": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
GAMEYE_ENV env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 Gameye 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:GAMEYE_API_TOKEN
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.4.0)于13天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js, Docker。
同一分类中有:Spec Driven Development, Remote Desktop Commander, TF Rooms
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Live room availability, rates and stay quotes for 12 New Leaf motels in Twin Falls, Idaho.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A Model Context Protocol server for the Gameye game server orchestration API. It lets an AI agent (Claude Code, Claude Desktop, Cursor, or any MCP client) launch and inspect game server sessions, check image tags and regions, and fetch logs and artifacts. You talk to it in plain language, and you don't have to leave your editor.
Status: beta (
0.x). Tools, inputs and outputs may change between releases, and there may be bugs. The server says so to every client that connects, on startup, and ingameye_context. It is published on npm asgameye-mcp, as a container image atghcr.io/gameye/gameye-mcp, and in the MCP Registry asio.github.Gameye/gameye-mcp; see the changelog for what changed in each release.
GAMEYE_API_TOKEN=<your-token> npx -y gameye-mcp
It needs Node.js 22 or newer. The server speaks MCP over stdio. Normally your MCP client starts it for you (see Install), so you rarely need to run it by hand.
Gameye has two public API hosts. The server targets sandbox by default.
GAMEYE_ENV | Host | Who it is for |
|---|---|---|
sandbox (default) | https://api.sandbox-gameye.gameye.net | Self-serve customers. This is your permanent home and runs live matches, not just tests. |
production | https://api.production-gameye.gameye.net | Enterprise customers. |
The environment is a property of the server process. No tool takes an environment argument, so an agent can't switch to production partway through a conversation. If you need both, configure two named server entries (for example gameye-sandbox and gameye-production), each with its own token.
| Variable | Required | Default | Description |
|---|---|---|---|
GAMEYE_API_TOKEN | Yes | — | Gameye API token. Use the least-privileged scopes you need (see below). |
GAMEYE_ENV | No | sandbox | sandbox or production. Selects the API host. |
GAMEYE_API_URL | No | — | Overrides the host, for testing only. Must be https. If it equals one of the two known hosts, it must match GAMEYE_ENV or the server refuses to start. Any other URL is labelled custom in every tool result. |
GAMEYE_ENABLE_SKILLS_UPDATE | No | — | Set to 1 to let gameye_update_skills run the skills updaters with apply: true. Without it the tool only checks and lists the commands. |
GAMEYE_MAX_SESSIONS | No | 5 | Most sessions launched by this server that may run at once. A launch past it is refused. |
GAMEYE_MAX_TTL | No | 4h | Longest ttl a launch may ask for, at least 30m. A longer TTL, or 0, is refused. |
GAMEYE_MAX_LAUNCHES | No | 20 | Launches per server run. Restart the server to reset it. |
GAMEYE_STOP_OWN_ONLY | No | — | Set to 1 so gameye_stop_session only stops sessions this server launched. |
GAMEYE_TIMEOUT_MS | No | 30000 | Per-request timeout in milliseconds, a positive whole number. Log snapshots get at least 60 s and artifact downloads at least 120 s. A request that runs out of time comes back as a tool error: Request to timed out after s. |
claude mcp add gameye --env GAMEYE_API_TOKEN=<your-token> -- npx -y gameye-mcp
For production, add --env GAMEYE_ENV=production and use a production token.
Most clients (Claude Desktop, Cursor, Windsurf and others) accept an mcpServers block:
{
"mcpServers": { "gameye": { "command": "npx", "args": ["-y", "gameye-mcp"], "env": { "GAMEYE_API_TOKEN": " ", "GAMEYE_ENV": "sandbox" } } } }
Restart the client after you change its configuration.
npx -y gameye-mcp runs the latest release. To stay on one version, name it: npx -y gameye-mcp@0.4.0 (or "args": ["-y", "gameye-mcp@0.4.0"]).
The server runs on Windows with Node.js 22 or newer. We've tested it on Windows 11, through Claude Code and over plain stdio. If something breaks on Windows, please open an issue.
npx directly, because it's a .cmd script. Start it through cmd /c instead: "command": "cmd",
"args": ["/c", "npx", "-y", "gameye-mcp"]
With Claude Code: claude mcp add gameye --env GAMEYE_API_TOKEN= -- cmd /c npx -y gameye-mcp. Claude Code 2.1.296 and later also start plain npx.
npx.cmd instead of npx when you run the server by hand. A new Windows install blocks the npx PowerShell script with "running scripts is disabled on this system".gameye_update_skills reports outdated skills on Windows but doesn't run the update. It prints the commands for you to run.gameye_create_token writes the token file with owner-only permissions on macOS and Linux. On Windows those permissions don't apply, and the file gets the access rules of its folder. Write it inside your user profile.No Node.js on the machine? Run the published image instead. It works on amd64 and arm64:
{
"mcpServers": { "gameye": { "command": "docker", "args": ["run", "-i", "--rm", "-e", "GAMEYE_API_TOKEN", "-e", "GAMEYE_ENV", "ghcr.io/gameye/gameye-mcp"], "env": { "GAMEYE_API_TOKEN": " ", "GAMEYE_ENV": "sandbox" } } } }
With Claude Code: claude mcp add gameye --env GAMEYE_API_TOKEN= -- docker run -i --rm -e GAMEYE_API_TOKEN ghcr.io/gameye/gameye-mcp.
-e NAME (no value), so Docker copies it from the client's environment and the token never appears in the command line.-i and never add -t: a terminal mangles the JSON-RPC messages on stdout.ghcr.io/gameye/gameye-mcp:0.4.0.--rm deletes them:gameye_get_artifacts saves its download under the temp directory. To keep it, mount a directory and point the temp directory at it: -v /absolute/dir:/out -e TMPDIR=/out. The path the tool reports is the container path; the file is in /absolute/dir on the host.gameye_create_token writes to the outputPath you give it. Mount a directory the same way and pass an outputPath under /out.Give the server a token with only the scopes it needs.
| Recipe | Scopes | What the agent can do |
|---|---|---|
| Observer | session:read logs:read artifact:read regions:read region:read application:read | Inspect sessions, logs, artifacts, regions and applications. No changes. |
| Operator | Observer + session:start session:stop session:write | Also launch and stop sessions and update session state. |
| Deployer | Operator + application:write | Also create and edit applications, so the agent can set up a deployment end to end. |
| Token admin | Deployer + token:write | Also create API tokens. |
Never pass your Gameye API token into a game server's environment. A game server doesn't need it, and anything inside the container can read it.
Every tool result starts with the environment and host it used, for example [sandbox · api.sandbox-gameye.gameye.net].
| Tool | Kind | Description |
|---|---|---|
gameye_context | read | Show the environment, host and server version this server targets, and the guardrail defaults (session TTL, launched-by label, token expiry) |
gameye_launch_session | write, dryRun | Start a containerized game server (billable). Default TTL and agent label applied; see Guardrails |
gameye_list_sessions | read | List running sessions (filterable; all=true for every status) |
gameye_describe_session | read | Get session details, ports and players |
gameye_stop_session | destructive, dryRun | Stop one session by its exact ID |
gameye_player_join | write | Register one or more players as joined |
gameye_player_leave | write | Remove one or more players from a session |
gameye_get_locations | read | List locations that can host an image right now |
gameye_list_regions | read | List the regions available to your organization |
gameye_check_tag | read | Check whether an image tag is available in a region |
gameye_list_applications | read | List your applications with registry, resources, regions and ports |
gameye_list_registry_tags | read | List an application's tags in its upstream registry (paged) |
gameye_enable_tag | write, dryRun | Enable an image tag for an application so Gameye preloads it |
gameye_get_logs | read | Fetch session logs |
gameye_get_artifacts | read | Download a file or directory from a session container as a tar archive |
gameye_create_application | write, dryRun | Create an application |
gameye_edit_application | destructive, dryRun | Change an application; omitted fields stay unchanged |
gameye_create_token | write, dryRun | Create an API token and write it to a file |
gameye_update_skills | read, or write with apply | Compare the installed Gameye skills with the latest pack, and update them with apply: true. See Keeping the skills current |
Every tool carries MCP annotations: read tools set readOnlyHint, gameye_stop_session and gameye_edit_application set destructiveHint, and every tool that calls the Gameye API sets openWorldHint.
The tool set covers every operation in the Gameye client API. tests/parity.test.ts checks this against the vendored spec in spec/.
These behave the same on sandbox and production, because sandbox runs live matches for self-serve customers.
gameye_launch_session, gameye_stop_session, gameye_enable_tag and the application and token tools accept dryRun: true. The tool returns the exact request (method, host, path and body) with the API token masked, and sends nothing.ttl gets a 30m TTL, and the result says the default was applied. Every launch sends the label launched-by: gameye-mcp, replacing any launched-by value the caller passes, so agent-launched sessions can be found with gameye_list_sessions and filter: { "launched-by": "gameye-mcp" }. When a warm pool serves the image and region, the Gameye API ignores request labels (and env and args), so warm-pool sessions do not carry this label.***, in case log output, labels or an error message echo it.gameye_stop_session stops exactly one session by its exact ID. There is no bulk stop, and empty, wildcard or list IDs are refused. With GAMEYE_STOP_OWN_ONLY=1 it also refuses any session this server did not launch.GAMEYE_MAX_SESSIONS), each with a TTL of at most 4h (GAMEYE_MAX_TTL)只显示了开头部分;其余内容请在仓库中阅读