Sully Tarot MCP
by Xiaoran71
README.md
# Sully Tarot MCP
一个专门给 SullyOS 角色使用的无状态塔罗 MCP。角色真实调用工具抽牌,看到正逆位和关键词后,用自己的口吻解读,并在聊天里展示现成的 HTML 塔罗卡片。
## 特点
- 完整 78 张韦特体系牌组
- 单张、过去/现在/未来、关系牌阵
- 可选正逆位,单次抽牌不重复
- 使用 Web Crypto 随机抽取,不保存问题或结果
- Streamable HTTP MCP,兼容 SullyOS 通用 MCP 客户端
- 自带 SullyOS `[html]...[/html]` 卡片内容
- 单个 Cloudflare Worker,无数据库、无 API Key、无定时任务
> 塔罗用于娱乐和自我探索,不应替代医疗、法律、财务等专业判断。
## 部署到 Cloudflare Workers
```bash
npm run deploy
```
首次运行会由 Wrangler 引导登录 Cloudflare。部署成功后,MCP 地址通常是:
```text
https://sully-tarot-mcp.<你的子域>.workers.dev/mcp
```
Worker 对任意路径都提供相同 MCP 服务,因此根地址也可以使用;推荐保留 `/mcp` 便于辨认。
## 接入 SullyOS
1. SullyOS → 设置 → MCP 工具服务器 → 配置。
2. 新增服务器,名称填写 `塔罗`。
3. URL 填入上面的 Worker `/mcp` 地址,不需要 Token 和代理。
4. 点击“测试连接”,应发现一个工具 `draw_tarot`。
5. 启用服务器,并按需绑定到某个角色。
之后可以在聊天中说:
- “替我抽一张今天的牌。”
- “用三张牌看看这件事的过去、现在和未来。”
- “给我们抽一个关系牌阵。”
工具描述会要求角色先用自己的口吻解读,再把返回的 `sullyos_html` 放进 `[html]...[/html]` 中。HTML 卡片无脚本,符合 SullyOS 的沙盒限制。
## 本地验证
```bash
npm test
npm run dev
```
本项目没有运行时依赖。`npm run dev` 和 `npm run deploy` 会按需调用 Wrangler。
## MCP 工具
### `draw_tarot`
参数:
| 字段 | 类型 | 说明 |
|---|---|---|
| `spread` | `single \| three_card \| relationship` | 默认 `single` |
| `question` | string | 可选,最多 500 字符 |
| `allow_reversed` | boolean | 是否允许逆位,默认 `true` |
服务完全无状态:每次调用独立抽牌,不写入数据库、Cookie 或日志存储。
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues