stackprep-mcp 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- stackprep_mcp-0.1.0/.claude/settings.json +8 -0
- stackprep_mcp-0.1.0/.githooks/pre-commit +4 -0
- stackprep_mcp-0.1.0/.gitignore +22 -0
- stackprep_mcp-0.1.0/.mcp.json +8 -0
- stackprep_mcp-0.1.0/PKG-INFO +241 -0
- stackprep_mcp-0.1.0/README.md +221 -0
- stackprep_mcp-0.1.0/pyproject.toml +37 -0
- stackprep_mcp-0.1.0/scripts/generate_readme.py +284 -0
- stackprep_mcp-0.1.0/src/stackprep_mcp/__init__.py +0 -0
- stackprep_mcp-0.1.0/src/stackprep_mcp/server.py +389 -0
- stackprep_mcp-0.1.0/src/stackprep_mcp/skills/certification.md +110 -0
- stackprep_mcp-0.1.0/src/stackprep_mcp/skills/interview.md +109 -0
- stackprep_mcp-0.1.0/uv.lock +795 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.egg-info/
|
|
5
|
+
.venv/
|
|
6
|
+
dist/
|
|
7
|
+
build/
|
|
8
|
+
|
|
9
|
+
# Cache files (from CLI version)
|
|
10
|
+
.cv_cache.txt
|
|
11
|
+
.jd_cache.txt
|
|
12
|
+
.cert_cache.txt
|
|
13
|
+
|
|
14
|
+
# Local study packs and sessions (stored in ~/.stackprep by default)
|
|
15
|
+
study_later/
|
|
16
|
+
|
|
17
|
+
# Env
|
|
18
|
+
.env
|
|
19
|
+
.env.*
|
|
20
|
+
|
|
21
|
+
# macOS
|
|
22
|
+
.DS_Store
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: stackprep-mcp
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: stackprep as an MCP server — interview & certification prep for any AI client
|
|
5
|
+
Project-URL: Homepage, https://github.com/youngpada1/stackprep-mcp
|
|
6
|
+
Project-URL: Repository, https://github.com/youngpada1/stackprep-mcp
|
|
7
|
+
Author-email: Flavia Fauconnet <flavsferr@gmail.com>
|
|
8
|
+
License: MIT
|
|
9
|
+
Keywords: ai,certification,interview,mcp,prep
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Requires-Python: >=3.11
|
|
18
|
+
Requires-Dist: mcp[cli]>=1.0.0
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
|
|
21
|
+
# stackprep-mcp
|
|
22
|
+
|
|
23
|
+
> stackprep as an MCP server — interview & certification prep for any AI client
|
|
24
|
+
|
|
25
|
+
Works with any MCP-compatible client: **Claude Code**, **Cursor**, **Cline**, **Windsurf**, **Continue.dev**, **Codex CLI**, and more. No API key required — your existing AI subscription does the work.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## What it does
|
|
30
|
+
|
|
31
|
+
stackprep-mcp is a pure state-management MCP server. It tracks your session and study packs on disk; your AI client (Claude, Cursor, Codex, etc.) handles all the question generation and scoring logic using the skill rules returned at session start.
|
|
32
|
+
|
|
33
|
+
- One question at a time — interview or certification mode
|
|
34
|
+
- Instant scoring with doc links after every answer
|
|
35
|
+
- Auto-detects wrong/partial answers and builds a named study pack
|
|
36
|
+
- Sessions and study packs saved to disk — resume anytime, sync via iCloud
|
|
37
|
+
- Resume in-progress sessions across conversations or devices
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Install
|
|
42
|
+
|
|
43
|
+
Clone the repo and install dependencies with `uv`:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
git clone https://github.com/youngpada1/stackprep-mcp
|
|
47
|
+
cd stackprep-mcp
|
|
48
|
+
uv sync
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
> Requires [uv](https://docs.astral.sh/uv/) and Python 3.11+.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Configure your MCP client
|
|
56
|
+
|
|
57
|
+
### Claude Code
|
|
58
|
+
|
|
59
|
+
Create `.mcp.json` in your project root:
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"mcpServers": {
|
|
64
|
+
"stackprep": {
|
|
65
|
+
"command": "uv",
|
|
66
|
+
"args": ["run", "--directory", "/path/to/stackprep-mcp", "stackprep-mcp"]
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Cursor
|
|
73
|
+
|
|
74
|
+
Create `~/.cursor/mcp.json`:
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"mcpServers": {
|
|
79
|
+
"stackprep": {
|
|
80
|
+
"command": "uv",
|
|
81
|
+
"args": ["run", "--directory", "/path/to/stackprep-mcp", "stackprep-mcp"]
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Then open Cursor → **Cmd+Shift+J** → MCP tab — stackprep should appear with a green dot.
|
|
88
|
+
|
|
89
|
+
### Codex CLI
|
|
90
|
+
|
|
91
|
+
Add to `~/.codex/config.yaml`:
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
mcpServers:
|
|
95
|
+
stackprep:
|
|
96
|
+
command: uv
|
|
97
|
+
args:
|
|
98
|
+
- run
|
|
99
|
+
- --directory
|
|
100
|
+
- /path/to/stackprep-mcp
|
|
101
|
+
- stackprep-mcp
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Replace `/path/to/stackprep-mcp` with the absolute path to the cloned repo.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Study pack storage
|
|
109
|
+
|
|
110
|
+
Study packs and sessions are saved to `~/.stackprep/` by default.
|
|
111
|
+
|
|
112
|
+
**Sync across devices with iCloud** (recommended on macOS):
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Add to ~/.zshrc or ~/.zprofile
|
|
116
|
+
export STACKPREP_PACKS_DIR="$HOME/Documents/stackprep-packs"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
`~/Documents` is synced to iCloud by default on macOS (requires iCloud Drive > Desktop & Documents enabled). Your packs will be available on any Mac signed into your Apple ID — and readable via the Files app on iPhone.
|
|
120
|
+
|
|
121
|
+
**Custom path:**
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
export STACKPREP_PACKS_DIR="/path/to/your/folder"
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Point this at any Dropbox, Google Drive, or OneDrive folder for cross-platform sync.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Environment variables
|
|
132
|
+
|
|
133
|
+
| Variable | Default | Description |
|
|
134
|
+
|---|---|---|
|
|
135
|
+
| `STACKPREP_PACKS_DIR` | `~/.stackprep` | Root directory for packs and sessions. |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Skills (modes)
|
|
140
|
+
|
|
141
|
+
| Mode | Description |
|
|
142
|
+
|---|---|
|
|
143
|
+
| `certification` | description: Certification prep skill for the stackprep MCP server. Activated when mode is "certification". Drives question generation, scoring, adaptive difficulty, and study pack creation. |
|
|
144
|
+
| `interview` | description: Interview prep skill for the stackprep MCP server. Activated when mode is "interview". Drives question generation, scoring, adaptive difficulty, and study pack creation. |
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Tools
|
|
149
|
+
|
|
150
|
+
| Tool | Description | Args |
|
|
151
|
+
|---|---|---|
|
|
152
|
+
| `start_session` | Start a new stackprep session. Returns a session ID and the skill rules for the AI to follow. | `mode`, `cert_name`, `cv`, `jd`, `extra_topics` |
|
|
153
|
+
| `submit_answer` | Record the result of an answered question. | `session_id`, `result`, `question` |
|
|
154
|
+
| `flag_for_study` | Manually flag the current question for the study pack. | `session_id`, `question` |
|
|
155
|
+
| `end_session` | End the session. Returns the score and flagged topics so the AI can generate a study plan and study pack. | `session_id` |
|
|
156
|
+
| `save_study_pack` | Save the study pack content to disk. | `session_id`, `name`, `content` |
|
|
157
|
+
| `list_sessions` | List all saved sessions (pending and completed). | |
|
|
158
|
+
| `resume_session` | Resume a previously saved session. Returns full session state and skill rules. | `session_id` |
|
|
159
|
+
| `list_study_packs` | List all saved study packs. | |
|
|
160
|
+
| `load_study_pack` | Load a previously saved study pack by name. | `name` |
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Session flow
|
|
165
|
+
|
|
166
|
+
**Certification:**
|
|
167
|
+
```
|
|
168
|
+
list_sessions() ← always called first
|
|
169
|
+
→ start_session(mode="certification", cert_name="AWS SAA-C03")
|
|
170
|
+
→ [AI generates questions one at a time]
|
|
171
|
+
→ submit_answer(session_id, result="correct"|"partial"|"incorrect", question="...")
|
|
172
|
+
→ ... repeat ...
|
|
173
|
+
→ end_session(session_id)
|
|
174
|
+
→ save_study_pack(session_id, name="aws-saa-week1", content="...")
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Interview:**
|
|
178
|
+
```
|
|
179
|
+
list_sessions() ← always called first
|
|
180
|
+
→ start_session(mode="interview", cv="...", jd="...")
|
|
181
|
+
→ [AI generates questions one at a time]
|
|
182
|
+
→ submit_answer(session_id, result="correct"|"partial"|"incorrect", question="...")
|
|
183
|
+
→ ... repeat ...
|
|
184
|
+
→ end_session(session_id)
|
|
185
|
+
→ save_study_pack(session_id, name="python-interview-june", content="...")
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Resuming a session:**
|
|
189
|
+
```
|
|
190
|
+
list_sessions() → shows in-progress sessions
|
|
191
|
+
→ resume_session(session_id) → loads state + skill rules, continues where you left off
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**Loading a saved study pack:**
|
|
195
|
+
```
|
|
196
|
+
list_study_packs()
|
|
197
|
+
→ load_study_pack(name="aws-saa-week1")
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Session persistence
|
|
203
|
+
|
|
204
|
+
Every session is saved to disk on every update. At the start of each new conversation the AI automatically calls `list_sessions` and asks whether you want to resume an in-progress session or start a new one. Sessions are stored in `~/.stackprep/sessions/` (or your custom `STACKPREP_PACKS_DIR`).
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Also available as a Claude Code plugin
|
|
209
|
+
|
|
210
|
+
For Claude Projects or direct Claude.ai use, the behaviour rules are also available as a standalone skill file at [plugins/stackprep](https://github.com/youngpada1/stackprep/tree/main/plugins/stackprep) — no install needed.
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Contributing / Development
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
git clone https://github.com/youngpada1/stackprep-mcp
|
|
218
|
+
cd stackprep-mcp
|
|
219
|
+
|
|
220
|
+
# Install dependencies
|
|
221
|
+
uv sync
|
|
222
|
+
|
|
223
|
+
# Activate the pre-commit hook (auto-regenerates README on every commit)
|
|
224
|
+
git config core.hooksPath .githooks
|
|
225
|
+
|
|
226
|
+
# Run the server locally
|
|
227
|
+
uv run stackprep-mcp
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
The README is auto-generated from `server.py` tool definitions and the skills files in `src/stackprep_mcp/skills/`.
|
|
231
|
+
To regenerate manually:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
uv run python scripts/generate_readme.py
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## License
|
|
240
|
+
|
|
241
|
+
MIT — [Flavia Fauconnet](https://github.com/flavsferr)
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# stackprep-mcp
|
|
2
|
+
|
|
3
|
+
> stackprep as an MCP server — interview & certification prep for any AI client
|
|
4
|
+
|
|
5
|
+
Works with any MCP-compatible client: **Claude Code**, **Cursor**, **Cline**, **Windsurf**, **Continue.dev**, **Codex CLI**, and more. No API key required — your existing AI subscription does the work.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What it does
|
|
10
|
+
|
|
11
|
+
stackprep-mcp is a pure state-management MCP server. It tracks your session and study packs on disk; your AI client (Claude, Cursor, Codex, etc.) handles all the question generation and scoring logic using the skill rules returned at session start.
|
|
12
|
+
|
|
13
|
+
- One question at a time — interview or certification mode
|
|
14
|
+
- Instant scoring with doc links after every answer
|
|
15
|
+
- Auto-detects wrong/partial answers and builds a named study pack
|
|
16
|
+
- Sessions and study packs saved to disk — resume anytime, sync via iCloud
|
|
17
|
+
- Resume in-progress sessions across conversations or devices
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Install
|
|
22
|
+
|
|
23
|
+
Clone the repo and install dependencies with `uv`:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
git clone https://github.com/youngpada1/stackprep-mcp
|
|
27
|
+
cd stackprep-mcp
|
|
28
|
+
uv sync
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
> Requires [uv](https://docs.astral.sh/uv/) and Python 3.11+.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Configure your MCP client
|
|
36
|
+
|
|
37
|
+
### Claude Code
|
|
38
|
+
|
|
39
|
+
Create `.mcp.json` in your project root:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"mcpServers": {
|
|
44
|
+
"stackprep": {
|
|
45
|
+
"command": "uv",
|
|
46
|
+
"args": ["run", "--directory", "/path/to/stackprep-mcp", "stackprep-mcp"]
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Cursor
|
|
53
|
+
|
|
54
|
+
Create `~/.cursor/mcp.json`:
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"mcpServers": {
|
|
59
|
+
"stackprep": {
|
|
60
|
+
"command": "uv",
|
|
61
|
+
"args": ["run", "--directory", "/path/to/stackprep-mcp", "stackprep-mcp"]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Then open Cursor → **Cmd+Shift+J** → MCP tab — stackprep should appear with a green dot.
|
|
68
|
+
|
|
69
|
+
### Codex CLI
|
|
70
|
+
|
|
71
|
+
Add to `~/.codex/config.yaml`:
|
|
72
|
+
|
|
73
|
+
```yaml
|
|
74
|
+
mcpServers:
|
|
75
|
+
stackprep:
|
|
76
|
+
command: uv
|
|
77
|
+
args:
|
|
78
|
+
- run
|
|
79
|
+
- --directory
|
|
80
|
+
- /path/to/stackprep-mcp
|
|
81
|
+
- stackprep-mcp
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Replace `/path/to/stackprep-mcp` with the absolute path to the cloned repo.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Study pack storage
|
|
89
|
+
|
|
90
|
+
Study packs and sessions are saved to `~/.stackprep/` by default.
|
|
91
|
+
|
|
92
|
+
**Sync across devices with iCloud** (recommended on macOS):
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# Add to ~/.zshrc or ~/.zprofile
|
|
96
|
+
export STACKPREP_PACKS_DIR="$HOME/Documents/stackprep-packs"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
`~/Documents` is synced to iCloud by default on macOS (requires iCloud Drive > Desktop & Documents enabled). Your packs will be available on any Mac signed into your Apple ID — and readable via the Files app on iPhone.
|
|
100
|
+
|
|
101
|
+
**Custom path:**
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
export STACKPREP_PACKS_DIR="/path/to/your/folder"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Point this at any Dropbox, Google Drive, or OneDrive folder for cross-platform sync.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Environment variables
|
|
112
|
+
|
|
113
|
+
| Variable | Default | Description |
|
|
114
|
+
|---|---|---|
|
|
115
|
+
| `STACKPREP_PACKS_DIR` | `~/.stackprep` | Root directory for packs and sessions. |
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Skills (modes)
|
|
120
|
+
|
|
121
|
+
| Mode | Description |
|
|
122
|
+
|---|---|
|
|
123
|
+
| `certification` | description: Certification prep skill for the stackprep MCP server. Activated when mode is "certification". Drives question generation, scoring, adaptive difficulty, and study pack creation. |
|
|
124
|
+
| `interview` | description: Interview prep skill for the stackprep MCP server. Activated when mode is "interview". Drives question generation, scoring, adaptive difficulty, and study pack creation. |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Tools
|
|
129
|
+
|
|
130
|
+
| Tool | Description | Args |
|
|
131
|
+
|---|---|---|
|
|
132
|
+
| `start_session` | Start a new stackprep session. Returns a session ID and the skill rules for the AI to follow. | `mode`, `cert_name`, `cv`, `jd`, `extra_topics` |
|
|
133
|
+
| `submit_answer` | Record the result of an answered question. | `session_id`, `result`, `question` |
|
|
134
|
+
| `flag_for_study` | Manually flag the current question for the study pack. | `session_id`, `question` |
|
|
135
|
+
| `end_session` | End the session. Returns the score and flagged topics so the AI can generate a study plan and study pack. | `session_id` |
|
|
136
|
+
| `save_study_pack` | Save the study pack content to disk. | `session_id`, `name`, `content` |
|
|
137
|
+
| `list_sessions` | List all saved sessions (pending and completed). | |
|
|
138
|
+
| `resume_session` | Resume a previously saved session. Returns full session state and skill rules. | `session_id` |
|
|
139
|
+
| `list_study_packs` | List all saved study packs. | |
|
|
140
|
+
| `load_study_pack` | Load a previously saved study pack by name. | `name` |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Session flow
|
|
145
|
+
|
|
146
|
+
**Certification:**
|
|
147
|
+
```
|
|
148
|
+
list_sessions() ← always called first
|
|
149
|
+
→ start_session(mode="certification", cert_name="AWS SAA-C03")
|
|
150
|
+
→ [AI generates questions one at a time]
|
|
151
|
+
→ submit_answer(session_id, result="correct"|"partial"|"incorrect", question="...")
|
|
152
|
+
→ ... repeat ...
|
|
153
|
+
→ end_session(session_id)
|
|
154
|
+
→ save_study_pack(session_id, name="aws-saa-week1", content="...")
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**Interview:**
|
|
158
|
+
```
|
|
159
|
+
list_sessions() ← always called first
|
|
160
|
+
→ start_session(mode="interview", cv="...", jd="...")
|
|
161
|
+
→ [AI generates questions one at a time]
|
|
162
|
+
→ submit_answer(session_id, result="correct"|"partial"|"incorrect", question="...")
|
|
163
|
+
→ ... repeat ...
|
|
164
|
+
→ end_session(session_id)
|
|
165
|
+
→ save_study_pack(session_id, name="python-interview-june", content="...")
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Resuming a session:**
|
|
169
|
+
```
|
|
170
|
+
list_sessions() → shows in-progress sessions
|
|
171
|
+
→ resume_session(session_id) → loads state + skill rules, continues where you left off
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Loading a saved study pack:**
|
|
175
|
+
```
|
|
176
|
+
list_study_packs()
|
|
177
|
+
→ load_study_pack(name="aws-saa-week1")
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Session persistence
|
|
183
|
+
|
|
184
|
+
Every session is saved to disk on every update. At the start of each new conversation the AI automatically calls `list_sessions` and asks whether you want to resume an in-progress session or start a new one. Sessions are stored in `~/.stackprep/sessions/` (or your custom `STACKPREP_PACKS_DIR`).
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Also available as a Claude Code plugin
|
|
189
|
+
|
|
190
|
+
For Claude Projects or direct Claude.ai use, the behaviour rules are also available as a standalone skill file at [plugins/stackprep](https://github.com/youngpada1/stackprep/tree/main/plugins/stackprep) — no install needed.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Contributing / Development
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
git clone https://github.com/youngpada1/stackprep-mcp
|
|
198
|
+
cd stackprep-mcp
|
|
199
|
+
|
|
200
|
+
# Install dependencies
|
|
201
|
+
uv sync
|
|
202
|
+
|
|
203
|
+
# Activate the pre-commit hook (auto-regenerates README on every commit)
|
|
204
|
+
git config core.hooksPath .githooks
|
|
205
|
+
|
|
206
|
+
# Run the server locally
|
|
207
|
+
uv run stackprep-mcp
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
The README is auto-generated from `server.py` tool definitions and the skills files in `src/stackprep_mcp/skills/`.
|
|
211
|
+
To regenerate manually:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
uv run python scripts/generate_readme.py
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## License
|
|
220
|
+
|
|
221
|
+
MIT — [Flavia Fauconnet](https://github.com/flavsferr)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "stackprep-mcp"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = "stackprep as an MCP server — interview & certification prep for any AI client"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = { text = "MIT" }
|
|
7
|
+
requires-python = ">=3.11"
|
|
8
|
+
authors = [
|
|
9
|
+
{ name = "Flavia Fauconnet", email = "flavsferr@gmail.com" }
|
|
10
|
+
]
|
|
11
|
+
keywords = ["mcp", "interview", "certification", "ai", "prep"]
|
|
12
|
+
classifiers = [
|
|
13
|
+
"Development Status :: 3 - Alpha",
|
|
14
|
+
"Intended Audience :: Developers",
|
|
15
|
+
"License :: OSI Approved :: MIT License",
|
|
16
|
+
"Programming Language :: Python :: 3",
|
|
17
|
+
"Programming Language :: Python :: 3.11",
|
|
18
|
+
"Programming Language :: Python :: 3.12",
|
|
19
|
+
"Programming Language :: Python :: 3.13",
|
|
20
|
+
]
|
|
21
|
+
dependencies = [
|
|
22
|
+
"mcp[cli]>=1.0.0",
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
[project.urls]
|
|
26
|
+
Homepage = "https://github.com/youngpada1/stackprep-mcp"
|
|
27
|
+
Repository = "https://github.com/youngpada1/stackprep-mcp"
|
|
28
|
+
|
|
29
|
+
[project.scripts]
|
|
30
|
+
stackprep-mcp = "stackprep_mcp.server:main"
|
|
31
|
+
|
|
32
|
+
[build-system]
|
|
33
|
+
requires = ["hatchling"]
|
|
34
|
+
build-backend = "hatchling.build"
|
|
35
|
+
|
|
36
|
+
[tool.hatch.build.targets.wheel]
|
|
37
|
+
packages = ["src/stackprep_mcp"]
|