Troubleshooting
Common issues and solutions for PostPost MCP Server.
Connection Issues
"API key required" Error
Cause: Missing or malformed Authorization header.
Solutions:
-
Check header format:
{ "headers": { "Authorization": "Bearer sk_YOUR_API_KEY" } } -
Ensure "Bearer" prefix is included:
Correct: "Bearer sk_abc123..." Wrong: "sk_abc123..." -
Verify no extra spaces:
Correct: "Bearer sk_abc123" Wrong: "Bearer sk_abc123" (double space) Wrong: " Bearer sk_abc123" (leading space) -
Generate a new key:
- Go to postpost.dev → API in the sidebar
- Click "Generate New Key"
- Update your configuration
Tools Not Showing in AI Client
Cause: MCP server not loaded properly.
Solution 1: Restart your AI client
MCP servers load on startup. Close and reopen your client completely.
Solution 2: Check config file location
| Client | Config Location |
|---|---|
| Claude Code | ~/.claude.json or .mcp.json in project |
| Cursor | ~/.cursor/mcp.json or .cursor/mcp.json in project |
| Claude Desktop | Settings → Developer → Edit Config |
Solution 3: Validate JSON syntax
Use jsonlint.com to check for errors.
Common JSON mistakes:
// Wrong - trailing comma
{
"mcpServers": {
"postpost": {
"type": "http",
}
}
}
// Wrong - missing quotes
{
mcpServers: {
postpost: {}
}
}
// Wrong - single quotes
{
'mcpServers': {
'postpost': {}
}
}Solution 4: Verify config structure
Correct structure:
{
"mcpServers": {
"postpost": {
"type": "http",
"url": "https://mcp.postpost.dev",
"headers": {
"Authorization": "Bearer sk_YOUR_API_KEY"
}
}
}
}Solution 5: Check with Claude Code
Run /mcp to see connected servers and their status.
"Connection refused" or Network Error
Cause: Cannot reach mcp.postpost.dev.
Solution 1: Check internet connection
ping google.comSolution 2: Verify server is running
curl https://mcp.postpost.dev/healthExpected response:
{"status":"ok","service":"postpost-mcp"}Solution 3: Check for firewall/proxy
- Ensure HTTPS (port 443) is allowed
- Check corporate proxy settings
- Try from a different network
Solution 4: Check DNS resolution
nslookup mcp.postpost.devAuthentication Issues
"Invalid API key"
Solutions:
-
Check for typos — Keys start with
sk_ -
Ensure no quotes around key in header value:
// Correct "Authorization": "Bearer sk_abc123" // Wrong - extra quotes "Authorization": "Bearer \"sk_abc123\"" -
Generate a new key:
- postpost.dev → API in the sidebar
- Click Generate API Key
- Update all configurations
-
Verify correct account — Make sure you're logged into the right PostPost account
"Unauthorized" When Calling Tools
Cause: API key doesn't have access to the requested resource.
Solutions:
-
Verify workspace — Check you're connected to the correct PostPost workspace
-
Check subscription — Ensure your plan includes API access
-
Verify resource ownership — You can only access your own workspace's data
Tool Errors
"Platform not found"
Cause: Using an invalid platform ID.
Solution:
- First call
list_connectionsto get valid platform IDs - Platform IDs look like:
twitter-123456,linkedin-abc123 - Don't use generic names like "twitter" — use the full ID
You: "List my connections"
Claude: You have these platforms:
- linkedin-abc123
- twitter-xyz789
You: "Schedule to linkedin-abc123" // Correct
You: "Schedule to linkedin" // Wrong"Invalid scheduled time"
Cause: Datetime format is wrong.
Solution:
Use ISO 8601 format: 2026-03-01T14:00:00Z
Correct formats:
2026-03-01T14:00:00Z (UTC)
2026-03-01T09:00:00-05:00 (with timezone offset)
2026-03-01T14:00:00.000Z (with milliseconds)Wrong formats:
March 1, 2026
03/01/2026 2pm
2026-03-01 14:00
tomorrow at 9am (AI converts this, but tool needs ISO 8601)"Post content too long"
Cause: Content exceeds platform character limits.
Platform limits:
| Platform | Character Limit |
|---|---|
| Twitter/X | 280 |
| 3,000 | |
| 2,200 | |
| Threads | 500 (10,000 with text attachment) |
| Bluesky | 300 |
| Mastodon | 500 |
| Telegram | 4,096 |
| 63,206 | |
| TikTok | 2,200 |
| YouTube | 5,000 |
Solution: Shorten your content or use a platform with higher limits.
"Post group not found"
Cause: Invalid post group ID or post was deleted.
Solutions:
- Verify the ID — Post IDs are MongoDB ObjectIds (e.g.,
67a1b2c3d4e5f6a7b8c9d0e1) - List posts — Use
list_poststo see valid post IDs - Check filters — The post might have a different status than expected
Session Issues
"Invalid or missing session. Send a POST without mcp-session-id to start."
Cause: MCP session expired or not initialized.
Solution:
This usually resolves automatically. The server creates a new session on the next request.
If persistent:
- Restart your AI client
- Check your API key is still valid
- Verify server is responding:
curl https://mcp.postpost.dev/health
Configuration Mistakes
Common Configuration Errors
Wrong - missing "type":
{
"mcpServers": {
"postpost": {
"url": "https://mcp.postpost.dev"
}
}
}Wrong - "url" type instead of "http":
{
"mcpServers": {
"postpost": {
"type": "url",
"url": "https://mcp.postpost.dev"
}
}
}Wrong - missing Bearer prefix:
{
"headers": {
"Authorization": "sk_abc123..."
}
}Wrong - trailing slash in URL:
{
"url": "https://mcp.postpost.dev/"
}Correct configuration:
{
"mcpServers": {
"postpost": {
"type": "http",
"url": "https://mcp.postpost.dev",
"headers": {
"Authorization": "Bearer sk_abc123..."
}
}
}
}Plan Limit Errors
"Post limit reached" / "Schedule limit reached"
Cause: You have exceeded a plan-based limit (monthly posts, connections, scheduled posts, or schedule horizon).
Note: The MCP server wraps PostPost API limit errors and returns them in the .error field of the response (e.g., "Post limit reached", "Schedule limit reached"). The underlying API uses HTTP 403 Forbidden, but MCP clients will see the descriptive error string, not the HTTP status code.
Solutions:
- Check your plan limits:
- Starter (free): 15 posts/month (account-wide) (dashboard only —
apiAccess: false,mcpAccess: false). Starter users cannot use the API or MCP at all; attempting to do so returns an access error. The Starter plan also excludes Twitter/X — users must upgrade to Pro or Premium to post to Twitter. Upgrade to Pro or Premium for API/MCP access. - Pro: 100 posts/month per connection
- Premium: 500 posts/month per connection
- Starter (free): 15 posts/month (account-wide) (dashboard only —
- Upgrade your plan — Higher tiers have higher limits
- Wait for the monthly reset — Monthly post counts reset at the start of each billing cycle
mcporter / OpenClaw Issues
"Unknown MCP server" Error
Cause: mcporter CLI argument parsing issue or missing Accept headers.
Solution 1: Use the configuration file instead of CLI flags
Create config/mcporter.json:
{
"servers": {
"postpost": {
"url": "https://mcp.postpost.dev",
"headers": {
"Authorization": "Bearer sk_YOUR_API_KEY"
}
}
}
}Then run:
mcporter list --config config/mcporter.jsonSolution 2: Check mcporter version
Update to the latest version:
pip install --upgrade mcporterSolution 3: Test connection manually
curl -X POST https://mcp.postpost.dev \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer sk_YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}'Note: The Accept header is technically required by the MCP Streamable HTTP spec, but our server auto-fixes missing headers for compatibility with clients that don't send them.
Debugging Tips
Enable Verbose Logging
Claude Code:
CLAUDE_DEBUG=1 claudePython client:
import logging
logging.basicConfig(level=logging.DEBUG)Test with cURL
Health check:
curl -v https://mcp.postpost.dev/healthTest authentication:
curl -X POST https://mcp.postpost.dev \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer sk_YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}'Check Tool Response
When a tool fails, check the response content:
result = await session.call_tool("list_posts", {})
print(result.content[0].text) # Check for error messagesGetting Help
If you're still stuck:
- Documentation: Check docs.postpost.dev
- Email: [email protected]
- Twitter/X: @postpostinc
When reporting issues, include:
- Your AI client (Claude Code, Cursor, etc.) and version
- Config file (with API key redacted)
- Full error message
- Steps to reproduce
- Output of
curl https://mcp.postpost.dev/health