postfast-mcp 0.1.0 → 0.1.2
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-plugin/marketplace.json +21 -0
- package/.claude-plugin/plugin.json +22 -0
- package/README.md +98 -10
- package/dist/index.js +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
|
|
3
|
+
"name": "postfast-mcp",
|
|
4
|
+
"description": "PostFast social media scheduling and management tools for Claude Code",
|
|
5
|
+
"owner": {
|
|
6
|
+
"name": "PostFast",
|
|
7
|
+
"email": "me@peturgeorgievv.com"
|
|
8
|
+
},
|
|
9
|
+
"plugins": [
|
|
10
|
+
{
|
|
11
|
+
"name": "postfast",
|
|
12
|
+
"description": "Schedule and manage social media posts via PostFast. Supports Facebook, Instagram, X, TikTok, LinkedIn, YouTube, BlueSky, Threads, Pinterest, and Telegram.",
|
|
13
|
+
"category": "productivity",
|
|
14
|
+
"homepage": "https://postfa.st",
|
|
15
|
+
"source": {
|
|
16
|
+
"source": "npm",
|
|
17
|
+
"package": "postfast-mcp"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "postfast",
|
|
3
|
+
"description": "Schedule and manage social media posts via PostFast. Supports Facebook, Instagram, X, TikTok, LinkedIn, YouTube, BlueSky, Threads, Pinterest, and Telegram.",
|
|
4
|
+
"version": "0.1.2",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "PostFast",
|
|
7
|
+
"email": "me@peturgeorgievv.com"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://postfa.st",
|
|
10
|
+
"repository": "https://github.com/peturgeorgievv-factory/postfast-mcp",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": ["social-media", "scheduling", "mcp", "postfast"],
|
|
13
|
+
"mcpServers": {
|
|
14
|
+
"postfast": {
|
|
15
|
+
"command": "npx",
|
|
16
|
+
"args": ["-y", "postfast-mcp"],
|
|
17
|
+
"env": {
|
|
18
|
+
"POSTFAST_API_KEY": ""
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
package/README.md
CHANGED
|
@@ -1,16 +1,62 @@
|
|
|
1
1
|
# PostFast MCP Server
|
|
2
2
|
|
|
3
|
-
MCP server for the [PostFast](https://postfa.st) API — schedule and manage social media posts via AI tools like Claude.
|
|
3
|
+
MCP server for the [PostFast](https://postfa.st) API — schedule and manage social media posts via AI tools like Claude, Cursor, VS Code, and more.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Quick Start
|
|
6
6
|
|
|
7
7
|
### 1. Get your API key
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Log in to [PostFast](https://app.postfa.st/dashboard), go to **API** in the sidebar, and generate a key.
|
|
10
10
|
|
|
11
|
-
### 2.
|
|
11
|
+
### 2. Install
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Choose your preferred method:
|
|
14
|
+
|
|
15
|
+
#### Claude Desktop (recommended)
|
|
16
|
+
|
|
17
|
+
Download the extension from the [Claude Desktop extension directory](https://claude.ai/extensions) or install manually:
|
|
18
|
+
|
|
19
|
+
1. Add to `claude_desktop_config.json`:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"mcpServers": {
|
|
24
|
+
"postfast": {
|
|
25
|
+
"command": "npx",
|
|
26
|
+
"args": ["-y", "postfast-mcp"],
|
|
27
|
+
"env": {
|
|
28
|
+
"POSTFAST_API_KEY": "your-api-key-here"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
2. Restart Claude Desktop.
|
|
36
|
+
|
|
37
|
+
#### Claude Code
|
|
38
|
+
|
|
39
|
+
**Via plugin (pending marketplace approval):**
|
|
40
|
+
|
|
41
|
+
```shell
|
|
42
|
+
/plugin install postfast@claude-plugins-official
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
After installing, set your API key — pick one of these:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Option A: Add to your shell profile (~/.zshrc or ~/.bashrc)
|
|
49
|
+
export POSTFAST_API_KEY="your-api-key-here"
|
|
50
|
+
|
|
51
|
+
# Option B: Add to ~/.claude/settings.local.json
|
|
52
|
+
# { "env": { "POSTFAST_API_KEY": "your-api-key-here" } }
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Then restart Claude Code.
|
|
56
|
+
|
|
57
|
+
**Via manual config:**
|
|
58
|
+
|
|
59
|
+
Add to your project's `.mcp.json` or `~/.claude/.mcp.json` (global):
|
|
14
60
|
|
|
15
61
|
```json
|
|
16
62
|
{
|
|
@@ -18,7 +64,26 @@ Add to your `.mcp.json` (project) or `~/.claude.json` (global):
|
|
|
18
64
|
"postfast": {
|
|
19
65
|
"type": "stdio",
|
|
20
66
|
"command": "npx",
|
|
21
|
-
"args": ["postfast-mcp"],
|
|
67
|
+
"args": ["-y", "postfast-mcp"],
|
|
68
|
+
"env": {
|
|
69
|
+
"POSTFAST_API_KEY": "your-api-key-here"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
#### Cursor / VS Code / Windsurf / Other MCP clients
|
|
77
|
+
|
|
78
|
+
Add to your MCP config (`.mcp.json`, `mcp.json`, or the tool's settings UI):
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"mcpServers": {
|
|
83
|
+
"postfast": {
|
|
84
|
+
"type": "stdio",
|
|
85
|
+
"command": "npx",
|
|
86
|
+
"args": ["-y", "postfast-mcp"],
|
|
22
87
|
"env": {
|
|
23
88
|
"POSTFAST_API_KEY": "your-api-key-here"
|
|
24
89
|
}
|
|
@@ -29,31 +94,46 @@ Add to your `.mcp.json` (project) or `~/.claude.json` (global):
|
|
|
29
94
|
|
|
30
95
|
### 3. Use it
|
|
31
96
|
|
|
32
|
-
Ask
|
|
97
|
+
Ask your AI assistant things like:
|
|
33
98
|
|
|
34
99
|
- "List my connected social accounts"
|
|
35
100
|
- "Schedule a post to Instagram for tomorrow at 9am"
|
|
36
101
|
- "Show me all scheduled posts for this week"
|
|
37
102
|
- "Upload this image and create a LinkedIn post with it"
|
|
103
|
+
- "Create a Facebook reel with this video"
|
|
38
104
|
|
|
39
105
|
## Available Tools
|
|
40
106
|
|
|
41
107
|
| Tool | Description |
|
|
42
108
|
|------|-------------|
|
|
109
|
+
| `list_accounts` | List connected social media accounts |
|
|
43
110
|
| `list_posts` | List posts with filters (platform, status, date range) |
|
|
44
111
|
| `create_posts` | Create and schedule posts (batch, up to 15) |
|
|
45
112
|
| `delete_post` | Delete a post by ID |
|
|
46
|
-
| `
|
|
113
|
+
| `upload_media` | Upload a local file and get a media key (handles the full flow) |
|
|
114
|
+
| `get_upload_urls` | Get signed URLs to upload media files |
|
|
47
115
|
| `list_pinterest_boards` | Get Pinterest boards for an account |
|
|
48
116
|
| `list_youtube_playlists` | Get YouTube playlists for an account |
|
|
49
117
|
| `generate_connect_link` | Generate a link for clients to connect accounts |
|
|
50
|
-
| `get_upload_urls` | Get signed URLs to upload media files |
|
|
51
|
-
| `upload_media` | Upload a local file and get a media key (handles the full flow) |
|
|
52
118
|
|
|
53
119
|
## Supported Platforms
|
|
54
120
|
|
|
55
121
|
Facebook, Instagram, X (Twitter), TikTok, LinkedIn, YouTube, BlueSky, Threads, Pinterest, Telegram
|
|
56
122
|
|
|
123
|
+
## Platform-Specific Controls
|
|
124
|
+
|
|
125
|
+
When creating posts, you can pass platform-specific settings via the `controls` parameter:
|
|
126
|
+
|
|
127
|
+
| Platform | Controls |
|
|
128
|
+
|----------|----------|
|
|
129
|
+
| **X (Twitter)** | `xCommunityId`, `xQuoteTweetUrl`, `xRetweetUrl` |
|
|
130
|
+
| **Instagram** | `instagramPublishType` (TIMELINE/STORY/REEL), `instagramPostToGrid`, `instagramCollaborators` |
|
|
131
|
+
| **Facebook** | `facebookContentType` (POST/REEL/STORY), `facebookAllowComments`, `facebookPrivacy`, `facebookReelsCollaborators` |
|
|
132
|
+
| **TikTok** | `tiktokPrivacy` (PUBLIC/MUTUAL_FRIENDS/ONLY_ME), `tiktokIsDraft`, `tiktokAllowComments`, `tiktokAllowDuet`, `tiktokAllowStitch`, `tiktokBrandOrganic`, `tiktokBrandContent`, `tiktokAutoAddMusic` |
|
|
133
|
+
| **YouTube** | `youtubeTitle`, `youtubePrivacy` (PUBLIC/PRIVATE/UNLISTED), `youtubeTags`, `youtubeCategoryId`, `youtubeIsShort`, `youtubeMadeForKids`, `youtubePlaylistId` |
|
|
134
|
+
| **Pinterest** | `pinterestBoardId` (required), `pinterestLink` |
|
|
135
|
+
| **LinkedIn** | `linkedinAttachmentKey`, `linkedinAttachmentTitle` |
|
|
136
|
+
|
|
57
137
|
## Media Upload
|
|
58
138
|
|
|
59
139
|
The `upload_media` tool handles the full flow in a single call:
|
|
@@ -74,6 +154,14 @@ You can also use `get_upload_urls` directly if you need more control over the up
|
|
|
74
154
|
| `POSTFAST_API_KEY` | Yes | Your workspace API key |
|
|
75
155
|
| `POSTFAST_API_URL` | No | API base URL (default: `https://api.postfa.st`) |
|
|
76
156
|
|
|
157
|
+
## Testing
|
|
158
|
+
|
|
159
|
+
Verify everything works with the MCP Inspector:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
POSTFAST_API_KEY=your-key npx @modelcontextprotocol/inspector npx postfast-mcp
|
|
163
|
+
```
|
|
164
|
+
|
|
77
165
|
## API Docs
|
|
78
166
|
|
|
79
167
|
Full REST API documentation: [postfa.st/docs](https://postfa.st/docs)
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import { registerAccountTools } from './tools/accounts.js';
|
|
|
7
7
|
import { registerFileTools } from './tools/files.js';
|
|
8
8
|
const server = new McpServer({
|
|
9
9
|
name: 'postfast',
|
|
10
|
-
version: '0.1.
|
|
10
|
+
version: '0.1.1',
|
|
11
11
|
});
|
|
12
12
|
const client = new PostFastClient();
|
|
13
13
|
registerPostTools(server, client);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "postfast-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "MCP server for the PostFast API — schedule and manage social media posts via AI tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"main": "./dist/index.js",
|
|
10
10
|
"files": [
|
|
11
11
|
"dist",
|
|
12
|
+
".claude-plugin",
|
|
12
13
|
"README.md"
|
|
13
14
|
],
|
|
14
15
|
"scripts": {
|