@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 CHANGED
@@ -1,56 +1,203 @@
1
1
  # @followr/mcp
2
2
 
3
- MCP server for Followr. Connects Claude (and any MCP-compatible AI agent) to your Followr workspace.
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
- **Status:** v0.1 alpha. Surface is growing rapidly. See repo for roadmap.
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
- ## Install
13
+ **Status:** v0.1 alpha. API surface is stabilizing; expect occasional changes
14
+ between minor versions until v1.0.
8
15
 
9
- In your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
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": "your_followr_api_token_here"
94
+ "FOLLOWR_API_TOKEN": "PASTE_YOUR_TOKEN_HERE"
19
95
  }
20
96
  }
21
97
  }
22
98
  }
23
99
  ```
24
100
 
25
- Restart Claude Desktop. The `followr` connector should appear in the connectors panel.
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
- For Claude Code:
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
- claude mcp add followr "npx -y @followr/mcp" --env FOLLOWR_API_TOKEN=your_token
175
+ npx -y @followr/mcp --version || true
31
176
  ```
32
177
 
33
- For Cursor: similar, via the MCP servers config UI.
178
+ (Ignore the output; the cache is now warm.)
34
179
 
35
- ## Generate your API token
180
+ ## Security and privacy
36
181
 
37
- 1. Go to https://app.followr.ai
38
- 2. Settings > Company Settings > API Keys
39
- 3. Click "Generate" and copy the value
40
- 4. Paste it in your Claude Desktop config
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 you can ask Claude
189
+ ## What's not in v0.1
43
190
 
44
- - "Show me pending drafts in my Acme workspace"
45
- - "Generate 5 viral shorts about productivity for this week"
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
- ## Repository
194
+ ## Where to ask for help
51
195
 
52
- Source code, full tool list, and roadmap: https://github.com/marcosplaza/followr-mcp (TODO: replace with actual repo URL when published)
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).