social-mcp 1.3.3 → 1.5.0

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.
Files changed (70) hide show
  1. package/README.md +59 -1
  2. package/dist/index.js +43 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/config.d.ts +17 -0
  5. package/dist/lib/config.js +17 -0
  6. package/dist/lib/config.js.map +1 -1
  7. package/dist/services/linkedin-service.d.ts +1 -0
  8. package/dist/services/linkedin-service.js +10 -0
  9. package/dist/services/linkedin-service.js.map +1 -1
  10. package/dist/services/reddit-service.d.ts +87 -0
  11. package/dist/services/reddit-service.js +188 -0
  12. package/dist/services/reddit-service.js.map +1 -0
  13. package/dist/services/threads-service.d.ts +35 -0
  14. package/dist/services/threads-service.js +86 -0
  15. package/dist/services/threads-service.js.map +1 -0
  16. package/dist/services/tiktok-service.d.ts +79 -0
  17. package/dist/services/tiktok-service.js +138 -0
  18. package/dist/services/tiktok-service.js.map +1 -0
  19. package/dist/tools/linkedin-tools/delete-post.d.ts +14 -0
  20. package/dist/tools/linkedin-tools/delete-post.js +26 -0
  21. package/dist/tools/linkedin-tools/delete-post.js.map +1 -0
  22. package/dist/tools/reddit-tools/comment.d.ts +16 -0
  23. package/dist/tools/reddit-tools/comment.js +30 -0
  24. package/dist/tools/reddit-tools/comment.js.map +1 -0
  25. package/dist/tools/reddit-tools/get-posts.d.ts +28 -0
  26. package/dist/tools/reddit-tools/get-posts.js +36 -0
  27. package/dist/tools/reddit-tools/get-posts.js.map +1 -0
  28. package/dist/tools/reddit-tools/get-user-info.d.ts +14 -0
  29. package/dist/tools/reddit-tools/get-user-info.js +37 -0
  30. package/dist/tools/reddit-tools/get-user-info.js.map +1 -0
  31. package/dist/tools/reddit-tools/search.d.ts +28 -0
  32. package/dist/tools/reddit-tools/search.js +40 -0
  33. package/dist/tools/reddit-tools/search.js.map +1 -0
  34. package/dist/tools/reddit-tools/submit-post.d.ts +28 -0
  35. package/dist/tools/reddit-tools/submit-post.js +31 -0
  36. package/dist/tools/reddit-tools/submit-post.js.map +1 -0
  37. package/dist/tools/reddit-tools/vote.d.ts +24 -0
  38. package/dist/tools/reddit-tools/vote.js +30 -0
  39. package/dist/tools/reddit-tools/vote.js.map +1 -0
  40. package/dist/tools/threads-tools/create-post.d.ts +14 -0
  41. package/dist/tools/threads-tools/create-post.js +23 -0
  42. package/dist/tools/threads-tools/create-post.js.map +1 -0
  43. package/dist/tools/threads-tools/delete-post.d.ts +14 -0
  44. package/dist/tools/threads-tools/delete-post.js +23 -0
  45. package/dist/tools/threads-tools/delete-post.js.map +1 -0
  46. package/dist/tools/threads-tools/get-posts.d.ts +14 -0
  47. package/dist/tools/threads-tools/get-posts.js +31 -0
  48. package/dist/tools/threads-tools/get-posts.js.map +1 -0
  49. package/dist/tools/threads-tools/get-profile.d.ts +7 -0
  50. package/dist/tools/threads-tools/get-profile.js +31 -0
  51. package/dist/tools/threads-tools/get-profile.js.map +1 -0
  52. package/dist/tools/threads-tools/reply.d.ts +16 -0
  53. package/dist/tools/threads-tools/reply.js +24 -0
  54. package/dist/tools/threads-tools/reply.js.map +1 -0
  55. package/dist/tools/tiktok-tools/direct-post-video.d.ts +34 -0
  56. package/dist/tools/tiktok-tools/direct-post-video.js +34 -0
  57. package/dist/tools/tiktok-tools/direct-post-video.js.map +1 -0
  58. package/dist/tools/tiktok-tools/get-post-status.d.ts +14 -0
  59. package/dist/tools/tiktok-tools/get-post-status.js +36 -0
  60. package/dist/tools/tiktok-tools/get-post-status.js.map +1 -0
  61. package/dist/tools/tiktok-tools/get-user-info.d.ts +7 -0
  62. package/dist/tools/tiktok-tools/get-user-info.js +36 -0
  63. package/dist/tools/tiktok-tools/get-user-info.js.map +1 -0
  64. package/dist/tools/tiktok-tools/photo-post.d.ts +30 -0
  65. package/dist/tools/tiktok-tools/photo-post.js +36 -0
  66. package/dist/tools/tiktok-tools/photo-post.js.map +1 -0
  67. package/dist/tools/tiktok-tools/query-creator-info.d.ts +7 -0
  68. package/dist/tools/tiktok-tools/query-creator-info.js +39 -0
  69. package/dist/tools/tiktok-tools/query-creator-info.js.map +1 -0
  70. package/package.json +6 -2
package/README.md CHANGED
@@ -14,6 +14,9 @@ An MCP (Model Context Protocol) server that lets AI assistants post and interact
14
14
  | Instagram | Create post, get posts |
15
15
  | Slack | Send message, get messages, list channels |
16
16
  | LinkedIn | Get profile, create post, get posts, like post, add comment, search people |
17
+ | Reddit | Submit post, get posts, comment, vote, search, get user info |
18
+ | Threads | Get profile, create post, reply, get posts, delete post |
19
+ | TikTok | Query creator info, get user info, post video, photo post, get post status |
17
20
 
18
21
  ## Quick Start
19
22
 
@@ -54,7 +57,14 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
54
57
  "FACEBOOK_ACCESS_TOKEN": "your_token",
55
58
  "INSTAGRAM_ACCESS_TOKEN": "your_token",
56
59
  "SLACK_BOT_TOKEN": "your_token",
57
- "LINKEDIN_ACCESS_TOKEN": "your_token"
60
+ "LINKEDIN_ACCESS_TOKEN": "your_token",
61
+ "REDDIT_CLIENT_ID": "your_client_id",
62
+ "REDDIT_CLIENT_SECRET": "your_client_secret",
63
+ "REDDIT_USERNAME": "your_username",
64
+ "REDDIT_PASSWORD": "your_password",
65
+ "THREADS_ACCESS_TOKEN": "your_token",
66
+ "THREADS_USER_ID": "your_user_id",
67
+ "TIKTOK_ACCESS_TOKEN": "your_token"
58
68
  }
59
69
  }
60
70
  }
@@ -127,6 +137,25 @@ Copy `example.env` to `.env` and fill in the credentials for the platforms you w
127
137
  |----------|-------------|
128
138
  | `LINKEDIN_ACCESS_TOKEN` | OAuth 2.0 access token from the [LinkedIn Developer Portal](https://www.linkedin.com/developers/apps) — requires `r_liteprofile`, `w_member_social` scopes |
129
139
 
140
+ ### Reddit
141
+ | Variable | Description |
142
+ |----------|-------------|
143
+ | `REDDIT_CLIENT_ID` | App client ID from [reddit.com/prefs/apps](https://www.reddit.com/prefs/apps) (create a "script" type app) |
144
+ | `REDDIT_CLIENT_SECRET` | App client secret |
145
+ | `REDDIT_USERNAME` | Reddit account username |
146
+ | `REDDIT_PASSWORD` | Reddit account password |
147
+
148
+ ### Threads
149
+ | Variable | Description |
150
+ |----------|-------------|
151
+ | `THREADS_ACCESS_TOKEN` | OAuth 2.0 access token from the [Meta for Developers](https://developers.facebook.com) — requires `threads_basic`, `threads_content_publish` scopes |
152
+ | `THREADS_USER_ID` | Your Threads user ID (returned from the Threads API `/me` endpoint) |
153
+
154
+ ### TikTok
155
+ | Variable | Description |
156
+ |----------|-------------|
157
+ | `TIKTOK_ACCESS_TOKEN` | OAuth 2.0 access token from the [TikTok for Developers](https://developers.tiktok.com) — requires `user.info.basic`, `video.publish`, `video.upload` scopes |
158
+
130
159
  ## Available Tools
131
160
 
132
161
  ### Telegram
@@ -172,10 +201,39 @@ Copy `example.env` to `.env` and fill in the credentials for the platforms you w
172
201
  - **GET_LINKEDIN_PROFILE** — Get the authenticated user's profile information
173
202
  - **CREATE_LINKEDIN_POST** — Create a UGC post (`authorUrn`, `text`, `visibility`)
174
203
  - **GET_LINKEDIN_POSTS** — Retrieve recent posts by a member or organization (`authorUrn`, `count`)
204
+ - **DELETE_LINKEDIN_POST** — Delete a UGC post (`ugcPostUrn`)
175
205
  - **LIKE_LINKEDIN_POST** — Like a post (`actorUrn`, `ugcPostUrn`)
176
206
  - **ADD_LINKEDIN_COMMENT** — Comment on a post (`actorUrn`, `ugcPostUrn`, `text`)
177
207
  - **SEARCH_LINKEDIN_PEOPLE** — Search for people by keywords (`keywords`, `count`)
178
208
 
209
+ > **Note:** `SEARCH_LINKEDIN_PEOPLE` uses the LinkedIn People Search API which requires [Partner Program](https://learn.microsoft.com/en-us/linkedin/talent/recruiter-system-connect/getting-access) access. Most developer apps will receive a 403. All other tools work with a standard OAuth 2.0 token.
210
+
211
+ ### Reddit
212
+ - **REDDIT_SUBMIT_POST** — Submit a text or link post to a subreddit (`subreddit`, `title`, `kind`, `text`, `url`)
213
+ - **REDDIT_GET_POSTS** — Get posts from a subreddit (`subreddit`, `sort`, `limit`)
214
+ - **REDDIT_COMMENT** — Comment on a post or reply to a comment (`parentId`, `text`)
215
+ - **REDDIT_VOTE** — Upvote, downvote, or remove a vote (`id`, `direction`)
216
+ - **REDDIT_SEARCH** — Search Reddit across all or a specific subreddit (`query`, `subreddit`, `sort`, `limit`)
217
+ - **REDDIT_GET_USER_INFO** — Get public info about a Reddit user (`username`)
218
+
219
+ > **Note:** Reddit requires a "script" type app in [reddit.com/prefs/apps](https://www.reddit.com/prefs/apps). The password grant flow is used — 2FA must be disabled on the account.
220
+
221
+ ### Threads
222
+ - **THREADS_GET_PROFILE** — Get your Threads profile information
223
+ - **THREADS_CREATE_POST** — Create a new text post (`text`)
224
+ - **THREADS_REPLY** — Reply to a Threads post (`replyToId`, `text`)
225
+ - **THREADS_GET_POSTS** — Get recent posts from your account (`limit`)
226
+ - **THREADS_DELETE_POST** — Delete a post by ID (`mediaId`)
227
+
228
+ ### TikTok
229
+ - **TIKTOK_QUERY_CREATOR_INFO** — Query creator info including posting permissions and privacy options
230
+ - **TIKTOK_GET_USER_INFO** — Get TikTok account profile and stats
231
+ - **TIKTOK_DIRECT_POST_VIDEO** — Post a video by URL (`videoUrl`, `title`, `privacyLevel`, ...)
232
+ - **TIKTOK_PHOTO_POST** — Create a photo/carousel post (`photoUrls`, `title`, `description`, `privacyLevel`)
233
+ - **TIKTOK_GET_POST_STATUS** — Check the publishing status of a video or photo post (`publishId`)
234
+
235
+ > **Note:** TikTok's Content Posting API requires app approval from [TikTok for Developers](https://developers.tiktok.com). Videos are pulled from a public URL by TikTok's servers rather than uploaded directly.
236
+
179
237
  ## Development
180
238
 
181
239
  ```bash
package/dist/index.js CHANGED
@@ -6,8 +6,11 @@ import { getDiscordService } from "./services/discord-service.js";
6
6
  import { getFacebookService } from "./services/facebook-service.js";
7
7
  import { getInstagramService } from "./services/instagram-service.js";
8
8
  import { getLinkedInService } from "./services/linkedin-service.js";
9
+ import { getRedditService } from "./services/reddit-service.js";
9
10
  import { getSlackService } from "./services/slack-service.js";
10
11
  import { getTelegramService } from "./services/telegram-service.js";
12
+ import { getThreadsService } from "./services/threads-service.js";
13
+ import { getTikTokService } from "./services/tiktok-service.js";
11
14
  import { getTwitterService } from "./services/twitter-service.js";
12
15
  import { getWhatsappService } from "./services/whatsapp-service.js";
13
16
  import { getMessagesTool as discordGetMessagesTool } from "./tools/discord-tools/get-messages.js";
@@ -18,10 +21,17 @@ import { createPostTool as instagramCreatePostTool } from "./tools/instagram-too
18
21
  import { getPostsTool as instagramGetPostsTool } from "./tools/instagram-tools/get-posts.js";
19
22
  import { addCommentTool as linkedInAddCommentTool } from "./tools/linkedin-tools/add-comment.js";
20
23
  import { createPostTool as linkedInCreatePostTool } from "./tools/linkedin-tools/create-post.js";
24
+ import { deletePostTool as linkedInDeletePostTool } from "./tools/linkedin-tools/delete-post.js";
21
25
  import { getPostsTool as linkedInGetPostsTool } from "./tools/linkedin-tools/get-posts.js";
22
26
  import { getProfileTool as linkedInGetProfileTool } from "./tools/linkedin-tools/get-profile.js";
23
27
  import { likePostTool as linkedInLikePostTool } from "./tools/linkedin-tools/like-post.js";
24
28
  import { searchPeopleTool as linkedInSearchPeopleTool } from "./tools/linkedin-tools/search-people.js";
29
+ import { commentTool as redditCommentTool } from "./tools/reddit-tools/comment.js";
30
+ import { getUserInfoTool as redditGetUserInfoTool } from "./tools/reddit-tools/get-user-info.js";
31
+ import { getPostsTool as redditGetPostsTool } from "./tools/reddit-tools/get-posts.js";
32
+ import { searchTool as redditSearchTool } from "./tools/reddit-tools/search.js";
33
+ import { submitPostTool as redditSubmitPostTool } from "./tools/reddit-tools/submit-post.js";
34
+ import { voteTool as redditVoteTool } from "./tools/reddit-tools/vote.js";
25
35
  import { getMessagesTool as slackGetMessagesTool } from "./tools/slack-tools/get-messages.js";
26
36
  import { listChannelsTool as slackListChannelsTool } from "./tools/slack-tools/list-channels.js";
27
37
  import { sendMessageTool as slackSendMessageTool } from "./tools/slack-tools/send-message.js";
@@ -32,6 +42,16 @@ import { getChannelInfoTool } from "./tools/telegram-tools/get-channel-info.js";
32
42
  import { getChannelMembersTool } from "./tools/telegram-tools/get-channel-members.js";
33
43
  import { pinMessageTool } from "./tools/telegram-tools/pin-message.js";
34
44
  import { sendMessageTool } from "./tools/telegram-tools/send-message.js";
45
+ import { createPostTool as threadsCreatePostTool } from "./tools/threads-tools/create-post.js";
46
+ import { deletePostTool as threadsDeletePostTool } from "./tools/threads-tools/delete-post.js";
47
+ import { getPostsTool as threadsGetPostsTool } from "./tools/threads-tools/get-posts.js";
48
+ import { getProfileTool as threadsGetProfileTool } from "./tools/threads-tools/get-profile.js";
49
+ import { replyTool as threadsReplyTool } from "./tools/threads-tools/reply.js";
50
+ import { directPostVideoTool as tiktokDirectPostVideoTool } from "./tools/tiktok-tools/direct-post-video.js";
51
+ import { getPostStatusTool as tiktokGetPostStatusTool } from "./tools/tiktok-tools/get-post-status.js";
52
+ import { getUserInfoTool as tiktokGetUserInfoTool } from "./tools/tiktok-tools/get-user-info.js";
53
+ import { photoPostTool as tiktokPhotoPostTool } from "./tools/tiktok-tools/photo-post.js";
54
+ import { queryCreatorInfoTool as tiktokQueryCreatorInfoTool } from "./tools/tiktok-tools/query-creator-info.js";
35
55
  import { deleteTweetTool } from "./tools/twitter-tools/delete-tweet.js";
36
56
  import { getUserInfoTool } from "./tools/twitter-tools/get-user-info.js";
37
57
  import { likeTweetTool } from "./tools/twitter-tools/like-tweet.js";
@@ -65,6 +85,9 @@ async function main() {
65
85
  checkPlatform("Instagram", getInstagramService);
66
86
  checkPlatform("Slack", getSlackService);
67
87
  checkPlatform("LinkedIn", getLinkedInService);
88
+ checkPlatform("Reddit", getRedditService);
89
+ checkPlatform("Threads", getThreadsService);
90
+ checkPlatform("TikTok", getTikTokService);
68
91
  console.error("");
69
92
  const server = new FastMCP({ name: "Social MCP Server", version });
70
93
  // Telegram
@@ -101,9 +124,29 @@ async function main() {
101
124
  server.addTool(linkedInGetProfileTool);
102
125
  server.addTool(linkedInCreatePostTool);
103
126
  server.addTool(linkedInGetPostsTool);
127
+ server.addTool(linkedInDeletePostTool);
104
128
  server.addTool(linkedInLikePostTool);
105
129
  server.addTool(linkedInAddCommentTool);
106
130
  server.addTool(linkedInSearchPeopleTool);
131
+ // Reddit
132
+ server.addTool(redditSubmitPostTool);
133
+ server.addTool(redditGetPostsTool);
134
+ server.addTool(redditCommentTool);
135
+ server.addTool(redditVoteTool);
136
+ server.addTool(redditSearchTool);
137
+ server.addTool(redditGetUserInfoTool);
138
+ // Threads
139
+ server.addTool(threadsGetProfileTool);
140
+ server.addTool(threadsCreatePostTool);
141
+ server.addTool(threadsReplyTool);
142
+ server.addTool(threadsGetPostsTool);
143
+ server.addTool(threadsDeletePostTool);
144
+ // TikTok
145
+ server.addTool(tiktokQueryCreatorInfoTool);
146
+ server.addTool(tiktokGetUserInfoTool);
147
+ server.addTool(tiktokDirectPostVideoTool);
148
+ server.addTool(tiktokPhotoPostTool);
149
+ server.addTool(tiktokGetPostStatusTool);
107
150
  try {
108
151
  await server.start({ transportType: "stdio" });
109
152
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,IAAI,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,eAAe,IAAI,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,YAAY,IAAI,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7F,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,eAAe,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC9F,OAAO,EAAE,gBAAgB,IAAI,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,EAAE,eAAe,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEpG,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAE5C,CAAC;AAEF,SAAS,aAAa,CAAC,IAAY,EAAE,IAAmB;IACvD,IAAI,CAAC;QACJ,IAAI,EAAE,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,KAAK,CACZ,UAAU,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACrE,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,IAAI;IAClB,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC5D,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC9C,aAAa,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC9C,aAAa,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC5C,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC9C,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC9C,aAAa,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAChD,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACxC,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC9C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAElB,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;IAEnE,WAAW;IACX,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAChC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEhC,UAAU;IACV,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAChC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEhC,UAAU;IACV,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEvC,WAAW;IACX,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAExC,WAAW;IACX,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAErC,YAAY;IACZ,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEtC,QAAQ;IACR,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEtC,WAAW;IACX,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEzC,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;IAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -21,4 +21,21 @@ export declare const config: {
21
21
  baseUrl: string;
22
22
  accessToken: string;
23
23
  };
24
+ reddit: {
25
+ baseUrl: string;
26
+ clientId: string;
27
+ clientSecret: string;
28
+ username: string;
29
+ password: string;
30
+ userAgent: string;
31
+ };
32
+ threads: {
33
+ baseUrl: string;
34
+ accessToken: string;
35
+ userId: string;
36
+ };
37
+ tiktok: {
38
+ baseUrl: string;
39
+ accessToken: string;
40
+ };
24
41
  };
@@ -22,5 +22,22 @@ export const config = {
22
22
  baseUrl: "https://api.linkedin.com/v2",
23
23
  accessToken: process.env.LINKEDIN_ACCESS_TOKEN || "",
24
24
  },
25
+ reddit: {
26
+ baseUrl: "https://oauth.reddit.com",
27
+ clientId: process.env.REDDIT_CLIENT_ID || "",
28
+ clientSecret: process.env.REDDIT_CLIENT_SECRET || "",
29
+ username: process.env.REDDIT_USERNAME || "",
30
+ password: process.env.REDDIT_PASSWORD || "",
31
+ userAgent: "social-mcp/1.0 (by /u/social_mcp_bot)",
32
+ },
33
+ threads: {
34
+ baseUrl: "https://graph.threads.net/v1.0",
35
+ accessToken: process.env.THREADS_ACCESS_TOKEN || "",
36
+ userId: process.env.THREADS_USER_ID || "",
37
+ },
38
+ tiktok: {
39
+ baseUrl: "https://open.tiktokapis.com/v2",
40
+ accessToken: process.env.TIKTOK_ACCESS_TOKEN || "",
41
+ },
25
42
  };
26
43
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACxC,MAAM,SAAS,GAAG,8BAA8B,gBAAgB,EAAE,CAAC;AAEnE,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,OAAO,EAAE;QACR,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;KAC7C;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE;QACpD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE;KACzD;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE;KACpD;IACD,SAAS,EAAE;QACV,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE;KACrD;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,6BAA6B;QACtC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE;KACpD;CACD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACxC,MAAM,SAAS,GAAG,8BAA8B,gBAAgB,EAAE,CAAC;AAEnE,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,OAAO,EAAE;QACR,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;KAC7C;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE;QACpD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE;KACzD;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE;KACpD;IACD,SAAS,EAAE;QACV,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE;KACrD;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,6BAA6B;QACtC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE;KACpD;IACD,MAAM,EAAE;QACP,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;QAC5C,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE;QACpD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;QAC3C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;QAC3C,SAAS,EAAE,uCAAuC;KAClD;IACD,OAAO,EAAE;QACR,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE;QACnD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;KACzC;IACD,MAAM,EAAE;QACP,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE;KAClD;CACD,CAAC"}
@@ -34,6 +34,7 @@ export declare class LinkedInService {
34
34
  id: string;
35
35
  activity?: string | undefined;
36
36
  }>;
37
+ deletePost(ugcPostUrn: string): Promise<void>;
37
38
  searchPeople(keywords: string, count?: number): Promise<{
38
39
  elements: {
39
40
  targetUrn?: string | undefined;
@@ -114,6 +114,16 @@ export class LinkedInService {
114
114
  body: JSON.stringify(body),
115
115
  }, linkedInShareSchema);
116
116
  }
117
+ async deletePost(ugcPostUrn) {
118
+ const encoded = encodeURIComponent(ugcPostUrn);
119
+ const response = await fetch(`${this.baseUrl}/ugcPosts/${encoded}`, {
120
+ method: "DELETE",
121
+ headers: this.headers,
122
+ });
123
+ if (!response.ok) {
124
+ throw new Error(`LinkedIn API error ${response.status}: ${await response.text()}`);
125
+ }
126
+ }
117
127
  async searchPeople(keywords, count = 10) {
118
128
  const params = new URLSearchParams({
119
129
  q: "people",
@@ -1 +1 @@
1
- {"version":3,"file":"linkedin-service.js","sourceRoot":"","sources":["../../src/services/linkedin-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linkedin-service.js","sourceRoot":"","sources":["../../src/services/linkedin-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ export declare class RedditService {
2
+ private baseUrl;
3
+ private userAgent;
4
+ private _accessToken;
5
+ constructor();
6
+ private authenticate;
7
+ private headers;
8
+ submitPost(subreddit: string, title: string, kind: "self" | "link", text?: string, url?: string): Promise<{
9
+ json: {
10
+ errors: unknown[];
11
+ data?: {
12
+ name?: string | undefined;
13
+ url?: string | undefined;
14
+ id?: string | undefined;
15
+ } | undefined;
16
+ };
17
+ }>;
18
+ getPosts(subreddit: string, sort?: "hot" | "new" | "top" | "rising", limit?: number): Promise<{
19
+ data: {
20
+ children: {
21
+ data: {
22
+ id: string;
23
+ name: string;
24
+ title?: string | undefined;
25
+ selftext?: string | undefined;
26
+ url?: string | undefined;
27
+ score?: number | undefined;
28
+ author?: string | undefined;
29
+ created_utc?: number | undefined;
30
+ num_comments?: number | undefined;
31
+ subreddit?: string | undefined;
32
+ permalink?: string | undefined;
33
+ body?: string | undefined;
34
+ };
35
+ }[];
36
+ after?: string | null | undefined;
37
+ };
38
+ }>;
39
+ comment(parentId: string, text: string): Promise<{
40
+ json: {
41
+ errors: unknown[];
42
+ data?: {
43
+ name?: string | undefined;
44
+ url?: string | undefined;
45
+ id?: string | undefined;
46
+ } | undefined;
47
+ };
48
+ }>;
49
+ vote(id: string, dir: 1 | 0 | -1): Promise<void>;
50
+ search(query: string, subreddit?: string, sort?: "relevance" | "new" | "top", limit?: number): Promise<{
51
+ data: {
52
+ children: {
53
+ data: {
54
+ id: string;
55
+ name: string;
56
+ title?: string | undefined;
57
+ selftext?: string | undefined;
58
+ url?: string | undefined;
59
+ score?: number | undefined;
60
+ author?: string | undefined;
61
+ created_utc?: number | undefined;
62
+ num_comments?: number | undefined;
63
+ subreddit?: string | undefined;
64
+ permalink?: string | undefined;
65
+ body?: string | undefined;
66
+ };
67
+ }[];
68
+ after?: string | null | undefined;
69
+ };
70
+ }>;
71
+ getUserInfo(username: string): Promise<{
72
+ data: {
73
+ name: string;
74
+ id: string;
75
+ icon_img?: string | undefined;
76
+ link_karma?: number | undefined;
77
+ comment_karma?: number | undefined;
78
+ created_utc?: number | undefined;
79
+ is_gold?: boolean | undefined;
80
+ subreddit?: {
81
+ title?: string | undefined;
82
+ public_description?: string | undefined;
83
+ } | undefined;
84
+ };
85
+ }>;
86
+ }
87
+ export declare function getRedditService(): RedditService;
@@ -0,0 +1,188 @@
1
+ import { z } from "zod";
2
+ import { config } from "../lib/config.js";
3
+ import { CredentialsError } from "../lib/errors.js";
4
+ const redditTokenSchema = z.object({
5
+ access_token: z.string(),
6
+ token_type: z.string(),
7
+ expires_in: z.number().optional(),
8
+ });
9
+ const redditPostSchema = z.object({
10
+ json: z.object({
11
+ errors: z.array(z.unknown()),
12
+ data: z
13
+ .object({
14
+ name: z.string().optional(),
15
+ url: z.string().optional(),
16
+ id: z.string().optional(),
17
+ })
18
+ .optional(),
19
+ }),
20
+ });
21
+ const redditListingSchema = z.object({
22
+ data: z.object({
23
+ children: z.array(z.object({
24
+ data: z.object({
25
+ id: z.string(),
26
+ name: z.string(),
27
+ title: z.string().optional(),
28
+ selftext: z.string().optional(),
29
+ url: z.string().optional(),
30
+ score: z.number().optional(),
31
+ author: z.string().optional(),
32
+ created_utc: z.number().optional(),
33
+ num_comments: z.number().optional(),
34
+ subreddit: z.string().optional(),
35
+ permalink: z.string().optional(),
36
+ body: z.string().optional(),
37
+ }),
38
+ })),
39
+ after: z.string().nullable().optional(),
40
+ }),
41
+ });
42
+ const redditUserSchema = z.object({
43
+ data: z.object({
44
+ name: z.string(),
45
+ id: z.string(),
46
+ icon_img: z.string().optional(),
47
+ link_karma: z.number().optional(),
48
+ comment_karma: z.number().optional(),
49
+ created_utc: z.number().optional(),
50
+ is_gold: z.boolean().optional(),
51
+ subreddit: z
52
+ .object({
53
+ title: z.string().optional(),
54
+ public_description: z.string().optional(),
55
+ })
56
+ .optional(),
57
+ }),
58
+ });
59
+ export class RedditService {
60
+ baseUrl = config.reddit.baseUrl;
61
+ userAgent = config.reddit.userAgent;
62
+ _accessToken = null;
63
+ constructor() {
64
+ if (!config.reddit.clientId ||
65
+ !config.reddit.clientSecret ||
66
+ !config.reddit.username ||
67
+ !config.reddit.password) {
68
+ throw new CredentialsError("Reddit", [
69
+ "REDDIT_CLIENT_ID",
70
+ "REDDIT_CLIENT_SECRET",
71
+ "REDDIT_USERNAME",
72
+ "REDDIT_PASSWORD",
73
+ ]);
74
+ }
75
+ }
76
+ async authenticate() {
77
+ if (this._accessToken)
78
+ return this._accessToken;
79
+ const credentials = Buffer.from(`${config.reddit.clientId}:${config.reddit.clientSecret}`).toString("base64");
80
+ const response = await fetch("https://www.reddit.com/api/v1/access_token", {
81
+ method: "POST",
82
+ headers: {
83
+ Authorization: `Basic ${credentials}`,
84
+ "Content-Type": "application/x-www-form-urlencoded",
85
+ "User-Agent": this.userAgent,
86
+ },
87
+ body: new URLSearchParams({
88
+ grant_type: "password",
89
+ username: config.reddit.username,
90
+ password: config.reddit.password,
91
+ }),
92
+ });
93
+ if (!response.ok) {
94
+ throw new Error(`Reddit auth failed: ${response.status} ${await response.text()}`);
95
+ }
96
+ const data = redditTokenSchema.parse(await response.json());
97
+ this._accessToken = data.access_token;
98
+ return this._accessToken;
99
+ }
100
+ async headers() {
101
+ const token = await this.authenticate();
102
+ return {
103
+ Authorization: `Bearer ${token}`,
104
+ "User-Agent": this.userAgent,
105
+ "Content-Type": "application/x-www-form-urlencoded",
106
+ };
107
+ }
108
+ async submitPost(subreddit, title, kind, text, url) {
109
+ const headers = await this.headers();
110
+ const body = new URLSearchParams({ sr: subreddit, title, kind });
111
+ if (kind === "self" && text)
112
+ body.set("text", text);
113
+ if (kind === "link" && url)
114
+ body.set("url", url);
115
+ const response = await fetch(`${this.baseUrl}/api/submit`, {
116
+ method: "POST",
117
+ headers,
118
+ body,
119
+ });
120
+ if (!response.ok) {
121
+ throw new Error(`Reddit API error ${response.status}: ${await response.text()}`);
122
+ }
123
+ return redditPostSchema.parse(await response.json());
124
+ }
125
+ async getPosts(subreddit, sort = "hot", limit = 10) {
126
+ const headers = await this.headers();
127
+ const response = await fetch(`${this.baseUrl}/r/${subreddit}/${sort}?limit=${limit}`, { method: "GET", headers });
128
+ if (!response.ok) {
129
+ throw new Error(`Reddit API error ${response.status}: ${await response.text()}`);
130
+ }
131
+ return redditListingSchema.parse(await response.json());
132
+ }
133
+ async comment(parentId, text) {
134
+ const headers = await this.headers();
135
+ const body = new URLSearchParams({ thing_id: parentId, text });
136
+ const response = await fetch(`${this.baseUrl}/api/comment`, {
137
+ method: "POST",
138
+ headers,
139
+ body,
140
+ });
141
+ if (!response.ok) {
142
+ throw new Error(`Reddit API error ${response.status}: ${await response.text()}`);
143
+ }
144
+ return redditPostSchema.parse(await response.json());
145
+ }
146
+ async vote(id, dir) {
147
+ const headers = await this.headers();
148
+ const body = new URLSearchParams({ id, dir: String(dir) });
149
+ const response = await fetch(`${this.baseUrl}/api/vote`, {
150
+ method: "POST",
151
+ headers,
152
+ body,
153
+ });
154
+ if (!response.ok) {
155
+ throw new Error(`Reddit API error ${response.status}: ${await response.text()}`);
156
+ }
157
+ }
158
+ async search(query, subreddit, sort = "relevance", limit = 10) {
159
+ const headers = await this.headers();
160
+ const params = new URLSearchParams({ q: query, sort, limit: String(limit) });
161
+ const base = subreddit
162
+ ? `${this.baseUrl}/r/${subreddit}/search?${params}&restrict_sr=1`
163
+ : `${this.baseUrl}/search?${params}`;
164
+ const response = await fetch(base, { method: "GET", headers });
165
+ if (!response.ok) {
166
+ throw new Error(`Reddit API error ${response.status}: ${await response.text()}`);
167
+ }
168
+ return redditListingSchema.parse(await response.json());
169
+ }
170
+ async getUserInfo(username) {
171
+ const headers = await this.headers();
172
+ const response = await fetch(`${this.baseUrl}/user/${username}/about`, {
173
+ method: "GET",
174
+ headers,
175
+ });
176
+ if (!response.ok) {
177
+ throw new Error(`Reddit API error ${response.status}: ${await response.text()}`);
178
+ }
179
+ return redditUserSchema.parse(await response.json());
180
+ }
181
+ }
182
+ let _instance;
183
+ export function getRedditService() {
184
+ if (!_instance)
185
+ _instance = new RedditService();
186
+ return _instance;
187
+ }
188
+ //# sourceMappingURL=reddit-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reddit-service.js","sourceRoot":"","sources":["../../src/services/reddit-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export declare class ThreadsService {
2
+ private baseUrl;
3
+ private headers;
4
+ constructor();
5
+ getProfile(): Promise<{
6
+ id: string;
7
+ username?: string | undefined;
8
+ name?: string | undefined;
9
+ biography?: string | undefined;
10
+ followers_count?: number | undefined;
11
+ profile_picture_url?: string | undefined;
12
+ }>;
13
+ createPost(text: string, replyToId?: string): Promise<{
14
+ id: string;
15
+ }>;
16
+ getPosts(limit?: number): Promise<{
17
+ data: {
18
+ id: string;
19
+ text?: string | undefined;
20
+ media_type?: string | undefined;
21
+ timestamp?: string | undefined;
22
+ permalink?: string | undefined;
23
+ like_count?: number | undefined;
24
+ replies_count?: number | undefined;
25
+ }[];
26
+ paging?: {
27
+ cursors?: {
28
+ before?: string | undefined;
29
+ after?: string | undefined;
30
+ } | undefined;
31
+ } | undefined;
32
+ }>;
33
+ deletePost(mediaId: string): Promise<void>;
34
+ }
35
+ export declare function getThreadsService(): ThreadsService;