@followr/mcp 0.1.0 → 0.2.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.
- package/README.md +170 -23
- package/dist/bin/followr-mcp.js +1073 -122
- package/dist/bin/followr-mcp.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,56 +1,203 @@
|
|
|
1
1
|
# @followr/mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **UNOFFICIAL.** Community project maintained by Followr Community Maintainers.
|
|
4
|
+
> Not endorsed by, affiliated with, or supported by Followr Inc.
|
|
5
|
+
> For official Followr support, contact support@followr.ai.
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
Model Context Protocol (MCP) server for [Followr](https://followr.ai). Connect
|
|
8
|
+
Claude Desktop, Claude Code, Cursor, or any MCP-compatible AI client to your
|
|
9
|
+
Followr workspace and operate it from natural language: schedule posts, generate
|
|
10
|
+
content with AI, manage avatars and lipsync videos, run automations, triage the
|
|
11
|
+
social inbox, and more.
|
|
6
12
|
|
|
7
|
-
|
|
13
|
+
**Status:** v0.1 alpha. API surface is stabilizing; expect occasional changes
|
|
14
|
+
between minor versions until v1.0.
|
|
8
15
|
|
|
9
|
-
|
|
16
|
+
## What you can ask Claude after installing
|
|
17
|
+
|
|
18
|
+
- "Show me the pending drafts in my Acme workspace."
|
|
19
|
+
- "Generate 5 short Instagram caption ideas about [topic] for workspace [name]."
|
|
20
|
+
- "Take this blog post URL and adapt it into one post per network for X, LinkedIn, and Instagram, saved as drafts."
|
|
21
|
+
- "List all unread DMs across my Facebook and Instagram accounts."
|
|
22
|
+
- "Create a short avatar video with [avatar name] saying [script] for Instagram Reels."
|
|
23
|
+
|
|
24
|
+
The MCP exposes 67 tools, 6 resources, and 5 canned workflows. Source code and
|
|
25
|
+
full tool list at https://github.com/followr-community/followr-mcp.
|
|
26
|
+
|
|
27
|
+
## Before you start
|
|
28
|
+
|
|
29
|
+
1. **A computer** (macOS, Windows, or Linux).
|
|
30
|
+
2. **Node.js 20 or newer.** Check with `node --version`; if missing, install LTS from https://nodejs.org.
|
|
31
|
+
3. **An MCP-compatible AI client.** Pick one:
|
|
32
|
+
- Claude Desktop: https://claude.ai/download (recommended, GUI).
|
|
33
|
+
- Claude Code: https://docs.claude.com/en/docs/claude-code (CLI).
|
|
34
|
+
- Cursor: https://cursor.com (IDE with chat).
|
|
35
|
+
4. **An active Followr account.**
|
|
36
|
+
|
|
37
|
+
## Step 1: Generate a Followr API token
|
|
38
|
+
|
|
39
|
+
1. Sign in at https://app.followr.ai.
|
|
40
|
+
2. Top bar: pick the workspace you want the AI to operate in.
|
|
41
|
+
3. Click the gear icon to its right → **API Keys** in the sidebar.
|
|
42
|
+
4. Click **Generate**, name it something memorable (e.g. "Claude MCP").
|
|
43
|
+
5. **Copy the token immediately.** Followr only shows it once.
|
|
44
|
+
|
|
45
|
+
> ⚠️ **Security:** the token is a credential. Treat it like a password.
|
|
46
|
+
> Never paste it in a chat (Claude, Slack, anywhere). Only paste it into your
|
|
47
|
+
> terminal or your local config file. If it leaks, revoke it in the same UI
|
|
48
|
+
> and generate a new one.
|
|
49
|
+
|
|
50
|
+
> ⚠️ **Followr tokens contain a `|` (pipe) character** in the middle.
|
|
51
|
+
> The pipe is a special shell character. In every command below, the token
|
|
52
|
+
> goes inside **single quotes** (`'...'`) so the shell does not split it.
|
|
53
|
+
> If you forget the quotes, only the part before the `|` gets stored and
|
|
54
|
+
> every request returns 401.
|
|
55
|
+
|
|
56
|
+
## Step 2: Configure your AI client
|
|
57
|
+
|
|
58
|
+
### Option A — Claude Desktop (recommended)
|
|
59
|
+
|
|
60
|
+
Open the config file (create with `{}` as content if missing):
|
|
61
|
+
|
|
62
|
+
| OS | Path |
|
|
63
|
+
|---|---|
|
|
64
|
+
| macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |
|
|
65
|
+
| Windows | `%APPDATA%\Claude\claude_desktop_config.json` |
|
|
66
|
+
| Linux | `~/.config/Claude/claude_desktop_config.json` |
|
|
67
|
+
|
|
68
|
+
Add the Followr connector inside `mcpServers`. If your file is `{}`, replace it with:
|
|
69
|
+
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"mcpServers": {
|
|
73
|
+
"followr": {
|
|
74
|
+
"command": "npx",
|
|
75
|
+
"args": ["-y", "@followr/mcp"],
|
|
76
|
+
"env": {
|
|
77
|
+
"FOLLOWR_API_TOKEN": "PASTE_YOUR_TOKEN_HERE"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
If you already have other MCPs, keep them and add `"followr"` as a sibling:
|
|
10
85
|
|
|
11
86
|
```json
|
|
12
87
|
{
|
|
13
88
|
"mcpServers": {
|
|
89
|
+
"your-existing-mcp": { "...": "..." },
|
|
14
90
|
"followr": {
|
|
15
91
|
"command": "npx",
|
|
16
92
|
"args": ["-y", "@followr/mcp"],
|
|
17
93
|
"env": {
|
|
18
|
-
"FOLLOWR_API_TOKEN": "
|
|
94
|
+
"FOLLOWR_API_TOKEN": "PASTE_YOUR_TOKEN_HERE"
|
|
19
95
|
}
|
|
20
96
|
}
|
|
21
97
|
}
|
|
22
98
|
}
|
|
23
99
|
```
|
|
24
100
|
|
|
25
|
-
|
|
101
|
+
The token goes inside the JSON string literal as-is (no shell quoting needed inside JSON).
|
|
102
|
+
|
|
103
|
+
Save the file, **fully quit Claude Desktop** (Cmd+Q on macOS, no minimizing), and reopen it. First launch with Followr added takes ~5 to 10 seconds extra to download the package; one-time and cached afterward.
|
|
104
|
+
|
|
105
|
+
### Option B — Claude Code (CLI)
|
|
106
|
+
|
|
107
|
+
In your terminal, register the MCP at user scope so it is available in every project:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
claude mcp add --scope user followr --env 'FOLLOWR_API_TOKEN=PASTE_YOUR_TOKEN_HERE' -- npx -y @followr/mcp
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
> Note: the **single quotes** around `FOLLOWR_API_TOKEN=...` protect the `|` in your token from the shell. Required.
|
|
114
|
+
> Note: `--scope user` makes it available in every project. Without it, the MCP would only show up in sessions started from the current directory.
|
|
115
|
+
> Note: the `--` before `npx` separates Claude CLI's own arguments from the MCP command.
|
|
116
|
+
|
|
117
|
+
Verify:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
claude mcp get followr
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Look for `Scope: User config` and `Status: ✓ Connected`. Open a new Claude Code session (existing sessions do not reload MCP config) and try a prompt.
|
|
124
|
+
|
|
125
|
+
### Option C — Cursor
|
|
126
|
+
|
|
127
|
+
Edit `~/.cursor/mcp.json` (or `%USERPROFILE%\.cursor\mcp.json` on Windows). Use the same JSON shape as Claude Desktop. Restart Cursor.
|
|
128
|
+
|
|
129
|
+
## Step 3: Verify it works
|
|
130
|
+
|
|
131
|
+
In a new chat, send:
|
|
132
|
+
|
|
133
|
+
> Use the Followr MCP to show me which user my API token belongs to.
|
|
134
|
+
|
|
135
|
+
Expected response: your name, timezone, language, current credits. If you see that, you are connected.
|
|
136
|
+
|
|
137
|
+
## Troubleshooting
|
|
138
|
+
|
|
139
|
+
**"Failed to connect" right after registering.**
|
|
140
|
+
|
|
141
|
+
Run `claude mcp get followr` and check the `Environment:` section. If `FOLLOWR_API_TOKEN` shows only the first part of your token (e.g. `220248` without the `|...` after it), the shell split your command. Re-add with single quotes around the env var:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
claude mcp remove followr
|
|
145
|
+
claude mcp add --scope user followr --env 'FOLLOWR_API_TOKEN=YOUR_FULL_TOKEN' -- npx -y @followr/mcp
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**The MCP is registered but my AI client says it does not see it.**
|
|
149
|
+
|
|
150
|
+
Verify the scope. `claude mcp get followr` should show `Scope: User config (private to you across all projects)`. If it says `Scope: Local config (private to you in this project)`, the MCP is only available in sessions opened from the directory where you ran `claude mcp add`. Remove and re-add with `--scope user`.
|
|
151
|
+
|
|
152
|
+
For Claude Desktop and Cursor, fully quit and reopen the app (do not just close the window).
|
|
153
|
+
|
|
154
|
+
**"Command 'npx' not found."**
|
|
155
|
+
|
|
156
|
+
Node.js is not installed or not on your PATH. Install LTS from https://nodejs.org, then restart your terminal and your AI client.
|
|
157
|
+
|
|
158
|
+
**"401 Unauthorized" on every tool call.**
|
|
159
|
+
|
|
160
|
+
The token is invalid or revoked. Generate a new one in Followr (Settings → API Keys → Generate), update the value in your config (or via `claude mcp remove followr` + re-add), and restart your client.
|
|
161
|
+
|
|
162
|
+
**"This user does not belong to the company provided."**
|
|
163
|
+
|
|
164
|
+
You asked the AI to operate on a workspace your token has no access to. Ask Claude to list your workspaces first and pick one you own or are a member of.
|
|
165
|
+
|
|
166
|
+
**"Your current subscription does not include the necessary features to perform this action."**
|
|
167
|
+
|
|
168
|
+
The specific workspace does not have the AI add-on enabled. Try a workspace on the full plan, or upgrade the workspace's plan in Followr.
|
|
169
|
+
|
|
170
|
+
**First call to the MCP feels slow.**
|
|
26
171
|
|
|
27
|
-
|
|
172
|
+
That is `npx` downloading the package and its runtime dependencies (~25 MB cached in `~/.npm/_npx/`). One-time. Subsequent launches are immediate. Pre-warm if you want:
|
|
28
173
|
|
|
29
174
|
```bash
|
|
30
|
-
|
|
175
|
+
npx -y @followr/mcp --version || true
|
|
31
176
|
```
|
|
32
177
|
|
|
33
|
-
|
|
178
|
+
(Ignore the output; the cache is now warm.)
|
|
34
179
|
|
|
35
|
-
##
|
|
180
|
+
## Security and privacy
|
|
36
181
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
182
|
+
- The MCP runs as a local subprocess of your AI client. It is not a hosted service.
|
|
183
|
+
- Your Followr token never leaves your computer except in HTTPS requests directly to `api.followr.ai`.
|
|
184
|
+
- The token only unlocks the workspaces you already have access to in Followr.
|
|
185
|
+
- No telemetry. The MCP does not phone home.
|
|
186
|
+
- Source code is open and auditable: https://github.com/followr-community/followr-mcp.
|
|
187
|
+
- To revoke a leaked token: Followr → Settings → API Keys → delete.
|
|
41
188
|
|
|
42
|
-
## What
|
|
189
|
+
## What's not in v0.1
|
|
43
190
|
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
- "Take this blog post URL and create posts for Twitter, Instagram, LinkedIn scheduled for Monday"
|
|
47
|
-
- "Approve draft 1234"
|
|
48
|
-
- "List unread DMs across Facebook and Instagram"
|
|
191
|
+
- Remote HTTP transport (planned for v0.2). Today the MCP runs as a local subprocess only.
|
|
192
|
+
- A handful of Followr API endpoints we have not verified end-to-end yet (analytics edge cases, some Canva flows).
|
|
49
193
|
|
|
50
|
-
##
|
|
194
|
+
## Where to ask for help
|
|
51
195
|
|
|
52
|
-
|
|
196
|
+
- **Bugs in this MCP:** https://github.com/followr-community/followr-mcp/issues
|
|
197
|
+
- **Source code (audit anything):** https://github.com/followr-community/followr-mcp
|
|
198
|
+
- **Unofficial Followr API docs:** https://followrapi-docs.pages.dev
|
|
199
|
+
- **Followr product support** (account, billing, features): support@followr.ai
|
|
53
200
|
|
|
54
201
|
## License
|
|
55
202
|
|
|
56
|
-
MIT
|
|
203
|
+
MIT. See [LICENSE](https://github.com/followr-community/followr-mcp/blob/main/LICENSE).
|