Skip to main content
Glama
chillpoints

NodeSeek MCP Server

by chillpoints
README.md
# NodeSeek Model Context Protocol (MCP) Server

这是一个为 **NodeSeek** 论坛开发的非官方 Model Context Protocol (MCP) 服务器。通过本服务器,大语言模型(如 Claude, GPT)可以直接在编辑器(如 Cursor, Claude Desktop)中与 NodeSeek 论坛进行交互,支持获取个人状态、每日签到、浏览贴子、阅读内容(自动转为 Markdown)、发布回复、发表新主题等功能。

本项目采用**逆向 API 模拟方式**开发,使用 `curl_cffi` 强力模拟 Chrome 120 的 JA3 与 HTTP/2 指纹特征,能够无缝绕过 NodeSeek 论坛的 Cloudflare 防护,运行迅速、资源占用极小,无需依赖重量级的无头浏览器。

---

## 🛠️ 包含的 MCP 工具

本服务器向大语言模型开放了以下 8 个核心工具:

1. **`get_user_status`**:获取已登录用户的账户信息(如:用户 ID、昵称、鸡腿/金币数、星辰数、等级、发贴/回帖数、未读消息等)。
2. **`check_in`**:执行论坛每日签到,自动获取鸡腿福利(支持随机和固定签到模式)。
3. **`list_posts`**:获取论坛主页或指定板块(如 `daily` 日常, `tech` 技术, `sandbox` 沙盒)的帖子列表。
4. **`view_post`**:阅读某一帖子的正文及所有楼层评论,自动转换为精美的 Markdown 格式便于 LLM 理解。
5. **`publish_comment`**:对指定帖子发表评论回复。
6. **`publish_post`**:在指定板块(推荐测试在 `sandbox` 沙盒版块)发布新主题贴。
7. **`list_notifications`**:拉取账户的未读系统通知(提到我的、回复我的)。
8. **`list_messages`**:拉取站内私信会话列表。

---

## 📥 安装与运行步骤

### 1. 安装依赖

在项目根目录运行以下命令安装必要的 Python 依赖:

```bash
pip install -r requirements.txt
```

### 2. 配置账户 Cookie

为了调用权限接口(如签到、发帖、读私信等),需要配置你的登录 Cookie:

1. 复制同级目录下的 `config.json.example` 并重命名为 `config.json`:
   ```json
   {
     "cookie": "YOUR_COOKIE_HERE",
     "base_url": "https://www.nodeseek.com",
     "proxy": ""
   }
   ```
2. 使用 Chrome 浏览器登录 NodeSeek 论坛。
3. 按下 `F12` 打开开发者工具,进入 **Network (网络)** 标签页。
4. 刷新一下页面,点击任意一个请求(例如 `www.nodeseek.com` 或 `api/` 下的请求)。
5. 在右侧 **Headers (头部)** 详情中的 **Request Headers (请求标头)** 里找到 `cookie: ...`,将其完整值复制下来。
6. 将复制的 Cookie 填入 `config.json` 的 `cookie` 字段中(或设置为环境变量 `NODESEEK_COOKIE`)。

### 3. 运行测试

在填入正确的 Cookie 后,可以运行模拟测试脚本来检查连接和解析情况:

```bash
# Windows 环境下如果包含 Emoji 等字符,建议设置 UTF-8 编码运行:
$env:PYTHONIOENCODING="utf-8"
python test_client.py
```

### 4. 在 MCP 客户端中配置

#### 1) 配合 Cursor 使用
打开 Cursor 软件,依次进入 `Settings` -> `Features` -> `MCP`:
- 点击 `+ Add New MCP Server`
- **Name**: `NodeSeek`
- **Type**: `command`
- **Command**:
  ```bash
  python D:/Project/nodeseek-mcp/server.py
  ```
  *(请根据你本地的绝对路径进行相应调整)*

#### 2) 配合 Claude Desktop 使用
在 `%APPDATA%\Claude\claude_desktop_config.json` 配置文件中添加以下内容:

```json
{
  "mcpServers": {
    "nodeseek": {
      "command": "python",
      "args": [
        "D:/Project/nodeseek-mcp/server.py"
      ]
    }
  }
}
```

---

## ⚠️ 安全与合规说明

- **凭据安全**:本工具仅在本地运行,你的 Cookie 信息仅保存在本地 `config.json` 文件或你的环境变量中,绝对不会上传到任何第三方服务器。请妥善保管好包含 Cookie 的配置文件。
- **合理使用**:自动化签到、发帖和评论建议设置合理的间隔时间,请勿利用本工具进行高频恶意刷帖、发小广告等违反 NodeSeek 论坛使用协议 (TOS) 的行为,避免触发论坛防护导致账号被封禁。