@prmichaelsen/reddit-mcp 0.1.0 → 0.1.1
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.
- package/.claude/settings.local.json +4 -1
- package/README.md +253 -27
- package/agent/progress.yaml +29 -30
- package/dist/factory.js +1206 -0
- package/dist/factory.js.map +4 -4
- package/dist/index.js +1206 -0
- package/dist/index.js.map +4 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1206 -0
- package/dist/server.js.map +4 -4
- package/dist/tools/account.d.ts +4 -0
- package/dist/tools/account.d.ts.map +1 -0
- package/dist/tools/comments.d.ts +4 -0
- package/dist/tools/comments.d.ts.map +1 -0
- package/dist/tools/flair.d.ts +4 -0
- package/dist/tools/flair.d.ts.map +1 -0
- package/dist/tools/messages.d.ts +4 -0
- package/dist/tools/messages.d.ts.map +1 -0
- package/dist/tools/moderation.d.ts +4 -0
- package/dist/tools/moderation.d.ts.map +1 -0
- package/dist/tools/multireddits.d.ts +4 -0
- package/dist/tools/multireddits.d.ts.map +1 -0
- package/dist/tools/posts.d.ts +4 -0
- package/dist/tools/posts.d.ts.map +1 -0
- package/dist/tools/subreddits.d.ts +4 -0
- package/dist/tools/subreddits.d.ts.map +1 -0
- package/dist/tools/users.d.ts +4 -0
- package/dist/tools/users.d.ts.map +1 -0
- package/dist/tools/voting.d.ts +4 -0
- package/dist/tools/voting.d.ts.map +1 -0
- package/dist/tools/wiki.d.ts +4 -0
- package/dist/tools/wiki.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/server.ts +22 -0
- package/src/tools/account.ts +84 -0
- package/src/tools/comments.ts +73 -0
- package/src/tools/flair.ts +79 -0
- package/src/tools/messages.ts +126 -0
- package/src/tools/moderation.ts +292 -0
- package/src/tools/multireddits.ts +152 -0
- package/src/tools/posts.ts +177 -0
- package/src/tools/subreddits.ts +137 -0
- package/src/tools/users.ts +181 -0
- package/src/tools/voting.ts +90 -0
- package/src/tools/wiki.ts +118 -0
- package/tests/fixtures/reddit-responses.ts +159 -0
- package/tests/unit/account.test.ts +95 -0
- package/tests/unit/comments.test.ts +92 -0
- package/tests/unit/flair.test.ts +101 -0
- package/tests/unit/messages.test.ts +106 -0
- package/tests/unit/moderation.test.ts +243 -0
- package/tests/unit/multireddits.test.ts +136 -0
- package/tests/unit/posts.test.ts +155 -0
- package/tests/unit/subreddits.test.ts +125 -0
- package/tests/unit/transport.test.ts +13 -0
- package/tests/unit/users.test.ts +124 -0
- package/tests/unit/voting.test.ts +110 -0
- package/tests/unit/wiki.test.ts +116 -0
package/README.md
CHANGED
|
@@ -1,50 +1,276 @@
|
|
|
1
1
|
# reddit-mcp
|
|
2
2
|
|
|
3
|
-
MCP server wrapping the Reddit API for AI agents.
|
|
3
|
+
MCP server wrapping the Reddit API for AI agents. Provides **88 tools** covering listings, search, posts, comments, voting, messaging, moderation, multireddits, wiki, and more.
|
|
4
4
|
|
|
5
5
|
> Built with [Agent Context Protocol](https://github.com/prmichaelsen/agent-context-protocol)
|
|
6
6
|
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- **88 MCP tools** — full Reddit API coverage across 13 categories
|
|
10
|
+
- **Reddit OAuth 2.0** authentication with automatic token refresh
|
|
11
|
+
- **Dual transport**: stdio (default) and Streamable HTTP
|
|
12
|
+
- **Rate-limit aware**: respects Reddit's X-Ratelimit headers (100 QPM)
|
|
13
|
+
- **Retry logic**: automatic retry with exponential backoff for transient errors
|
|
14
|
+
- **Error mapping**: clear, actionable error messages for all API errors
|
|
15
|
+
- **Factory export**: for multi-tenant use via mcp-auth
|
|
16
|
+
|
|
7
17
|
## Quick Start
|
|
8
18
|
|
|
9
|
-
|
|
19
|
+
### 1. Install
|
|
10
20
|
|
|
11
|
-
|
|
21
|
+
```bash
|
|
22
|
+
npm install
|
|
23
|
+
npm run build
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 2. Configure OAuth
|
|
27
|
+
|
|
28
|
+
Create a Reddit app at https://www.reddit.com/prefs/apps and set these environment variables:
|
|
29
|
+
|
|
30
|
+
```env
|
|
31
|
+
REDDIT_CLIENT_ID=your_client_id
|
|
32
|
+
REDDIT_CLIENT_SECRET=your_client_secret
|
|
33
|
+
REDDIT_REDIRECT_URI=http://localhost:8080/callback
|
|
34
|
+
REDDIT_USER_AGENT=platform:app-id:v0.1.0 (by /u/username)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 3. Run
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# stdio transport (default)
|
|
41
|
+
npm start
|
|
42
|
+
|
|
43
|
+
# HTTP transport
|
|
44
|
+
node dist/index.js --transport http --port 3000
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 4. Claude Desktop Configuration
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"mcpServers": {
|
|
52
|
+
"reddit": {
|
|
53
|
+
"command": "node",
|
|
54
|
+
"args": ["/path/to/reddit-mcp/dist/index.js"],
|
|
55
|
+
"env": {
|
|
56
|
+
"REDDIT_CLIENT_ID": "your_client_id",
|
|
57
|
+
"REDDIT_CLIENT_SECRET": "your_client_secret",
|
|
58
|
+
"REDDIT_USER_AGENT": "platform:app-id:v0.1.0 (by /u/username)"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Transport Options
|
|
66
|
+
|
|
67
|
+
| Transport | Flag | Default |
|
|
68
|
+
|-----------|------|---------|
|
|
69
|
+
| stdio | `--transport stdio` | Yes |
|
|
70
|
+
| HTTP | `--transport http` | No |
|
|
71
|
+
|
|
72
|
+
| Option | CLI | Env Var | Default |
|
|
73
|
+
|--------|-----|---------|---------|
|
|
74
|
+
| Port | `--port 3000` | `HTTP_PORT` | 3000 |
|
|
75
|
+
| Host | `--host localhost` | `HTTP_HOST` | localhost |
|
|
76
|
+
|
|
77
|
+
## Tools Reference
|
|
78
|
+
|
|
79
|
+
### Listings (9 tools)
|
|
80
|
+
|
|
81
|
+
| Tool | Description | Scope |
|
|
82
|
+
|------|-------------|-------|
|
|
83
|
+
| `reddit_listings_best` | Get best posts | read |
|
|
84
|
+
| `reddit_listings_hot` | Get hot posts (frontpage or subreddit) | read |
|
|
85
|
+
| `reddit_listings_new` | Get newest posts | read |
|
|
86
|
+
| `reddit_listings_rising` | Get rising posts | read |
|
|
87
|
+
| `reddit_listings_top` | Get top posts (with time filter) | read |
|
|
88
|
+
| `reddit_listings_controversial` | Get controversial posts | read |
|
|
89
|
+
| `reddit_comments_thread` | Get post with full comment tree | read |
|
|
90
|
+
| `reddit_duplicates` | Get cross-posts / duplicates | read |
|
|
91
|
+
| `reddit_info` | Get info about things by fullname | read |
|
|
92
|
+
|
|
93
|
+
### Search (2 tools)
|
|
12
94
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
95
|
+
| Tool | Description | Scope |
|
|
96
|
+
|------|-------------|-------|
|
|
97
|
+
| `reddit_search` | Search across all of Reddit | read |
|
|
98
|
+
| `reddit_search_subreddit` | Search within a specific subreddit | read |
|
|
16
99
|
|
|
17
|
-
|
|
100
|
+
### Posts (9 tools)
|
|
18
101
|
|
|
19
|
-
|
|
102
|
+
| Tool | Description | Scope |
|
|
103
|
+
|------|-------------|-------|
|
|
104
|
+
| `reddit_submit` | Create a new post (link or self) | submit |
|
|
105
|
+
| `reddit_edit` | Edit a self-post or comment | edit |
|
|
106
|
+
| `reddit_delete` | Delete a post or comment | edit |
|
|
107
|
+
| `reddit_hide` | Hide a post from listings | report |
|
|
108
|
+
| `reddit_unhide` | Unhide a post | report |
|
|
109
|
+
| `reddit_mark_nsfw` | Mark a post as NSFW | modposts |
|
|
110
|
+
| `reddit_unmark_nsfw` | Remove NSFW mark | modposts |
|
|
111
|
+
| `reddit_spoiler` | Mark a post as spoiler | modposts |
|
|
112
|
+
| `reddit_unspoiler` | Remove spoiler mark | modposts |
|
|
20
113
|
|
|
21
|
-
|
|
22
|
-
- `@acp.plan` - Plan milestones and tasks
|
|
23
|
-
- `@acp.proceed` - Continue with next task
|
|
24
|
-
- `@acp.status` - Check project status
|
|
114
|
+
### Comments (2 tools)
|
|
25
115
|
|
|
26
|
-
|
|
116
|
+
| Tool | Description | Scope |
|
|
117
|
+
|------|-------------|-------|
|
|
118
|
+
| `reddit_comment` | Post a comment or reply | submit |
|
|
119
|
+
| `reddit_more_children` | Load more comments from collapsed threads | read |
|
|
120
|
+
|
|
121
|
+
### Voting, Save & Report (4 tools)
|
|
122
|
+
|
|
123
|
+
| Tool | Description | Scope |
|
|
124
|
+
|------|-------------|-------|
|
|
125
|
+
| `reddit_vote` | Upvote/downvote/unvote | vote |
|
|
126
|
+
| `reddit_save` | Save content | save |
|
|
127
|
+
| `reddit_unsave` | Unsave content | save |
|
|
128
|
+
| `reddit_report` | Report content | report |
|
|
129
|
+
|
|
130
|
+
### Account (7 tools)
|
|
131
|
+
|
|
132
|
+
| Tool | Description | Scope |
|
|
133
|
+
|------|-------------|-------|
|
|
134
|
+
| `reddit_me` | Get authenticated user info | identity |
|
|
135
|
+
| `reddit_me_karma` | Get karma breakdown by subreddit | mysubreddits |
|
|
136
|
+
| `reddit_me_prefs` | Get user preferences | identity |
|
|
137
|
+
| `reddit_me_prefs_update` | Update user preferences | account |
|
|
138
|
+
| `reddit_me_trophies` | Get user trophies | identity |
|
|
139
|
+
| `reddit_me_friends` | Get friends list | mysubreddits |
|
|
140
|
+
| `reddit_me_blocked` | Get blocked users list | mysubreddits |
|
|
141
|
+
|
|
142
|
+
### Users (9 tools)
|
|
143
|
+
|
|
144
|
+
| Tool | Description | Scope |
|
|
145
|
+
|------|-------------|-------|
|
|
146
|
+
| `reddit_user_about` | Get user profile | read |
|
|
147
|
+
| `reddit_user_overview` | Get user's recent posts and comments | history |
|
|
148
|
+
| `reddit_user_submitted` | Get user's submitted posts | history |
|
|
149
|
+
| `reddit_user_comments` | Get user's comments | history |
|
|
150
|
+
| `reddit_user_saved` | Get user's saved items | history |
|
|
151
|
+
| `reddit_user_upvoted` | Get user's upvoted posts | history |
|
|
152
|
+
| `reddit_user_downvoted` | Get user's downvoted posts | history |
|
|
153
|
+
| `reddit_user_trophies` | Get user's trophies | read |
|
|
154
|
+
| `reddit_block_user` | Block a user | account |
|
|
155
|
+
|
|
156
|
+
### Messages (7 tools)
|
|
157
|
+
|
|
158
|
+
| Tool | Description | Scope |
|
|
159
|
+
|------|-------------|-------|
|
|
160
|
+
| `reddit_inbox` | Get inbox messages | privatemessages |
|
|
161
|
+
| `reddit_unread` | Get unread messages | privatemessages |
|
|
162
|
+
| `reddit_sent` | Get sent messages | privatemessages |
|
|
163
|
+
| `reddit_compose` | Send a private message | privatemessages |
|
|
164
|
+
| `reddit_read_message` | Mark message as read | privatemessages |
|
|
165
|
+
| `reddit_unread_message` | Mark message as unread | privatemessages |
|
|
166
|
+
| `reddit_del_msg` | Delete a message | privatemessages |
|
|
167
|
+
|
|
168
|
+
### Subreddits (8 tools)
|
|
169
|
+
|
|
170
|
+
| Tool | Description | Scope |
|
|
171
|
+
|------|-------------|-------|
|
|
172
|
+
| `reddit_subreddit_about` | Get subreddit metadata | read |
|
|
173
|
+
| `reddit_subreddit_rules` | Get subreddit rules | read |
|
|
174
|
+
| `reddit_subscribe` | Subscribe to a subreddit | subscribe |
|
|
175
|
+
| `reddit_unsubscribe` | Unsubscribe from a subreddit | subscribe |
|
|
176
|
+
| `reddit_subreddits_mine` | List subscribed subreddits | mysubreddits |
|
|
177
|
+
| `reddit_subreddits_popular` | List popular subreddits | read |
|
|
178
|
+
| `reddit_subreddits_new` | List newest subreddits | read |
|
|
179
|
+
| `reddit_subreddits_search` | Search for subreddits | read |
|
|
180
|
+
|
|
181
|
+
### Flair (3 tools)
|
|
182
|
+
|
|
183
|
+
| Tool | Description | Scope |
|
|
184
|
+
|------|-------------|-------|
|
|
185
|
+
| `reddit_link_flair` | Get available post flair templates | flair |
|
|
186
|
+
| `reddit_user_flair` | Get available user flair templates | flair |
|
|
187
|
+
| `reddit_select_flair` | Set flair on a post or user | flair |
|
|
188
|
+
|
|
189
|
+
### Moderation (16 tools)
|
|
190
|
+
|
|
191
|
+
| Tool | Description | Scope |
|
|
192
|
+
|------|-------------|-------|
|
|
193
|
+
| `reddit_approve` | Approve a post or comment | modposts |
|
|
194
|
+
| `reddit_remove` | Remove a post or comment | modposts |
|
|
195
|
+
| `reddit_distinguish` | Distinguish as moderator | modposts |
|
|
196
|
+
| `reddit_ignore_reports` | Ignore future reports | modposts |
|
|
197
|
+
| `reddit_unignore_reports` | Stop ignoring reports | modposts |
|
|
198
|
+
| `reddit_lock` | Lock a thread | modposts |
|
|
199
|
+
| `reddit_unlock` | Unlock a thread | modposts |
|
|
200
|
+
| `reddit_modqueue` | Get mod queue items | modposts |
|
|
201
|
+
| `reddit_reports` | Get reported items | modposts |
|
|
202
|
+
| `reddit_spam` | Get spam items | modposts |
|
|
203
|
+
| `reddit_edited` | Get recently edited items | modposts |
|
|
204
|
+
| `reddit_modlog` | Get moderation log | modlog |
|
|
205
|
+
| `reddit_moderators` | List moderators | read |
|
|
206
|
+
| `reddit_contributors` | List approved contributors | modcontributors |
|
|
207
|
+
| `reddit_banned` | List banned users | modcontributors |
|
|
208
|
+
| `reddit_muted` | List muted users | modcontributors |
|
|
209
|
+
|
|
210
|
+
### Multireddits (7 tools)
|
|
211
|
+
|
|
212
|
+
| Tool | Description | Scope |
|
|
213
|
+
|------|-------------|-------|
|
|
214
|
+
| `reddit_multi_mine` | List your multireddits | read |
|
|
215
|
+
| `reddit_multi_get` | Get a multireddit | read |
|
|
216
|
+
| `reddit_multi_create` | Create a multireddit | subscribe |
|
|
217
|
+
| `reddit_multi_update` | Update a multireddit | subscribe |
|
|
218
|
+
| `reddit_multi_delete` | Delete a multireddit | subscribe |
|
|
219
|
+
| `reddit_multi_add_sub` | Add subreddit to multireddit | subscribe |
|
|
220
|
+
| `reddit_multi_remove_sub` | Remove subreddit from multireddit | subscribe |
|
|
221
|
+
|
|
222
|
+
### Wiki (5 tools)
|
|
223
|
+
|
|
224
|
+
| Tool | Description | Scope |
|
|
225
|
+
|------|-------------|-------|
|
|
226
|
+
| `reddit_wiki_page` | Read a wiki page | wikiread |
|
|
227
|
+
| `reddit_wiki_edit` | Edit a wiki page | wikiedit |
|
|
228
|
+
| `reddit_wiki_pages` | List all wiki pages | wikiread |
|
|
229
|
+
| `reddit_wiki_revisions` | Get wiki revision history | wikiread |
|
|
230
|
+
| `reddit_wiki_page_revisions` | Get revisions for a specific page | wikiread |
|
|
231
|
+
|
|
232
|
+
## Reddit API Rate Limits
|
|
233
|
+
|
|
234
|
+
- **100 queries per minute** per OAuth client ID (averaged over 10-minute window)
|
|
235
|
+
- Rate limit headers are automatically parsed and respected
|
|
236
|
+
- 429 responses trigger automatic backoff and retry
|
|
27
237
|
|
|
28
238
|
## Project Structure
|
|
29
239
|
|
|
30
240
|
```
|
|
31
241
|
reddit-mcp/
|
|
32
|
-
├──
|
|
33
|
-
├──
|
|
34
|
-
│ ├──
|
|
35
|
-
│ ├──
|
|
36
|
-
│ ├──
|
|
37
|
-
│ ├──
|
|
38
|
-
│
|
|
39
|
-
|
|
242
|
+
├── src/
|
|
243
|
+
│ ├── index.ts # Transport selector (stdio/HTTP)
|
|
244
|
+
│ ├── server.ts # MCP server factory
|
|
245
|
+
│ ├── factory.ts # Public factory export (for mcp-auth)
|
|
246
|
+
│ ├── auth/oauth.ts # Reddit OAuth 2.0
|
|
247
|
+
│ ├── client/reddit.ts # Reddit API HTTP client
|
|
248
|
+
│ ├── tools/
|
|
249
|
+
│ │ ├── listings.ts # 9 listing tools
|
|
250
|
+
│ │ ├── search.ts # 2 search tools
|
|
251
|
+
│ │ ├── posts.ts # 9 post tools
|
|
252
|
+
│ │ ├── comments.ts # 2 comment tools
|
|
253
|
+
│ │ ├── voting.ts # 4 vote/save/report tools
|
|
254
|
+
│ │ ├── account.ts # 7 account tools
|
|
255
|
+
│ │ ├── users.ts # 9 user profile tools
|
|
256
|
+
│ │ ├── messages.ts # 7 message tools
|
|
257
|
+
│ │ ├── subreddits.ts # 8 subreddit tools
|
|
258
|
+
│ │ ├── flair.ts # 3 flair tools
|
|
259
|
+
│ │ ├── moderation.ts # 16 moderation tools
|
|
260
|
+
│ │ ├── multireddits.ts # 7 multireddit tools
|
|
261
|
+
│ │ └── wiki.ts # 5 wiki tools
|
|
262
|
+
│ ├── transport/http.ts # Streamable HTTP transport
|
|
263
|
+
│ └── types/index.ts # Shared types
|
|
264
|
+
├── tests/
|
|
265
|
+
│ ├── unit/ # 17 test suites (135 tests)
|
|
266
|
+
│ ├── fixtures/ # Mock Reddit API responses
|
|
267
|
+
│ └── helpers/ # Mock client
|
|
268
|
+
├── package.json
|
|
269
|
+
├── tsconfig.json
|
|
270
|
+
├── esbuild.build.js
|
|
271
|
+
└── jest.config.js
|
|
40
272
|
```
|
|
41
273
|
|
|
42
|
-
## Getting Started
|
|
43
|
-
|
|
44
|
-
1. Initialize context: `@acp.init`
|
|
45
|
-
2. Plan your project: `@acp.plan`
|
|
46
|
-
3. Start building: `@acp.proceed`
|
|
47
|
-
|
|
48
274
|
## License
|
|
49
275
|
|
|
50
276
|
MIT
|
package/agent/progress.yaml
CHANGED
|
@@ -16,37 +16,37 @@ milestones:
|
|
|
16
16
|
file: agent/milestones/milestone-1-foundation-listings-mvp.md
|
|
17
17
|
- id: M2
|
|
18
18
|
title: Content Interaction
|
|
19
|
-
status:
|
|
19
|
+
status: completed
|
|
20
20
|
tasks_total: 3
|
|
21
|
-
tasks_complete:
|
|
21
|
+
tasks_complete: 3
|
|
22
22
|
estimated_weeks: 1
|
|
23
23
|
file: agent/milestones/milestone-2-content-interaction.md
|
|
24
24
|
- id: M3
|
|
25
25
|
title: Users & Messaging
|
|
26
|
-
status:
|
|
26
|
+
status: completed
|
|
27
27
|
tasks_total: 3
|
|
28
|
-
tasks_complete:
|
|
28
|
+
tasks_complete: 3
|
|
29
29
|
estimated_weeks: 1
|
|
30
30
|
file: agent/milestones/milestone-3-users-and-messaging.md
|
|
31
31
|
- id: M4
|
|
32
32
|
title: Subreddits & Flair
|
|
33
|
-
status:
|
|
33
|
+
status: completed
|
|
34
34
|
tasks_total: 3
|
|
35
|
-
tasks_complete:
|
|
35
|
+
tasks_complete: 3
|
|
36
36
|
estimated_weeks: 1
|
|
37
37
|
file: agent/milestones/milestone-4-subreddits-and-flair.md
|
|
38
38
|
- id: M5
|
|
39
39
|
title: Moderation
|
|
40
|
-
status:
|
|
40
|
+
status: completed
|
|
41
41
|
tasks_total: 3
|
|
42
|
-
tasks_complete:
|
|
42
|
+
tasks_complete: 3
|
|
43
43
|
estimated_weeks: 1
|
|
44
44
|
file: agent/milestones/milestone-5-moderation.md
|
|
45
45
|
- id: M6
|
|
46
46
|
title: Advanced Features & Polish
|
|
47
|
-
status:
|
|
47
|
+
status: completed
|
|
48
48
|
tasks_total: 3
|
|
49
|
-
tasks_complete:
|
|
49
|
+
tasks_complete: 3
|
|
50
50
|
estimated_weeks: 1
|
|
51
51
|
file: agent/milestones/milestone-6-advanced-features-and-polish.md
|
|
52
52
|
|
|
@@ -90,95 +90,95 @@ tasks:
|
|
|
90
90
|
milestone_2:
|
|
91
91
|
- id: T7
|
|
92
92
|
title: Post Tools
|
|
93
|
-
status:
|
|
93
|
+
status: completed
|
|
94
94
|
estimated_hours: 3
|
|
95
95
|
dependencies: [T6]
|
|
96
96
|
file: agent/tasks/milestone-2-content-interaction/task-7-post-tools.md
|
|
97
97
|
- id: T8
|
|
98
98
|
title: Comment Tools
|
|
99
|
-
status:
|
|
99
|
+
status: completed
|
|
100
100
|
estimated_hours: 2
|
|
101
101
|
dependencies: [T7]
|
|
102
102
|
file: agent/tasks/milestone-2-content-interaction/task-8-comment-tools.md
|
|
103
103
|
- id: T9
|
|
104
104
|
title: Vote, Save & Report Tools
|
|
105
|
-
status:
|
|
105
|
+
status: completed
|
|
106
106
|
estimated_hours: 1.5
|
|
107
107
|
dependencies: [T7]
|
|
108
108
|
file: agent/tasks/milestone-2-content-interaction/task-9-vote-save-report-tools.md
|
|
109
109
|
milestone_3:
|
|
110
110
|
- id: T10
|
|
111
111
|
title: Account Tools
|
|
112
|
-
status:
|
|
112
|
+
status: completed
|
|
113
113
|
estimated_hours: 2
|
|
114
114
|
dependencies: [T6]
|
|
115
115
|
file: agent/tasks/milestone-3-users-and-messaging/task-10-account-tools.md
|
|
116
116
|
- id: T11
|
|
117
117
|
title: User Profile Tools
|
|
118
|
-
status:
|
|
118
|
+
status: completed
|
|
119
119
|
estimated_hours: 2.5
|
|
120
120
|
dependencies: [T6]
|
|
121
121
|
file: agent/tasks/milestone-3-users-and-messaging/task-11-user-profile-tools.md
|
|
122
122
|
- id: T12
|
|
123
123
|
title: Private Message Tools
|
|
124
|
-
status:
|
|
124
|
+
status: completed
|
|
125
125
|
estimated_hours: 2
|
|
126
126
|
dependencies: [T6]
|
|
127
127
|
file: agent/tasks/milestone-3-users-and-messaging/task-12-private-message-tools.md
|
|
128
128
|
milestone_4:
|
|
129
129
|
- id: T13
|
|
130
130
|
title: Subreddit Tools
|
|
131
|
-
status:
|
|
131
|
+
status: completed
|
|
132
132
|
estimated_hours: 2.5
|
|
133
133
|
dependencies: [T6]
|
|
134
134
|
file: agent/tasks/milestone-4-subreddits-and-flair/task-13-subreddit-tools.md
|
|
135
135
|
- id: T14
|
|
136
136
|
title: Flair Tools
|
|
137
|
-
status:
|
|
137
|
+
status: completed
|
|
138
138
|
estimated_hours: 1.5
|
|
139
139
|
dependencies: [T13]
|
|
140
140
|
file: agent/tasks/milestone-4-subreddits-and-flair/task-14-flair-tools.md
|
|
141
141
|
- id: T15
|
|
142
142
|
title: HTTP Transport
|
|
143
|
-
status:
|
|
143
|
+
status: completed
|
|
144
144
|
estimated_hours: 2
|
|
145
145
|
dependencies: [T4]
|
|
146
146
|
file: agent/tasks/milestone-4-subreddits-and-flair/task-15-http-transport.md
|
|
147
147
|
milestone_5:
|
|
148
148
|
- id: T16
|
|
149
149
|
title: Mod Action Tools
|
|
150
|
-
status:
|
|
150
|
+
status: completed
|
|
151
151
|
estimated_hours: 2
|
|
152
152
|
dependencies: [T6]
|
|
153
153
|
file: agent/tasks/milestone-5-moderation/task-16-mod-action-tools.md
|
|
154
154
|
- id: T17
|
|
155
155
|
title: Mod Listing Tools
|
|
156
|
-
status:
|
|
156
|
+
status: completed
|
|
157
157
|
estimated_hours: 2
|
|
158
158
|
dependencies: [T16]
|
|
159
159
|
file: agent/tasks/milestone-5-moderation/task-17-mod-listing-tools.md
|
|
160
160
|
- id: T18
|
|
161
161
|
title: Mod Management Tools
|
|
162
|
-
status:
|
|
162
|
+
status: completed
|
|
163
163
|
estimated_hours: 1.5
|
|
164
164
|
dependencies: [T16]
|
|
165
165
|
file: agent/tasks/milestone-5-moderation/task-18-mod-management-tools.md
|
|
166
166
|
milestone_6:
|
|
167
167
|
- id: T19
|
|
168
168
|
title: Multireddit Tools
|
|
169
|
-
status:
|
|
169
|
+
status: completed
|
|
170
170
|
estimated_hours: 2
|
|
171
171
|
dependencies: [T6]
|
|
172
172
|
file: agent/tasks/milestone-6-advanced-features-and-polish/task-19-multireddit-tools.md
|
|
173
173
|
- id: T20
|
|
174
174
|
title: Wiki Tools
|
|
175
|
-
status:
|
|
175
|
+
status: completed
|
|
176
176
|
estimated_hours: 2
|
|
177
177
|
dependencies: [T6]
|
|
178
178
|
file: agent/tasks/milestone-6-advanced-features-and-polish/task-20-wiki-tools.md
|
|
179
179
|
- id: T21
|
|
180
180
|
title: Documentation & Polish
|
|
181
|
-
status:
|
|
181
|
+
status: completed
|
|
182
182
|
estimated_hours: 3
|
|
183
183
|
dependencies: [T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20]
|
|
184
184
|
file: agent/tasks/milestone-6-advanced-features-and-polish/task-21-documentation-polish.md
|
|
@@ -191,8 +191,8 @@ documentation:
|
|
|
191
191
|
|
|
192
192
|
progress:
|
|
193
193
|
planning: 100
|
|
194
|
-
implementation:
|
|
195
|
-
overall:
|
|
194
|
+
implementation: 100
|
|
195
|
+
overall: 100
|
|
196
196
|
|
|
197
197
|
recent_work:
|
|
198
198
|
- date: 2026-03-10
|
|
@@ -210,9 +210,8 @@ recent_work:
|
|
|
210
210
|
- Implemented stdio and HTTP transports
|
|
211
211
|
|
|
212
212
|
next_steps:
|
|
213
|
-
-
|
|
214
|
-
-
|
|
215
|
-
- Then M3 Users & Messaging
|
|
213
|
+
- All milestones complete
|
|
214
|
+
- npm publish when ready
|
|
216
215
|
|
|
217
216
|
notes:
|
|
218
217
|
- Following youtube-mcp reference pattern (same architecture)
|