layernote

io.layernote由 layernote.io 发布官方发布者v0.11.1更新于 Oct 29, 2026

Client feedback pinned on live sites, Figma frames, PDFs, images and video, for Claude and agents.

已验证Streamable HTTP可网页运行效率与工作流媒体与设计

概览

AI 生成的概览

让助手处理固定在线上网站、Figma 画框、PDF、图片和视频上的 layernote 客户反馈。

可以做什么
  • 清单未列出任何工具,能力仅依据描述推断。
  • 该服务器把助手连接到 layernote,客户反馈被固定在线上网站、Figma 画框、PDF、图片和视频的具体位置上。
  • 它同时提供托管远程端点和基于 stdio 的本地 npm 包,助手可通过任一方式访问同一份反馈数据。
适用场景
适合在与客户评审设计或网页成果时使用,让助手直接处理已固定的反馈,而不必手工复制评论。适用于已经在 layernote 中收集反馈的团队。
运行要求
需要 layernote 账号并通过 OAuth 认证;本地包则需通过 LAYERNOTE_TOKEN 环境变量提供个人令牌。仅在使用自建或非生产环境的 layernote 时才需要 LAYERNOTE_API_URL。需要能访问 layernote 服务的网络。
安装前请注意
该服务器要求认证并接受个人访问令牌,应将 LAYERNOTE_TOKEN 视为机密,避免写入共享配置。客户项目的反馈数据会发送到 layernote 服务并交给助手,接入前请评估保密要求。工具列表未公开,无法事先确认助手能读取或修改哪些内容。

安装

在 SourceWeft 中

  1. 打开 控制台中的 layernote,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.layernote%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "layernote": {
      "type": "http",
      "url": "https://app.layernote.io/mcp"
    }
  }
}

工具

23

list_projects

List projects

List the layernote projects this token reaches, newest activity first, with their kind (WEBSITE, FIGMA, STATIC_FILES for uploaded files) and how many open comments each has. A personal token reaches every project its owner reaches in one workspace; pass a project from here (name or id) as `project` to the other tools.

无需输入参数。

list_feedback

List feedback

List the layernote project's comments, newest first: by default the open ones (status OPEN, IN_PROGRESS or IN_REVIEW). Each has its text, author, date, assignee, due date, board column, thread and where it is: on a live page (URL and CSS selectors) or on an uploaded file (file id and name, pin in percent, PDF page or video moment). Comparison-generated items carry an expected/actual analysis. Narrow it with the filters, e.g. one file, or `since` for what happened in a week (that includes resolved ones). Use get_feedback for one item with its screenshot, get_file to see a file with its pins.

输入参数filelimitsinceauthorstatusprojectassigneeincludeResolved

get_feedback

Get one feedback item

Get a single feedback item by id, including its full comment thread, the screenshot of the spot it is about (the element on a live page, or the part of the file around the pin) and the pictures attached to it, returned inline as images. Other attachments are listed by name.

输入参数id必填project

list_files

List uploaded files

List the files uploaded to the layernote project (images, PDFs and videos) in the order of its Files sidebar: each file with its id, kind, page count or length, and how many open and total comments it has. A file with more than one version is listed once, at its latest version, with its `versions` (each with its own id and counts; comments stay on the version they were made on). Use get_file to look at a file with its open comments pinned on it, compare_versions to check an older version's comments against a newer one, and list_feedback with `file` for the comments themselves. On a Figma design project it lists the frames instead, in the order of its Frames sidebar: pictures of the design’s screens, marked `figma`, that get_file, add_comments and show_file take like files (a frame marked `rendering` has no picture yet). A website project has no files.

输入参数searchproject

get_file

Look at an uploaded file

Show an uploaded file, or a Figma project’s frame, with its open comments pinned on it as numbered pins, returned inline as an image, with a legend that ties each number to the comment's id and first line. An image or a frame is shown whole; a PDF one page at a time (default: the first page with open comments); a video as a sheet of the frames its comments are on (up to nine, continue with `from`), or the single frame at `at`. The numbers only label this picture: refer to comments by their id in other tools. Rendering a PDF page or video frames can take a few seconds.

输入参数atfrompagefileId必填project

compare_versions

Compare versions of a file

For a file with more than one version (list_files shows a file's `versions`): shows the open comments of an older version each beside the same spot in a newer one, so you can tell which comments the newer version took care of. Each picture has the older version on the left with the comment's numbered pin, and the newer version on the right with a dashed ring where the pin was; the spot is the same page or video moment, at the same place in percent. By default the latest version against the one before it. Comments stay on the version they were made on: resolve the ones that are taken care of with resolve_feedback (only when the user asks), by their id. Six comments per call; continue with `offset`.

输入参数tofromfileId必填offsetproject

show_file

Show a file to the user

Open an uploaded file, or a Figma project’s frame, in an interactive viewer in the chat, for the user: the picture with its open comments as pins they can click to read, resolve or ask you about, a PDF page by page, a video moment by moment, and a switch between its versions. Use it when the user wants to see a file or go through its comments. To look at a file yourself, use get_file: this answer only names the comments. In a client that shows no MCP Apps, nothing opens.

输入参数fileId必填project

file_picture

Picture for the file viewer

Used by the file viewer that show_file opens: the picture of a file, a PDF page or a video frame without pins (the viewer draws its own). To look at a file yourself, use get_file.

输入参数atpagefileId必填project

resolve_feedback

Resolve a feedback item

Mark a feedback item as resolved in layernote. Only call this once the point has actually been dealt with: in the code, the design or the file. If it will NOT be done (a false positive, intentional, out of scope), use wont_fix_feedback instead so the team sees the reason rather than a false "fixed".

输入参数id必填project

verify_feedback

Verify a feedback fix

Only for feedback on a live website page. Ask layernote to confirm a fix: it re-screenshots the live page, re-runs the design comparison, and auto-resolves the feedback item when the underlying difference is gone. Prefer this over resolve_feedback for comparison-generated items — it proves the fix instead of trusting it. The deployed page must include your change first. Takes up to ~30 seconds. Comments on uploaded files cannot be verified this way.

输入参数id必填project

add_feedback_comment

Reply to a feedback item

Add a reply to a feedback item's thread in layernote so the team can follow along: what was changed, why, a question for the reviewer, or that a fix is waiting on a deploy. The reply appears in the item's thread under the name of the person who created the token.

输入参数id必填text必填project

wont_fix_feedback

Mark a feedback item as won’t-fix

Mark a feedback item as "won't fix" in layernote, with a mandatory reason that is posted to the item’s thread. Use this instead of resolve_feedback when it is deliberately not acted on: e.g. the item is a false positive, intentional, or out of scope. The team sees the item as dismissed with the explanation, not as fixed.

输入参数id必填reason必填project

set_feedback_status

Set the status of a feedback item

Move a feedback item to another status on the project board. Statuses are the project's own board columns — list_feedback returns them under "workflow.statuses", and clients can rename columns or add custom ones (e.g. "Design Review"), so always use a name from that list. Built-in names like "In Progress" also work. For resolving prefer resolve_feedback (or verify_feedback on a website), and for dismissing use wont_fix_feedback: that also records why in the thread.

输入参数id必填status必填project

add_comments

Place comments on a file

Place one or more comments on an uploaded file in layernote, or on a Figma project’s frame, each as a pin at a spot on the picture (in percent, 0,0 top left), on a PDF page or at a moment in a video. A frame takes no page or moment. They appear at once for everyone on the project, clients on a share link included, under the name of the person who created the token and marked "via Claude". Look at the file with get_file first to place the pins well. Put every comment for one file in one call: the team then gets one notification, not one per pin. Only place comments when the user asks for it.

输入参数fileId必填projectcomments必填

update_feedback

Assign a feedback item, or set its priority or due date

Change who a feedback item is assigned to, its priority or its due date in layernote. The assignee is someone on the project (list_people shows who), by name or email; they get the usual notification. Use "none" to take an assignment, priority or due date away. For the status use set_feedback_status.

输入参数id必填dueDateprojectassigneepriority

list_people

List the people on a project

The people who can work on the project's feedback, with their name, email and workspace role: who update_feedback can assign.

输入参数project

upload_file

Upload a file or a new version

Add an image (JPEG, PNG, WebP, GIF, AVIF) or a PDF to a Static files project in layernote, as a new file or, with versionOf, as the next version of a file (the same kind of file). Give `url` for one link or `files` for up to 10, for example the exports of designs you just fixed in Figma: layernote fetches them itself. For a file the user has on their computer, give no link: an upload panel opens in the chat and the user drags the file into it. Tell them so; an image pasted in the chat itself can’t be passed on. Only upload when the user asks.

输入参数urlfilesprojectfileNameversionOf

add_attachment

Attach a file to a comment

Attach an image (JPEG, PNG, WebP, GIF, AVIF) or a PDF to a comment in layernote, for example a picture of how it looks after the fix. Give `url`, an https link layernote fetches itself (such as an image link from the Figma connector). For a file the user has on their computer, give no link: an upload panel opens in the chat and the user drags the file into it. Tell them so; an image pasted in the chat itself can’t be passed on. Only attach when the user asks.

输入参数urlprojectfileNamefeedbackId必填

store_upload

Store the file dropped in the upload panel

Used by the upload panel in the chat, not by you: it sends the file the user dropped in it, with the ticket upload_file or add_attachment gave it. To upload a file, call upload_file or add_attachment.

输入参数data必填ticket必填projectfileName必填mimeType必填

create_project

Create a project

Make a new layernote project in the workspace this token is for: FIGMA for a Figma design (then bring its screens in with import_figma_frames), STATIC_FILES for pictures, PDFs and videos (then upload_file), or WEBSITE for a live site (give websiteUrl). It counts against the workspace’s plan like a project made in the app, and is the user’s, made in their name. Only create one when the user asks.

输入参数name必填type必填websiteUrlfigmaFileUrl

list_figma_frames

List the frames in a Figma file

List the screens (top-level frames) in a Figma file, with their size and whether the project already has them: new, imported, or changed in Figma since. layernote reads the file with the user’s own Figma connection in layernote, not with a Figma connector in this chat. The project must be a Figma design project. Use it to pick frames for import_figma_frames. A big file gives up to 200 at a time: narrow it with `search`.

输入参数searchfileUrl必填project

import_figma_frames

Import frames from Figma

Bring screens from a Figma file into a Figma design project, the way “Add your Figma design” in layernote does: each frame becomes a screen the team can comment on. Name the frames (by name or id from list_figma_frames, up to 50), or leave them out for the whole file. A named frame the project already has is brought up to date when Figma changed it, and keeps its comments. One Figma file per project. layernote uses the user’s own Figma connection in layernote; when it is missing, the answer says how the user connects it. The pictures appear a few seconds after. Only import when the user asks.

输入参数framesfileUrl必填project

share_project

Share a project

Give the project’s share link, to send to a client or anyone outside the team: they open the project without an account and comment (or, with access "view", only look). A project has one link: the first call makes it, later ones give the same link. `access` changes what guests may do for everyone on the link. A link the team paused or that expired stays closed; `reopen` opens it again, only when the user asks for that. Anyone with the link gets in, so only share when the user asks.

输入参数accessreopenproject

版本历史

1
  1. v0.11.1最新Oct 26, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。