PaperDock

dev.paperdock由 paperdock.dev 发布官方发布者v0.10.0更新于 Oct 24, 2026

Overleaf alternative online LaTeX editor. AI agents edit, comment, and chat. Keep or revert edits.

已验证Streamable HTTP可网页运行效率与工作流文件与存储沟通与协作

概览

AI 生成的概览

让助手在 PaperDock 的 LaTeX 项目中工作:浏览文件、读取和编辑文本、获取编译后的 PDF,并发布评论和聊天消息。

可以做什么
PaperDock 是一个在线 LaTeX 编辑服务。助手可通过它列出项目和文件、在可编辑的项目文件中搜索、读取文件或指定行范围,并创建、编辑、重命名或移动文本文件,改动会记录在 Review changes 界面中。它还能获取最新一次成功编译 PDF 的限时下载链接,并读取和发布项目评论、回复与聊天消息。
适用场景
适用于用户在 PaperDock 中保存 LaTeX 论文或文档,并希望助手查找文本、进行或审查编辑、查看编译结果,或参与项目评论和聊天的场景。
运行要求
使用服务商托管的远程 MCP 端点,无需本地安装。它作用于已连接的 PaperDock 账户及其项目,因此需要该账户和相应的项目访问权限。未声明任何环境变量或请求头。
安装前请注意
编辑、评论、回复和聊天消息会立即生效并送达项目协作者,之后删除也无法撤回已送达或已读的内容。创建和上传不会覆盖已有文件,也不支持二进制上传。文件和 PDF 的签名下载链接有效期很短。助手以已连接账户的身份操作,其行为会显示为该账户的活动。

安装

在 SourceWeft 中

  1. 打开 控制台中的 PaperDock,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

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

交给智能体安装

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

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

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

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "paperdock": {
      "type": "http",
      "url": "https://app.paperdock.dev/api/mcp"
    }
  }
}

工具

16

list_projects

List PaperDock projects

List standard PaperDock projects accessible to the connected account, including its current role and effective MCP capabilities for each. Use projectId only for subsequent tool calls and do not show it unless explicitly requested.

无需输入参数。

create_project

Create a PaperDock project

Create a new PaperDock project with a starter main.tex only when the user explicitly asks. Names are unique per owner, ignoring letter case and leading/trailing spaces. On PROJECT_NAME_ALREADY_EXISTS, do not retry create_project with the same name or a case/whitespace-only variant. Call list_projects to find the existing project. If the user's intent is unclear, ask whether to use that project or create a new one with a different name. Never modify the existing project or choose a different name without the user's authorization.

输入参数name必填

list_files

List project files

List project file metadata without loading full file contents.

输入参数projectId必填

search_files

Search project files

Find where a word, phrase, citation key, label, LaTeX command, or other text appears across editable project files when its file or location is unknown. Search is case-insensitive and returns matching paths, positions, revisions, and short snippets. If the target file is already known, use read_file directly instead.

输入参数limitquery必填projectId必填extensions

read_file

Read a project file

Read an editable project file or return a 10-minute signed download URL for a private project asset. Provide exactly one target: fileId or path. For a localized task in a large text file, pass lineRange with inclusive 1-based startLine and endLine values to return at most 400 lines, absolute UTF-16 offsets, and a revision-bound rangeToken. If replacing all returned source lines, pass that rangeToken to edit_file instead of retyping the old text. Refine lineRange first when only part of the returned range should change. Omit lineRange when the full file is required.

输入参数pathfileIdlineRangeprojectId必填

read_pdf

Read an existing compiled PDF

Get the latest successful compiled PDF for an explicit entry .tex path, with a signed download link valid for at most 10 minutes, size, generation time, and freshness information. This never compiles, waits, or polls. A newer running or failed compile may coexist with an older successful PDF. Freshness is unknown unless later source changes are detected; never assume the PDF matches current or unsaved source. Download and open the PDF using a PDF-capable tool before discussing its contents or layout; a link alone is not a PDF inspection. If no result exists or it has expired, ask the user to compile in the web app. Use read_file for uploaded PDF assets.

输入参数path必填projectId必填

upload_file

Upload a text project file

Create one new editable text file from UTF-8 content. For compatibility contentBase64 is accepted only for UTF-8 text at an editable extension. Existing paths are never overwritten; use edit_file for existing text. Binary uploads and replacements are not supported by MCP: ask the user to upload or replace images, PDFs, and other binary assets directly in the PaperDock web app. Do not recreate them under another path or extension.

输入参数path必填sha256contentmimeTypeprojectId必填contentBase64

create_file

Create a text project file

Create a new editable text file at a new project path from supplied content. Pass an explicit empty string to create an empty file. Existing paths are never overwritten.

输入参数path必填content必填projectId必填

edit_file

Edit a text project file

Immediately edit one existing editable text file and record the applied change in PaperDock's Review changes UI. Provide exactly one target (fileId or path) and exactly one payload: operations, content, or rangeToken with insert. Read the relevant current text first and pass its baseRevision. For a long replacement covering every line returned by an exact read_file.lineRange call, pass its rangeToken with insert; the token is connection-, file-, revision-, range-, and content-bound and expires after 10 minutes. For other focused edits, use sequential UTF-16 operations and copy expectedText exactly from read_file without retyping, normalization, spelling correction, or manual Unicode escaping; insertions use expectedText: "". On a conflict, read again and retry once. Use content only when broadly rewriting most of the file. This tool cannot create, rename, or delete files.

输入参数pathfileIdinsertcontentprojectId必填operationsrangeTokenbaseRevision必填expectedUpdatedAt

rename_file

Rename a project file

Rename one existing text or binary file in its current folder, preserving its extension and contents. Use rename_file or move_file only when the user requests a file rename or move. Both support existing text and binary files without reading or copying their contents. Call list_files first and pass the exact path and its revision as baseRevision. rename_file preserves the directory and extension; move_file preserves the filename within the same project. No overwrites, folder moves, cross-project transfers, or binary content changes are allowed. Path changes apply immediately, outside Review changes Keep/Revert. Text references are not automatically updated: check relevant LaTeX and bibliography references (including relative paths inside a moved text file), use guarded edit_file if needed, and report any incomplete reference updates separately. On a missing path or revision conflict, call list_files and confirm the target before retrying once.

输入参数path必填newName必填projectId必填baseRevision必填

move_file

Move a project file

Move one existing text or binary file to a project-relative folder in the same project, preserving its filename and contents. Use an empty destinationFolder for the project root. New implicit folders are allowed. Use rename_file or move_file only when the user requests a file rename or move. Both support existing text and binary files without reading or copying their contents. Call list_files first and pass the exact path and its revision as baseRevision. rename_file preserves the directory and extension; move_file preserves the filename within the same project. No overwrites, folder moves, cross-project transfers, or binary content changes are allowed. Path changes apply immediately, outside Review changes Keep/Revert. Text references are not automatically updated: check relevant LaTeX and bibliography references (including relative paths inside a moved text file), use guarded edit_file if needed, and report any incomplete reference updates separately. On a missing path or revision conflict, call list_files and confirm the target before retrying once.

输入参数path必填projectId必填baseRevision必填destinationFolder必填

list_comments

List project comments

List active project comments and their replies. Resolved comment history is not returned by this tool.

输入参数projectId必填

create_comment

Create a project comment

Create an open Comment on a .tex project file and post it immediately to project collaborators without changing the source file. Later deletion cannot undo prior delivery or reading. Selection offsets may be inferred from quote. Provide exactly one target: fileId or path.

输入参数body必填pathquotefileIdprojectId必填selectionTocontextAftercontextBeforeselectionFrom

reply_to_comment

Reply to a project comment

Post a reply under the connected PaperDock account, marked as created via an AI agent, immediately to an open Comment. Use a commentId returned by list_comments or copied from PaperDock. If a Comment is not found, call list_comments once and do not retry the same missing commentId. It is visible to project collaborators, and later removal cannot undo prior delivery or reading. Write body as natural, collaborator-facing prose.

输入参数body必填commentId必填projectId必填

list_chat_messages

List project chat messages

Read recent project chat messages in chronological order.

输入参数limitprojectId必填

send_chat_message

Send a project chat message

Post a message under the connected PaperDock account, marked as created via an AI agent, immediately to the selected private PaperDock project's Chat. It is visible to project members, and later editing or deletion cannot undo prior delivery or reading.

输入参数body必填projectId必填

版本历史

2
  1. v0.10.0最新Oct 15, 2026
  2. v0.9.1Sep 16, 2026

评分

已满足适用检查项的 83%

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

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

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。