原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Skyelight

作者:plastrlab版本 1.1.2i★ –i电脑或云端
注册名称ai.skyelight/mcp

安装

概览

作者提供的说明(英文原文)

Give your AI assistant feedback pinned to the exact element, with its code, so it can fix and reply.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 电脑或云端
  • 传输方式: stdio, Streamable HTTP
  • 分类: 其他
  • 你需要填写:SKYELIGHT_API_URL, SKYELIGHT_API_TOKEN

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • 在云端运行无需安装任何东西,通过互联网连接
  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://app.skyelight.ai/mcp

或者在你的电脑上运行

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "skyelight": {
      "command": "npx",
      "args": [
        "-y",
        "@skyelight/mcp"
      ],
      "env": {
        "SKYELIGHT_API_URL": "your-value",
        "SKYELIGHT_API_TOKEN": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add --transport http skyelight https://app.skyelight.ai/mcp

或者在你的电脑上运行

claude mcp add skyelight --env SKYELIGHT_API_URL=your-value --env SKYELIGHT_API_TOKEN=your-value -- npx -y @skyelight/mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "skyelight": {
      "url": "https://app.skyelight.ai/mcp"
    }
  }
}

或者在你的电脑上运行

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "skyelight": {
      "command": "npx",
      "args": [
        "-y",
        "@skyelight/mcp"
      ],
      "env": {
        "SKYELIGHT_API_URL": "your-value",
        "SKYELIGHT_API_TOKEN": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "skyelight": {
      "type": "http",
      "url": "https://app.skyelight.ai/mcp"
    }
  }
}

或者在你的电脑上运行

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "skyelight": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@skyelight/mcp"
      ],
      "env": {
        "SKYELIGHT_API_URL": "your-value",
        "SKYELIGHT_API_TOKEN": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://app.skyelight.ai/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • SKYELIGHT_API_URL 必填 env
    The Skyelight server. Use https://app.skyelight.ai.
  • SKYELIGHT_API_TOKEN 机密 必填 env
    A personal token (sky_...) from Skyelight account settings, API Keys.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。

  • list_workspaces

    Workspaces you can reach, with the role you hold in each, and who you are. Use when you do not know what exists yet, to find which workspace a project belongs to, or to learn your own user id.

  • list_projects

    Projects you can reach, newest activity first, across every workspace unless one is named. Start here when no project is bound — `list_items` needs a project id and this is where one comes from.

  • list_items

    List feedback items (bugs, ideas, comments) people left on a Skyelight project. Returns a summary of the project plus matching items. Start here to see what is outstanding. An item's hand-off (investigate, plan, fix) is set by the team and binding: on investigate or plan, reply o

  • search_items

    Find items whose thread mentions some text. Searches replies as well as the original message, so an item someone already diagnosed in a reply still turns up.

  • post_update

    Report back on an item: what you found, what you changed, a link to the PR. Posts as a reply on the thread the feedback was left on, so the person who reported it sees the answer where they asked. Use this when you finish work on an item, and when you get stuck.

  • create_item

    Open a new thread on a page, as the person whose connection you are using. Only available on a person's own connection — an agent reporting what it found or changed uses post_update on the thread it was working, so the answer lands where the question was asked.

  • publish_review_link

    Share something with Skyelight for review, and get a link people can pin feedback on. Two ways: - code: one file Skyelight hosts at its own link with the review badge on it. A whole HTML page, or one React component with an export default (Tailwind classes and npm imports work; l

  • list_members

    The people in a workspace: name, email, role and id. Call it when you are asked to tell, ask or hand something to someone by name, then pass their name or id to assign, or in mentions on create_item or post_update.

  • assign

    Hand an item to a person, who is notified the way an assignment in the app notifies them. Pass null as the assignee to unassign it. Only owners, admins and collaborators can assign; a resolved item has to be reopened first.

  • set_status

    Move an item to open, deferred or resolved. Use it to close the loop after you have fixed something and said so — post_update first, so the person who reported it reads what changed, then set_status. "deferred" is for work that is real but not now.

  • get_item

    Everything needed to work one item: the whole thread in order, the page and URL it is on, the anchor identifying the element the person pointed at, and the pictures — what the page looked like when it was pinned, plus anything people attached — returned as images you can look at

  • project_review

    Everything needed to write an accurate project review or hand-off document: the shape of the work, every resolved thread and how it ended, what was deferred and why, what is still open, and the longest conversations quoted in full, which is where decisions were made. Every entry

  • whats_new

    What changed on a project since you last looked: new threads, new replies grouped by thread, what was resolved or deferred, and what was assigned to you or mentioned you. Use when the user asks what has changed on a project since they last checked. Without `since` it reads from t

  • find_by_source

    Feedback by the code that rendered it, from the file and line the Skyelight build plugin stamps on each element. Pass a file (a path or just its name) or a component to see every thread about it before you edit it; pass neither to get the hot spots, every stamped file ranked by o

  • find_similar

    Has this already been reported? Pass the text you are about to report (and the page, if you know it) before create_item, or an itemId to find what an existing thread duplicates. Returns likely matches with why each matched: shared words, same page, same element, same source file.

  • merge_items

    Fold duplicate items into one, the way merging works in the app: the duplicates leave the list and count as extra reports on the item they were merged into. Use it only when find_similar and the threads themselves show they are the same problem. Owners, admins and collaborators c

  • decision_log

    The decisions a project made in its threads, quoted: every thread resolved or deferred after a discussion, with the conversation, plus types people corrected and where outcomes keep recurring. Also returns the project's existing rules, so you can tell what is new. Use it to write

  • save_rule

    Keep a rule the team agreed on ("sentence case in every button", "the brand gray stays, do not raise contrast bugs on it") in the project's context, under Rules learned. The classifier reads that context, and every agent reads it through decision_log, so it shapes future threads.

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过域名 skyelight.ai 验证(注册中心会核实域名所有权)

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • ✓ 通过

    端点有响应

    在 259 毫秒内响应(HTTP 200)

  • – 不适用

    使用 OAuth 登录

    无需登录

  • ✓ 通过

    工具描述中没有隐藏指令

    已读取 18 个工具描述,未发现针对 AI 的隐藏指令

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32661 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32661 个服务器的 100% 更新
  • 基础检查结果等于或优于此分类中其他 32661 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Skyelight 安全吗?

它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:SKYELIGHT_API_URL, SKYELIGHT_API_TOKEN

它在我的电脑上运行还是在云端?

两种方式都可以:安装在你的电脑上,或者连接云端版本。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.1.2)于今天进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Claude Checkpoint MCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211前天更新
安装

Claude Checkpoint MCP

作者:daniel-munoz

MCP server that checkpoints Claude Code session context to survive crashes and token limits

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

@skyelight/mcp

npm · source · docs

An MCP server that lets a coding agent read the feedback people left on your running app — the thread, the page, and the element they were pointing at — and report back on it when the work is done.

Full guide: skyelight.ai/docs/mcp. The REST API behind the local server is documented at skyelight.ai/docs/api.

Two ways to connect, with the same eighteen tools either way:

  • Remote, with OAuth — the default. Your agent talks to Skyelight over HTTP and you sign in once in the browser. Nothing is pasted and no key is stored on disk.
  • Local, with a token — this package runs as a stdio server on your machine and carries a personal token. For clients or machines where the browser sign-in is not an option.

Every plan includes every tool, Free included, for owners, admins and collaborators. On Free, your agent gets 25 agent threads a month; Pro and above have no limit. A reviewer reads and comments in the web app but does not get agent tools.

The short way

npx @skyelight/mcp init

Finds your coding agents, registers Skyelight's remote server with them, and leaves the sign-in to OAuth — the first time the agent connects it opens a browser and you approve it there. It shows what it will change and waits; --yes skips that once you have read it.

It knows Claude Code, Cursor, Grok, Codex, Gemini CLI and Windsurf. With several installed it asks which; --client cursor or --client all answers in advance. npx @skyelight/mcp remove takes the entry out again. Point at another deployment with SKYELIGHT_URL=https://…; the deployment tells the installer its own MCP URL and OAuth client over /mcp/install-config, so this package holds no environment-specific constants.

The same setup, with a snippet per client, is in the Skyelight web app under account settings → Coding Agents.

As a Claude Code plugin

/plugin marketplace add plastrlab/skyelight-mcp

/plugin install skyelight@skyelight

The plugin connects Claude Code to Skyelight's remote server (sign-in is OAuth, as above) and adds a skill for working through feedback and two commands: /skyelight:whats-new and /skyelight:fix-feedback. Its files are .claude-plugin/marketplace.json and plugin/ in this repository.

As a Gemini CLI extension

gemini extensions install https://github.com/plastrlab/skyelight-mcp

Then, in Gemini CLI, sign in once:

/mcp auth skyelight

A browser opens on Skyelight; sign in and allow the connection. Gemini CLI lists the tools before you sign in, so it won't ask by itself. The extension connects Gemini CLI to Skyelight's remote server and adds the same skill and the same two commands as the Claude Code plugin: /skyelight:whats-new and /skyelight:fix-feedback. Its files are gemini-extension.json, GEMINI.md, commands/ and skills/ at the root of this repository.

With a token

Get a personal access token. In the Skyelight web app, go to account settings → API Keys → create one. It is shown once, belongs to the organization you create it in, and can be given an expiry.

Then add the server to your client:

{

"mcpServers": { "skyelight": { "command": "npx", "args": ["-y", "@skyelight/mcp"], "env": { "SKYELIGHT_API_URL": "https://app.skyelight.ai", "SKYELIGHT_API_TOKEN": "sky_..." } } } }

Claude Code users can skip the file:

claude mcp add skyelight \

--env SKYELIGHT_API_URL=https://app.skyelight.ai \ --env SKYELIGHT_API_TOKEN=sky_... \ -- npx -y @skyelight/mcp

SKYELIGHT_API_URL is https://app.skyelight.ai, the same host as the MCP URL on the Coding Agents page (https://app.skyelight.ai/mcp), without /mcp. A deployment's .convex.site host also works.

Credentials

Checked in order, so an existing setup keeps working:

  1. SKYELIGHT_API_TOKEN / SKYELIGHT_API_URL in the environment
  2. .env.local, then .env, in the working directory
  3. ~/.skyelight/credentials — {"apiUrl": "...", "token": "sky_..."}
Binding a repo to a project

With the local server, if you can reach several projects, drop a .skyelight.json at the repo root:

{ "projectId": "j57abc...", "projectName": "Checkout rebuild" }

Tools then default to that project and nobody has to pass an id. Without it (and always on the remote server), list_items asks for a project and the agent calls list_projects first rather than guess.

Tools

ToolWhat it is for
list_workspacesWhich workspaces this credential can reach, and who you are.
list_projectsThe projects inside them, with the ids the other tools take.
list_itemsWhat is outstanding. Filter by page, type, status, assignee, hand-off.
search_itemsFind items whose thread mentions some text, replies included.
get_itemEverything needed to work one item: thread, page, anchor, code, images.
post_updateReport back on the thread the feedback came from.
create_itemRaise a new item — an audit finding, something you noticed.
set_statusMove an item to open, deferred or resolved.
list_membersWho is in the workspace, so you can name an assignee or a mention.
assignHand an item to a person, or unassign it.
whats_newWhat changed since you last looked, from your own bookmark.
project_reviewWhere a project landed, for a wrap-up or hand-off document.
decision_logWhat the team decided in its threads, quoted, and its current rules.
save_ruleKeep an agreed rule in the project context (owners and admins).
find_by_sourceFeedback on a file or component before you edit it, or the hot spots.
find_similarCheck for an existing report before creating one.
merge_itemsFold duplicate items into one.
publish_review_linkShare something for review: code for Skyelight to host, or a deployed app's address.

Which tools change things. list_workspaces, list_projects, list_items, search_items, get_item, list_members, project_review, find_by_source, find_similar and decision_log only read. post_update, create_item, set_status, assign, save_rule, merge_items, publish_review_link and whats_new (which moves your "last looked" bookmark) make changes. Every tool carries MCP annotations saying which it is, with merge_items marked destructive, so your client can ask before a write runs.

Publishing for review. publish_review_link takes one of two things:

  • code: one HTML page, or one React component with an export default (a Claude prototype, a v0 snippet). Skyelight hosts it at its own link on skyelight.page with the review badge on it, in a project you name or a new one. Publishing again makes a new version at the same link.
  • url: an app already deployed, such as a Lovable, v0 or Bolt project on *.lovable.app or *.vercel.app. The address goes on the project's Review Links, and the answer carries a script tag for the app's and the review link to share (the address with ?skyelight=1).

Code that imports the rest of its app is not hosted; the answer says to send the app's url instead. It answers to publish_prototype too, its name before 0.7.0.

list_items leads with a summary — totals, breakdown by type and by page — so an agent can tell you the shape of the work before pulling any of it. Rows are stubs; get_item is where the thread and the anchor live.

"What is assigned to me." list_workspaces returns your own user id, and list_items takes assignee: "me", so the most ordinary question anyone asks an agent needs no id looked up by hand.

"What was I asked to fix." A person can hand a thread to an agent in the app (Hand off: Investigate, Plan or Fix). list_items takes task with one of those, or "none", and each row names its hand-off. With assignee: "me" it is your own queue of fixes.

Merged duplicates do not appear twice. When somebody merges five reports of one problem in the web app, the duplicates leave the list and the item they were merged into says 5 reports. A list that shows all five reads as five bugs.

What the agent sees

Alpha: 21 items total — 15 open, 3 deferred, 3 resolved, 19 unassigned.

By type: bug (7), idea (4), feedback (10). Busiest pages: /checkout (8), /settings (4).

2 matches:

  • The pay button does nothing on the second click bug · open · /checkout · unassigned · 2 replies · 5 reports — id i1

Deliberately prose rather than JSON. A tool that returns a bare array invites a model to read the array out; this one invites it to summarise.

A row's line is the one-sentence summary Skyelight's classifier wrote, where there is one, rather than the first 140 characters of whatever somebody typed — four truncated paragraphs are not something you can choose between.

One call reads the 2,000 most recent items in a project. Past that the result says so, in words, rather than presenting a slice as the total.

The pictures

get_item returns the screenshot taken when the pin was left, and any images people attached to the thread, as image content blocks — things a model can actually look at, not links it cannot open.

Screenshot of the page when this was pinned: attached below.

2 images attached to this thread: also below.

Capped at four per call. Anything too large to inline comes back as its link with the reason, so a picture never disappears silently.

What somebody else already did

get_item also names the Linear issue a thread was handed to, and who it was delegated to, so an agent does not start work a Linear-hosted agent is finishing. Reactions come back counted by emoji — a thread with one comment and nine thumbs up is not a thread with one comment.

Where the code is

If the app was built with @skyelight/build, get_item ends with the line that changes what an agent does next:

Written by components/Card.tsx, line 88, in build a1b2c3d on branch feat/checkout.

The file saves a grep. The commit and branch are how an agent tells "still broken" from "already fixed, this pin is stale" — and, on a preview deployment, which branch the code it wants is actually on.

Who a write belongs to

Every write is a person's. Your sign-in or token carries your access, so a reply the agent posts is yours. Over the remote server, the editor it came through is shown as a mark beside the timestamp rather than as the author.

There is no service-account mode, and workspace API keys (sk_live_...) no longer

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx