mcpField
N
Nekoweb

Nekoweb

本地服务
github.com云与基础设施05 天前更新

关于 Nekoweb

Nekoweb 是用于管理 Nekoweb 网站的 MCP 服务,供站点所有者查看和编辑文件、上传内容,并访问账户及社区数据;使用可选会话令牌可启用更多功能。

主要功能

  1. 01浏览站点文件和文件夹
  2. 02读取、写入、移动和删除文件
  3. 03上传文件并导入 ZIP 压缩包
  4. 04查看站点信息和 API 限额
  5. 05管理设置、标签、统计数据和关注

适用场景

  1. 01检查或更新 Nekoweb 站点文件
  2. 02上传本地站点项目或 ZIP 压缩包
  3. 03查看站点统计数据和账户限额

MCP 相关

它向 MCP 客户端提供 Nekoweb 站点及文件操作工具。必须配置 API 密钥;可选会话令牌可启用设置、标签、统计历史、关注者、动态、关注列表和搜索功能。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"menal226-nekoweb": {
"command": "npx",
"args": [
"-y",
"nekoweb-mcp-server"
],
"env": {
"NEKOWEB_API_KEY": "<NEKOWEB_API_KEY>",
"NEKOWEB_LOCAL_ROOT": "<NEKOWEB_LOCAL_ROOT>",
"NEKOWEB_SESSION_TOKEN": "<NEKOWEB_SESSION_TOKEN>"
}
}
}
}
启动命令npx -y nekoweb-mcp-server
需要配置的环境变量
NEKOWEB_API_KEY密钥Your API key from https://nekoweb.org/api
NEKOWEB_LOCAL_ROOTOptional folder that limits which local files the upload tools may read
NEKOWEB_SESSION_TOKEN密钥Optional nekoweb.org login cookie ('token') for features the API lacks, like site tags, stats history, followers and your feed

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmnekoweb-mcp-server1.1.0

工具

24

收录的工具列表 · 更新于 5 天前

参数类型必填说明
sitestring否其他站点的域名,例如 “fairfruit.nekoweb.org”。如果是你自己的站点,请省略。
response_formatenum否可读文本使用 'markdown'(默认),结构化数据使用 'json'markdown | json

详细介绍

npm 许可证

Nekoweb MCP 服务

安装

在 VS Code 中安装 在 VS Code Insiders 中安装 在 Cursor 中安装 下载 Claude Desktop 扩展

先决条件
  1. Node.js 20.3 或更高版本。Claude Desktop 扩展无需安装,因为 Claude Desktop 自带 Node.js。
  2. Nekoweb API 密钥(必需)。登录 Nekoweb,打开 https://nekoweb.org/api 并生成密钥。该密钥可完全访问你网站上的文件,请妥善保管。
  3. Nekoweb 会话令牌(可选)。不使用令牌时,Nekoweb 官方 API 的所有功能均可用:你的文件、上传、网站信息和限制。使用令牌后,还可访问网站设置、标签、统计历史、关注者、你的动态、关注的网站,以及显示你关注对象的搜索结果。请参阅获取会话令牌。
获取会话令牌

会话令牌是浏览器用于登录 nekoweb.org 的 Cookie。服务器使用它来读取和更改官方 API 未提供的内容。

  1. 在浏览器中登录 https://nekoweb.org。
  2. 打开开发者工具(F12),然后前往 Application → Cookies(Chrome、Edge)或 Storage → Cookies(Firefox),再选择 https://nekoweb.org。
  3. 复制名为 token 的 Cookie 值。
  4. 按照下方示例,将其填入 MCP 配置中的 NEKOWEB_SESSION_TOKEN,然后重启客户端。

警告

会话令牌的权限比 API 密钥更高:它可以执行你登录后能执行的任何操作,包括更改账户设置。请妥善保管,切勿将其粘贴到与助手的聊天中。会话结束后(例如退出登录时),令牌便会失效,此时你需要重新复制一个。

确保 API 密钥和会话令牌安全
  • 不要将它们提交到代码库。 如果 MCP 配置文件位于项目中(例如 .vscode/mcp.json),请使用客户端的密钥输入提示,例如上方 VS Code 按钮所提供的方式,而不要将密钥直接粘贴到文件中。
  • 如果密钥泄露,请重新生成。 在 https://nekoweb.org/api 生成新密钥后,旧密钥便会失效。如果会话令牌泄露,请退出 nekoweb.org 以结束该会话。
  • 限制本地上传范围。 将 NEKOWEB_LOCAL_ROOT 设置为网站项目文件夹,这样助手就只能从该文件夹上传文件。请参阅配置。

下方示例同时包含 API 密钥和会话令牌。如果不需要会话令牌,请将其省略:每种客户端都有一个仅使用 API 密钥的版本。

Claude Code
claude mcp add nekoweb -e NEKOWEB_API_KEY=your-api-key -e NEKOWEB_SESSION_TOKEN=your-session-token -- npx -y nekoweb-mcp-server
仅使用 API 密钥
claude mcp add nekoweb -e NEKOWEB_API_KEY=your-api-key -- npx -y nekoweb-mcp-server
Claude Desktop

下载 nekoweb-mcp-server.mcpb 并打开。Claude Desktop 会显示安装界面,要求你输入 API 密钥和可选的会话令牌。将会话令牌留空即可跳过。

或者将其添加到配置文件

打开 Settings → Developer → Edit Config,将服务添加到 claude_desktop_config.json,然后重启 Claude Desktop:

{
  "mcpServers": {
    "nekoweb": {
      "command": "npx",
      "args": ["-y", "nekoweb-mcp-server"],
      "env": {
        "NEKOWEB_API_KEY": "your-api-key",
        "NEKOWEB_SESSION_TOKEN": "your-session-token"
      }
    }
  }
}

若仅使用 API 密钥,请删除 NEKOWEB_SESSION_TOKEN 行(以及它前面的逗号)。

VS Code

使用上方的安装按钮。服务首次启动时,VS Code 会要求你输入 API 密钥和会话令牌;将会话令牌留空即可跳过。或者,将以下内容添加到 .vscode/mcp.json 或用户 MCP 配置中:

{
  "inputs": [
    { "type": "promptString", "id": "nekoweb_api_key", "description": "Nekoweb API key", "password": true },
    {
      "type": "promptString",
      "id": "nekoweb_session_token",
      "description": "Optional: Nekoweb session token. Leave empty to skip",
      "password": true
    }
  ],
  "servers": {
    "nekoweb": {
      "command": "npx",
      "args": ["-y", "nekoweb-mcp-server"],
      "env": {
        "NEKOWEB_API_KEY": "${input:nekoweb_api_key}",
        "NEKOWEB_SESSION_TOKEN": "${input:nekoweb_session_token}"
      }
    }
  }
}

若仅使用 API 密钥,请删除 nekoweb_session_token 输入项和 NEKOWEB_SESSION_TOKEN 行。

Cursor

使用上方的安装按钮,然后将 your-api-key 和 your-session-token 替换为你自己的值;或者删除 NEKOWEB_SESSION_TOKEN 行,仅使用 API 密钥。你也可以将以下内容添加到 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "nekoweb": {
      "command": "npx",
      "args": ["-y", "nekoweb-mcp-server"],
      "env": {
        "NEKOWEB_API_KEY": "your-api-key",
        "NEKOWEB_SESSION_TOKEN": "your-session-token"
      }
    }
  }
}

若仅使用 API 密钥,请删除 NEKOWEB_SESSION_TOKEN 行(以及它前面的逗号)。

其他 MCP 宿主

任何支持本地(stdio)MCP 服务的宿主都可以使用。配置宿主,使其运行 npx -y nekoweb-mcp-server,并设置 NEKOWEB_API_KEY 环境变量;也可以选择设置 NEKOWEB_SESSION_TOKEN。大多数宿主使用与上方 Claude Desktop 和 Cursor 示例相同的 JSON 格式。

从源代码构建

克隆此仓库,然后运行 npm install 和 npm run build。接着,在宿主的配置中将命令设为 node /path/to/nekoweb-mcp-server/build/index.js,而不是 npx -y nekoweb-mcp-server。

检查是否正常工作

向助手提问:"我的 Nekoweb 网站上有什么?" 它应该会列出网站上的文件。


配置

环境变量必需说明
NEKOWEB_API_KEY是你在 https://nekoweb.org/api 获取的 API 密钥。没有它,只能查询公开网站。
NEKOWEB_LOCAL_ROOT否你电脑上的一个文件夹。设置后,上传工具只能读取该文件夹内的文件。未设置时,可以上传你指定的任意文件。
NEKOWEB_SESSION_TOKEN否你的 Nekoweb 登录会话,用于使用官方 API 不提供的功能,例如网站设置、标签、统计历史、关注者和你的动态。参见获取会话令牌。

请参见获取会话令牌,了解如何获取会话令牌。

工具

标记为只读的工具不会更改你的网站。其他工具会更改文件,因此大多数客户端会在运行前征求你的批准。

网站
  • nekoweb_get_site_info - 获取网站的标题、域名、浏览量、关注者、更新次数和日期(只读)

    • site:其他公开网站的域名,例如 yoursite.nekoweb.org。若要查询你自己的网站,则省略(字符串,可选)
    • response_format:markdown(默认)或 json(字符串,可选)
  • nekoweb_list_sites - 列出你账户中的所有网站及其统计数据和存放文件的文件夹(只读)

    • response_format:markdown(默认)或 json(字符串,可选)
  • nekoweb_get_limits - 显示你剩余的 API 请求次数以及各项限制的重置时间(只读)

    • response_format:markdown(默认)或 json(字符串,可选)
文件
  • nekoweb_list_folder - 列出文件夹中的文件和子文件夹(只读)

    • path:要列出的文件夹,例如 /mysite.nekoweb.org/blog。默认为 /(字符串,可选)
    • recursive:同时列出子文件夹。每个子文件夹会使用一次 API 请求,每次调用最多 25 次(布尔值,可选)
    • max_depth:要列出的子文件夹层级数,1–10,默认为 3(数字,可选)
    • limit:返回的条目数上限,1–500,默认为 100(数字,可选)
    • offset:跳过的条目数,用于翻阅较大的文件夹(数字,可选)
    • response_format:markdown(默认)或 json(字符串,可选)
  • nekoweb_read_file - 按原样读取文件源内容,包括 SSI 指令。图片文件(不超过 5 MB)会以图片形式显示(只读)

    • path:要读取的文件,例如 /mysite.nekoweb.org/index.html(字符串,必需)
    • offset:长文件的读取起始字符位置(数字,可选)
    • max_chars:返回的最大字符数,默认为 20,000(数字,可选)
  • nekoweb_write_file - 创建文本文件或替换文件的全部内容

    • path:要写入的文件路径,例如 /mysite.nekoweb.org/index.html(字符串,必需)
    • content:文件的完整新内容(字符串,必需)
    • mode:create_or_overwrite(默认)无论文件是否存在都会写入;edit_existing 在文件不存在时会失败(字符串,可选)
  • nekoweb_create - 创建空文件或新文件夹

    • path:要创建的路径,例如 /mysite.nekoweb.org/blog(字符串,必需)
    • is_folder:文件夹设为 true,空文件设为 false(布尔值,必需)
- **nekoweb_move** - 重命名或移动文件或文件夹 - `from`:当前路径(字符串,必填) - `to`:新路径。其父文件夹必须存在(字符串,必填)
  • nekoweb_delete - 永久删除文件或文件夹,包括其中的所有内容
    • path:要删除的路径(字符串,必填)
上传
  • nekoweb_upload_file - 将任意类型的文件上传到文件夹,并替换同名文件。超过 95 MB 的文件会自动分块上传

    • folder:目标文件夹,例如 /mysite.nekoweb.org/images。该文件夹必须已存在(字符串,可选)
    • local_paths:电脑上文件的完整路径(字符串数组,可选)
    • files:以 base64 提供的文件,每个文件包含 name 和 content_base64(对象数组,可选)
  • nekoweb_import_zip - 上传 .zip 并将其解压到文件夹中,替换路径相同的文件

    • folder:要解压到的文件夹,例如 /mysite.nekoweb.org(字符串,可选)
    • zip_local_path:电脑上 .zip 文件的完整路径(字符串,可选)
    • zip_base64:以 base64 编码的 .zip,如果未使用 zip_local_path(字符串,可选)
设置(需要 NEKOWEB_SESSION_TOKEN)
  • nekoweb_get_site_settings - 显示网站提供服务的文件夹及其选项:主站、友好链接、严格斜杠、是否列入 Explore、全局动态中的帖子、HTTP 访问和 NSFW(只读)

    • site:你拥有的网站域名,例如 mysite.nekoweb.org。省略时使用 API 密钥所属的网站(字符串,可选)
    • response_format:markdown(默认)或 json(字符串,可选)
  • nekoweb_update_site_settings - 更改网站的部分设置;未指定的设置保持不变。关闭友好链接或更改文件夹可能会导致网站链接失效

    • site:你拥有的网站域名。省略时使用 API 密钥所属的网站(字符串,可选)
    • main、nice_links、strict_slash、visible、show_in_global_feed、support_http、nsfw:开启或关闭某个选项(布尔值,可选)
    • folder:网站提供文件服务的文件夹,例如 /mysite.nekoweb.org。该文件夹必须存在(字符串,可选)
  • nekoweb_get_tags - 列出你拥有的网站上的标签,以及已使用的标签数和允许使用的标签数(只读)

    • site:你拥有的网站域名,例如 mysite.nekoweb.org。省略时使用 API 密钥所属的网站(字符串,可选)
    • response_format:markdown(默认)或 json(字符串,可选)
  • nekoweb_add_tag - 为你拥有的网站添加标签。网站最多可有 10 个标签

    • site:你拥有的网站域名。省略时使用 API 密钥所属的网站(字符串,可选)
    • tag:标签,长度为 2 到 32 个字符,例如 pixel-art(字符串,必填)
  • nekoweb_remove_tag - 从你拥有的网站移除标签

    • site:你拥有的网站域名。省略时使用 API 密钥所属的网站(字符串,可选)
    • tag:要移除的标签(字符串,必填)
  • nekoweb_get_stats_history - 获取网站浏览量、关注者和更新次数的逐日历史记录,类似于统计页面上的图表(只读)

    • site:你拥有的网站域名。省略时使用 API 密钥所属的网站(字符串,可选)
    • period:month(默认)、year 或 all。Nekoweb 仅在付费套餐中显示 year 和 all(字符串,可选)
    • response_format:markdown(默认)或 json(字符串,可选)
  • nekoweb_list_followers - 列出关注你网站的网站,并显示各网站的标题、链接、截图以及你是否也关注了对方(只读)

    • site:你拥有的网站域名。省略时使用 API 密钥所属的网站(字符串,可选)
    • sort:follow_date(默认)、recently_updated 或 most_followed(字符串,可选)
    • page:仅获取此页。省略时获取所有页面,最多 20 页(数字,可选)
    • response_format:markdown(默认)或 json(字符串,可选)
社交(新闻、全局动态和搜索无需密钥或令牌,其余功能需要 NEKOWEB_SESSION_TOKEN)
  • nekoweb_search_sites - 按名称或标签搜索 Nekoweb「探索」页面上的站点。提供会话令牌后,结果还会显示你关注了哪些站点(只读)

    • query:要搜索的文本。按名称搜索时会匹配域名的一部分;按标签搜索时必须使用确切的标签。省略则浏览所有站点(字符串,可选)
    • by:name(默认)或 tag(字符串,可选)
    • sort:most_viewed(默认)、most_followed、least_viewed、recently_updated、newest 或 oldest(字符串,可选)
    • page:结果页码,每页约 50 个站点,默认为 1(数字,可选)
    • response_format:markdown(默认)或 json(字符串,可选)
  • nekoweb_get_news - 获取 nekoweb.org 新闻页面上的最新公告,按时间从新到旧排列(只读)

    • limit:返回的帖子数量,范围为 1 到 100,默认为 5(数字,可选)
    • response_format:markdown(默认)或 json(字符串,可选)
  • nekoweb_get_global_feed - 从全局 RSS 动态中获取所有 Nekoweb 站点的最新帖子(只读)

    • limit:返回的帖子数量,范围为 1 到 50,默认为 20(数字,可选)
    • response_format:markdown(默认)或 json(字符串,可选)
  • nekoweb_get_feed - 获取你关注的站点的最新帖子,即你的动态中显示的内容(只读,需要会话令牌)

    • page:动态页码,按时间从新到旧排列,默认为 1(数字,可选)
    • response_format:markdown(默认)或 json(字符串,可选)
  • nekoweb_list_following - 列出你关注的站点,并按上次更新时间分组。Nekoweb 会排除站点所有者设置为不在「探索」中显示的站点(只读,需要会话令牌)

    • page:仅获取此页。省略则获取所有页面,最多 20 页(数字,可选)
    • response_format:markdown(默认)或 json(字符串,可选)
  • nekoweb_follow_site - 关注或取消关注站点。操作前会先检查,因此仅在需要时才会更改状态(需要会话令牌)

    • site:站点的域名,例如 fairfruit.nekoweb.org(字符串,必填)
    • follow:true 表示关注(默认),false 表示取消关注(布尔值,可选)
路径

路径从你账户的文件根目录开始,而不是从你的站点开始。每个站点的文件都位于以其域名命名的文件夹中,因此你的首页路径是 /yourname.nekoweb.org/index.html,而不是 /index.html。你不必记住这一点:助手会通过 nekoweb_list_sites 查找该文件夹。

注意事项

  • 速率限制。 Nekoweb 限制你在短时间内可以发出的 API 请求数量,对大型上传和 zip 导入的限制更严格。达到限制时,工具会告知限制重置时间。
  • 删除不可撤销。 Nekoweb 没有回收站。
  • 上传会覆盖文件。 上传文件或 zip 时,同名文件会被替换,且不会事先询问。
  • 整文件写入。 nekoweb_write_file 会替换整个文件,因此助手会先读取文件,再发送完整的新版本。

故障排除

消息解决方法
"No Nekoweb API key configured"未设置 NEKOWEB_API_KEY。将其添加到 MCP 配置中,然后重启客户端。
"redirected the request to its login page … missing or invalid"API 密钥错误或已重新生成。在 https://nekoweb.org/api 创建新的密钥。
"No Nekoweb session token configured"此工具需要 NEKOWEB_SESSION_TOKEN。请参阅获取会话令牌。
"Nekoweb rejected the session"登录会话已结束。重新登录 nekoweb.org,然后复制新的 token Cookie。
"Rate limit exceeded"等待消息中提示的重置时间,然后重试。
"File does not exist"路径可能缺少网站文件夹,例如 /yourname.nekoweb.org/。请让助手先列出你的网站。
工具未显示重启客户端,并检查是否已安装 Node.js 20.3 或更高版本(node --version)。

发现错误或想要新功能?提交 issue。

许可证

本项目基于 Apache 2.0 许可证授权。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。