内容
# stackprep-pro
> stackprep-pro — 面试和认证准备 MCP 服务器,适用于任何 AI 客户端
适用于 **任何兼容 MCP 的客户端** — Claude Code、Cursor、Cline、Windsurf、Continue.dev、Codex CLI,以及任何其他支持模型上下文协议的客户端。不需要 API 密钥 — 您现有的 AI 订阅即可完成工作。
在 PyPI 上可用:`uvx stackprep-pro`
---
## 功能介绍
stackprep-pro 是一个纯粹的状态管理 MCP 服务器。它跟踪您的会话和学习包存储在磁盘上;您的 AI 客户端(Claude、Cursor、Codex 等)使用会话开始时返回的技能规则处理所有问题生成和评分逻辑。
- 每次一个问题 — 面试或认证模式
- 每次回答后立即评分,并附有文档链接
- 自动检测错误/部分答案,并生成命名学习包
- 会话和学习包保存到磁盘 — 随时恢复,支持 iCloud 同步
- 跨对话或设备恢复正在进行的会话
---
## 安装
```bash
uvx stackprep-pro
```
> 需要 [uv](https://docs.astral.sh/uv/)。使用 `curl -LsSf https://astral.sh/uv/install.sh | sh` 安装它。
---
## 配置您的 MCP 客户端
配置对于每个客户端都相同 — 只需指向 `uvx stackprep-pro`。
### Claude Code
在项目根目录中创建 `.mcp.json`:
```json
{
"mcpServers": {
"stackprep": {
"command": "uvx",
"args": ["stackprep-pro"]
}
}
}
```
### Cursor
创建 `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"stackprep": {
"command": "uvx",
"args": ["stackprep-pro"]
}
}
}
```
然后打开 Cursor → **Cmd+Shift+J** → MCP 标签 — stackprep 应该出现并带有绿色圆点。
### Codex CLI
添加到 `~/.codex/config.yaml`:
```yaml
mcpServers:
stackprep:
command: uvx
args:
- stackprep-pro
```
### 任何其他兼容 MCP 的客户端
模式始终相同:
```json
{
"mcpServers": {
"stackprep": {
"command": "uvx",
"args": ["stackprep-pro"]
}
}
}
```
将此内容粘贴到客户端使用的任何配置格式中(Cline、Windsurf、Continue.dev 等)。
---
## 学习包存储
学习包和会话默认保存到 `~/.stackprep/`。
**使用 iCloud 跨设备同步**(推荐在 macOS 上):
```bash
# 添加到 ~/.zshrc 或 ~/.zprofile
export STACKPREP_PACKS_DIR="$HOME/Documents/stackprep-packs"
```
`~/Documents` 默认在 macOS 上同步到 iCloud(需要启用 iCloud Drive > 桌面和文档)。您的学习包将在任何登录到您的 Apple ID 的 Mac 上可用 — 并可通过 iPhone 上的文件应用访问。
**自定义路径:**
```bash
export STACKPREP_PACKS_DIR="/path/to/your/folder"
```
将此路径指向任何 Dropbox、Google Drive 或 OneDrive 文件夹,以实现跨平台同步。
---
## 环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| `STACKPREP_PACKS_DIR` | `~/.stackprep` | 学习包和会话的根目录。 |
---
## 技能(模式)
| 模式 | 描述 |
|---|---|
| `certification` | 描述:stackprep-pro MCP 服务器的认证准备技能。在模式为“认证”时激活。驱动问题生成、评分、自适应难度和学习包创建。 |
| `interview` | 描述:stackprep-pro MCP 服务器的面试准备技能。在模式为“面试”时激活。驱动问题生成、评分、自适应难度和学习包创建。 |
---
## 工具
| 工具 | 描述 | 参数 |
|---|---|---|
| `begin` | 在每次对话开始时调用此工具。返回已格式化的第一个问题 | |
| `start_session` | 开始一个新的 stackprep 会话。返回会话 ID 和 AI 要遵循的技能规则。 | `mode`, `cert_name`, `cv`, `jd`, `extra_topics` |
| `submit_answer` | 记录已回答问题的结果。 | `session_id`, `result`, `question` |
| `flag_for_study` | 手动将当前问题标记为学习包。 | `session_id`, `question` |
| `save_session` | 保存正在进行的会话,以便用户可以稍后继续。 | `session_id`, `session_name` |
| `exit_session` | 用户想要离开正在进行的会话时始终调用此工具 — 任意以下操作:“exit”,“quit”, | `session_id` |
| `discard_session` | 永久删除会话。在用户退出并回答“否”以保存会话时调用此工具。 | `session_id` |
| `end_session` | 结束会话。返回分数和标记的主题,以便 AI 可以生成学习计划和学习包。 | `session_id` |
| `save_study_pack` | 将学习包内容保存到磁盘。 | `session_id`, `name`, `content` |
| `list_sessions` | 列出已保存的会话。在用户想要继续时静默调用此工具。永远不要向用户提及此工具。 | `mode` |
| `resume_session` | 恢复以前保存的会话。返回完整的会话状态和技能规则。 | `session_id` |
| `list_study_packs` | 列出已保存的学习包。在用户想要查看或加载学习包时静默调用此工具。永远不要向用户提及此工具。 | `mode` |
| `load_study_pack` | 按名称加载以前保存的学习包。 | `name` |
---
## 会话流程
**认证:**
```
list_sessions() ← 始终在开始时调用
→ start_session(mode="certification", cert_name="AWS SAA-C03")
→ [AI 生成问题,一次一个]
→ submit_answer(session_id, result="correct"|"partial"|"incorrect", question="...")
→ ... 重复 ...
→ end_session(session_id)
→ save_study_pack(session_id, name="aws-saa-week1", content="...")
```
**面试:**
```
list_sessions() ← 始终在开始时调用
→ start_session(mode="interview", cv="...", jd="...")
→ [AI 生成问题,一次一个]
→ submit_answer(session_id, result="correct"|"partial"|"incorrect", question="...")
→ ... 重复 ...
→ end_session(session_id)
→ save_study_pack(session_id, name="python-interview-june", content="...")
```
**恢复会话:**
```
list_sessions() → 显示正在进行的会话
→ resume_session(session_id) → 加载状态 + 技能规则,继续您离开的地方
```
**加载已保存的学习包:**
```
list_study_packs()
→ load_study_pack(name="aws-saa-week1")
```
---
## 会话持久性
每次更新时,每个会话都会保存到磁盘。在每次新对话开始时,AI 会自动调用 `list_sessions`,并询问您是否要恢复正在进行的会话或开始新的会话。会话存储在 `~/.stackprep/sessions/`(或您的自定义 `STACKPREP_PACKS_DIR`)中。
---
## 也可作为 Claude Code 插件使用
对于 Claude 项目或直接的 Claude.ai 使用,行为规则也作为一个独立的技能文件在 [plugins/stackprep](https://github.com/youngpada1/stackprep/tree/main/plugins/stackprep) 中提供 — 无需安装。
---
## 贡献/开发
```bash
git clone https://github.com/youngpada1/stackprep-pro
cd stackprep-pro
# 安装依赖项
uv sync
# 激活 pre-commit 钩子(每次提交自动重新生成 README)
git config core.hooksPath .githooks
# 在本地运行服务器
uv run stackprep-pro
```
README 从 `server.py` 工具定义和 `src/stackprep_pro/skills/` 中的技能文件自动生成。
要手动重新生成:
```bash
uv run python scripts/generate_readme.py
```
---
## 许可证
MIT — [Flavia Fauconnet](https://github.com/flavsferr)