aipass-th-mcp
by agl01cpg
README.md
# aipass-th-mcp
MCP server ที่เชื่อมต่อกับ **TH-AI Passport** (`https://de.aipass.net`) ผ่านเบราว์เซอร์จริง
(Playwright) เพื่อดึงรายการแชท / เนื้อหาแชท และส่งข้อความใหม่ ทำงานบนคอมพิวเตอร์ของคุณเอง
ไม่ใช่บนเซิร์ฟเวอร์ของใคร
> ⚠️ นี่คือการ reverse-engineer endpoint ภายใน (`/loaders/...`) ของเว็บนี้เอง ไม่ใช่ API
> ทางการที่มีเอกสารรองรับ ถ้าเว็บอัปเดต UI หรือโครงสร้างข้อมูล สคริปต์อาจต้องแก้ selector ใหม่
> ใช้กับบัญชีของคุณเองเท่านั้น และเป็นความรับผิดชอบของคุณในการตรวจสอบเงื่อนไขการใช้งานของเว็บ
## สิ่งที่ต้องมี
- Node.js 18 ขึ้นไป
- เบราว์เซอร์ Chromium ของ Playwright (ติดตั้งอัตโนมัติตอน `npm install`)
## ติดตั้ง
```bash
cd aipass-mcp
npm install
```
คำสั่งนี้จะติดตั้งไลบรารีและดาวน์โหลด Chromium ให้ Playwright อัตโนมัติ (ผ่าน `postinstall`)
## เพิ่มเข้า Claude Desktop / Claude Code
แก้ไฟล์ config ของ Claude Desktop:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
เพิ่ม (แก้ path ให้เป็น path เต็มของโฟลเดอร์นี้ในเครื่องคุณ):
```json
{
"mcpServers": {
"aipass-th": {
"command": "node",
"args": ["/absolute/path/to/aipass-mcp/server.js"]
}
}
}
```
แล้วรีสตาร์ท Claude Desktop
(ถ้าใช้ Claude Code แทน ให้เพิ่มด้วย `claude mcp add aipass-th node /absolute/path/to/aipass-mcp/server.js`)
## การใช้งานครั้งแรก: login
บอก Claude ให้เรียกเครื่องมือ `login` (ในเซิร์ฟเวอร์ `aipass-th`) หนึ่งครั้ง — จะมีหน้าต่าง
เบราว์เซอร์เปิดขึ้นมาให้คุณ login เข้า TH-AI Passport ด้วยตัวเอง (username/password หรือวิธีที่เว็บ
กำหนด) เมื่อ login สำเร็จ session จะถูกบันทึกไว้ในเครื่องนี้ที่โฟลเดอร์
`~/.aipass-mcp-profile` (เปลี่ยนตำแหน่งได้ด้วย env var `AIPASS_PROFILE_DIR`)
ครั้งต่อ ๆ ไปไม่ต้อง login ใหม่ เว้นแต่ session หมดอายุ — ถ้าเครื่องมืออื่นแจ้งว่ายังไม่ได้
login ให้เรียก `login` ซ้ำอีกครั้ง
session/cookie ถูกเก็บไว้ในเครื่องนี้เท่านั้น ไม่ได้ถูกส่งออกไปที่ไหนทั้งสิ้น
## เครื่องมือที่มีให้ใช้
| เครื่องมือ | คำอธิบาย |
|---|---|
| `login` | เปิดเบราว์เซอร์ให้ login ด้วยตนเอง (ครั้งแรก/เมื่อ session หมดอายุ) |
| `list_chats` | รายการแชท (id + ชื่อ) ที่แสดงในแถบด้านข้าง |
| `search_chats` | ค้นหาแชทจากคำค้น |
| `get_chat` | ดึงเนื้อหาแชททั้งหมดจาก id |
| `send_message` | ส่งข้อความไปยังแชท (หรือสร้างแชทใหม่ถ้าไม่ระบุ id) แล้วรอคำตอบจาก AI |
## ข้อจำกัดที่รู้อยู่แล้ว
- `list_chats` / `search_chats` อ่านจาก DOM ของแถบด้านข้าง ถ้ามีแชทจำนวนมากที่ต้อง
เลื่อน/โหลดเพิ่ม อาจได้ไม่ครบทุกรายการในครั้งเดียว
- `send_message` ใช้การพิมพ์ + กด Enter จริงในหน้าเว็บ และรอคำตอบสูงสุด ~60 วินาที ถ้า AI
ตอบช้ากว่านั้นอาจต้องเรียก `get_chat` ซ้ำเองเพื่อดูคำตอบล่าสุด
- ทำงานแบบ headless (ไม่เห็นหน้าต่าง) ยกเว้นตอน `login`
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues