关于 Nekoweb
Nekoweb 是用于管理 Nekoweb 网站的 MCP 服务,供站点所有者查看和编辑文件、上传内容,并访问账户及社区数据;使用可选会话令牌可启用更多功能。
主要功能
- 01浏览站点文件和文件夹
- 02读取、写入、移动和删除文件
- 03上传文件并导入 ZIP 压缩包
- 04查看站点信息和 API 限额
- 05管理设置、标签、统计数据和关注
适用场景
- 01检查或更新 Nekoweb 站点文件
- 02上传本地站点项目或 ZIP 压缩包
- 03查看站点统计数据和账户限额
MCP 相关
它向 MCP 客户端提供 Nekoweb 站点及文件操作工具。必须配置 API 密钥;可选会话令牌可启用设置、标签、统计历史、关注者、动态、关注列表和搜索功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y nekoweb-mcp-serverNEKOWEB_API_KEY密钥Your API key from https://nekoweb.org/apiNEKOWEB_LOCAL_ROOTOptional folder that limits which local files the upload tools may readNEKOWEB_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+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
24收录的工具列表 · 更新于 5 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| site | string | 否 | 其他站点的域名,例如 “fairfruit.nekoweb.org”。如果是你自己的站点,请省略。 |
| response_format | enum | 否 | 可读文本使用 'markdown'(默认),结构化数据使用 'json'markdown | json |
详细介绍
Nekoweb MCP 服务
安装
先决条件
- Node.js 20.3 或更高版本。Claude Desktop 扩展无需安装,因为 Claude Desktop 自带 Node.js。
- Nekoweb API 密钥(必需)。登录 Nekoweb,打开 https://nekoweb.org/api 并生成密钥。该密钥可完全访问你网站上的文件,请妥善保管。
- Nekoweb 会话令牌(可选)。不使用令牌时,Nekoweb 官方 API 的所有功能均可用:你的文件、上传、网站信息和限制。使用令牌后,还可访问网站设置、标签、统计历史、关注者、你的动态、关注的网站,以及显示你关注对象的搜索结果。请参阅获取会话令牌。
获取会话令牌
会话令牌是浏览器用于登录 nekoweb.org 的 Cookie。服务器使用它来读取和更改官方 API 未提供的内容。
- 在浏览器中登录 https://nekoweb.org。
- 打开开发者工具(F12),然后前往 Application → Cookies(Chrome、Edge)或 Storage → Cookies(Firefox),再选择
https://nekoweb.org。 - 复制名为
token的 Cookie 值。 - 按照下方示例,将其填入 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_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 许可证授权。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。