Troubleshooting Guide
Quick Reference for Common Issues
š Diagnostic Decision Tree
Start Here: Is Claude recognizing the MCP server?
ā
āā NO ā Issue: MCP Server Not Found
ā ā
ā āā Config file exists?
ā ā āā NO ā Create .mcp.json in project root
ā ā āā YES ā Check JSON syntax ā Fix errors
ā ā
ā āā File in correct location?
ā ā āā Project root directory (.mcp.json)
ā ā
ā āā Claude Code reloaded?
ā āā NO ā Reload window to apply changes
ā
āā YES ā Can access Vibe CMS data?
ā
āā NO ā Issue: Authentication Failed
ā ā
ā āā Verify Project ID
ā āā Verify API Token
ā āā Check token permissions
ā āā Test with new token
ā
āā YES ā Working! If slow, see Performance section
šØ Issue 1: MCP Server Not Found
Symptoms
- Claude doesn't respond to Vibe CMS commands
- "List all MCP servers" doesn't show vibe-cms-prod
- No Vibe CMS tools available
Root Causes
Cause A: Configuration File Missing or Wrong Location
Check location:
ls -la .mcp.json
If missing: Create the file in your project root with this content:
{
"mcpServers": {
"vibe-cms-prod": {
"command": "npx",
"args": ["-y", "vibe-cms-mcp-server"],
"env": {
"VIBE_PROJECT_ID": "your-project-id",
"VIBE_API_TOKEN": "your-api-token"
}
}
}
}
Cause B: Invalid JSON Syntax
Test with:
# With jq installed
cat .mcp.json | jq .
# Or copy contents to https://jsonlint.com
Common errors:
// ā WRONG: Missing comma
{
"mcpServers": {
"server1": {}
"server2": {}
}
}
// ā
CORRECT: Comma between entries
{
"mcpServers": {
"server1": {},
"server2": {}
}
}
// ā WRONG: Trailing comma
{
"mcpServers": {
"server1": {},
}
}
// ā
CORRECT: No trailing comma
{
"mcpServers": {
"server1": {}
}
}
Cause C: Claude Code Not Reloaded
Reload window:
# In Claude Code:
# Press Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux)
# Type "Reload Window" and select it
# Or use the reload button in the interface
Verify config loaded:
# In project root
cat .mcp.json
# Should show your MCP server configuration
Cause D: NPX Not Found
Test:
npx --version
If error: Install Node.js from https://nodejs.org
Alternative: Use global install instead:
npm install -g vibe-cms-mcp-server
Update config to:
{
"command": "vibe-cms-mcp-server",
"args": []
}
Cause E: MCP Server Not Approved
Symptoms:
- Config file is correct and in the right location
- JSON syntax is valid
- Window has been reloaded multiple times
- Claude Code still doesn't recognize the MCP server
Root Cause: MCP server needs to be explicitly approved by Claude Code before it can be used.
Solution: Run the MCP approval command in terminal:
# From your project root directory
claude mcp
What happens:
- Command will display your MCP configuration
- You'll be prompted to approve the MCP server
- Select "Yes" or "Approve" to allow Claude to use this MCP server
- Restart Claude Code or reload the window
Why this is needed: For security reasons, Claude Code requires explicit user approval before connecting to any MCP server, even if it's correctly configured in .mcp.json.
When to try this:
- After creating a new
.mcp.jsonfile - After adding a new MCP server to an existing config
- When MCP server isn't loading despite correct configuration
- As a last resort after reloading/restarting hasn't worked
Verification: After approval and reload, run:
"List all available MCP servers"
You should now see your vibe-cms-prod (or your configured server name) in the list.
š Issue 2: Authentication Failed
Symptoms
- MCP server found but can't access data
- "Authentication failed" or "Unauthorized" errors
- Can list tools but they return errors
Root Causes
Cause A: Invalid Project ID
Verify:
- Log in to Vibe CMS dashboard
- Settings ā Project
- Copy exact Project ID (format:
proj_xxxxx)
Common mistakes:
- Extra spaces before/after
- Wrong project (if you have multiple)
- Typos in manual entry
Fix: Update VIBE_PROJECT_ID in .mcp.json with correct value
Cause B: Invalid or Expired Token
Symptoms:
- Worked before, stopped working
- Token looks correct but fails
Solution: Generate new token:
- Vibe CMS dashboard
- Settings ā API Keys
- Revoke old token (if exists)
- Generate new token
- Copy immediately
- Update
VIBE_API_TOKENin .mcp.json - Reload Claude Code window
Cause C: Insufficient Permissions
Check token permissions:
- Vibe CMS dashboard
- Settings ā API Keys
- Click on your token
- View permissions
Required minimum:
- ā Read content
- ā Write content
- ā Manage files
- ā Manage schema
If missing: Create new token with correct permissions
Cause D: Network Connectivity
Test API access directly:
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://api.vibecms.com/v1/projects/YOUR_PROJECT_ID
# Should return JSON with project info
# If error: Check network, firewall, or VPN
Check:
- Internet connection working
- Firewall not blocking API calls
- VPN not interfering
- Corporate proxy settings
ā” Issue 3: Slow Performance
Symptoms
- Commands take >10 seconds
- Timeouts on operations
- Claude appears to hang
Root Causes
Cause A: Large Dataset Queries
Problem: Fetching all content without filters
Bad:
"Show me all blog posts" // 10,000 posts = slow!
Good:
"Show me the 10 most recent blog posts" // Much faster
Solution: Always use limits and filters
Cause B: Network Latency
Test latency:
ping api.vibecms.com
# Good: <50ms
# Acceptable: 50-200ms
# Slow: >200ms
If slow:
- Check internet connection
- Try different network
- Contact ISP if persistent
Cause C: Rate Limiting
Symptoms:
- Fast initially, then slows
- "Rate limit exceeded" errors
Check usage:
- Vibe CMS dashboard
- Settings ā API Usage
- View current rate limit status
Solution:
- Wait a few minutes
- Upgrade plan if consistently hitting limits
- Implement caching in your app
š Issue 4: File Upload Problems
Symptoms
- Upload commands fail
- "File too large" errors
- Files upload but don't appear
Root Causes
Cause A: File Size Exceeds Limit
Check limits:
- Vibe CMS dashboard
- Settings ā Plan Details
- View file size limits
Solutions:
- Compress images before upload
- Split large files
- Upgrade plan for larger limits
Compress images:
# Example with ImageMagick
convert large.jpg -quality 85 -resize 2000x2000\> optimized.jpg
Cause B: Unsupported File Type
Check file extension: Some types may be restricted
Workaround: Convert to supported format:
- HEIC ā JPG
- BMP ā PNG
- AVI ā MP4
Cause C: Invalid Folder Path
Bad paths:
//double-slash/trailing/slash//special!chars/
Good paths:
/images/blog/2024/documents/pdf
Cause D: Storage Quota Exceeded
Check quota:
- Vibe CMS dashboard
- Settings ā Storage
- View current usage
Solutions:
- Delete unused files
- Compress existing files
- Upgrade plan
š Issue 5: Translation Problems
Symptoms
- Translations not appearing
- Wrong language displayed
- Missing translations
Root Causes
Cause A: Locale Not Created
Verify locales exist:
"List all locales in my project"
If missing:
"Add German (de-DE) as a locale"
Cause B: Content Not Translated
Remember: Creating content creates it in ONE locale only
Check:
"Show me the blog post [id] with all translations"
If missing translation:
"Add a German translation for blog post [id] with..."
Cause C: Default Locale Issues
Check default locale:
- Vibe CMS dashboard
- Settings ā Locales
- Verify default is correct
Fallback behavior: If translation missing, uses default locale
Cause D: Locale Code Mismatch
Common mistakes:
- Using
deinstead ofde-DE - Using
eninstead ofen-US - Case sensitivity:
en-usvsen-US
Standard: Always use BCP 47 format (e.g., en-US, fr-FR)
š Issue 6: Changes Not Appearing
Symptoms
- Made changes but don't see them
- Website shows old content
- API returns outdated data
Root Causes
Cause A: Content Still Draft
Check status:
"What is the status of content item [id]?"
If draft:
"Publish content item [id]"
Remember: All edits are to draft version - must publish!
Cause B: Browser Cache
Clear cache:
- Chrome: Cmd/Ctrl + Shift + R (hard refresh)
- Safari: Cmd + Option + R
- Firefox: Cmd/Ctrl + Shift + R
Or: Open in incognito/private window
Cause C: CDN Cache
If using CDN: May need to purge cache
- Cloudflare: Purge cache in dashboard
- Fastly: Purge cache via API
- AWS CloudFront: Invalidate distribution
Typical cache duration: 5-60 minutes
Cause D: Application Cache
If using app-level caching: May need to invalidate
React Query example:
queryClient.invalidateQueries({ queryKey: ['content'] })
General: Restart your dev server
Cause E: Static Site Generation Cache (Astro/Next.js)
Symptoms:
- Updated content in Vibe CMS via MCP or dashboard
- Changes not reflected in local development or production site
- "Stale" content persists even after browser refresh
Root Cause: Static Site Generators (SSG) like Astro fetch content at build time, not runtime. Once built, the HTML contains a snapshot of your content that won't change until you rebuild.
For Local Development (Astro):
Hard refresh your browser:
macOS: Cmd + Shift + R Windows/Linux: Ctrl + Shift + RThis clears client-side browser cache.
Restart your dev server:
# Stop the server (Ctrl + C) # Then restart: npm run devThis forces Astro to fetch fresh content from Vibe CMS.
Why this happens:
- Astro's dev server caches API responses for performance
- Content is fetched during page load, not on every request
- MCP updates in Vibe CMS don't automatically trigger rebuilds
For Production Deployments:
Trigger a new build/deployment:
- Vercel: Push to git or use "Redeploy" button
- Netlify: Push to git or use "Trigger deploy" button
- GitHub Pages: Push to git to trigger Actions workflow
Webhook-based rebuilds (recommended):
# Example: Vercel deploy hook curl -X POST https://api.vercel.com/v1/integrations/deploy/...Set up webhooks in Vibe CMS to auto-trigger rebuilds on publish.
Manual purge CDN cache (if applicable):
- After deploying, purge CDN cache to serve fresh content immediately
Prevention Tips:
- Use
getStaticPaths()withrevalidatein Astro for ISR (Incremental Static Regeneration) - Implement webhook automation for auto-rebuilds on CMS publish
- Document rebuild process for content editors
- Consider SSR (Server-Side Rendering) for pages that need real-time content
Quick Reference:
# Problem: Content not updating after MCP changes
# Solution 1: Hard refresh browser
Cmd/Ctrl + Shift + R
# Solution 2: Restart dev server
npm run dev
# Solution 3 (Production): Trigger rebuild
git commit --allow-empty -m "Rebuild for content update" && git push
This is expected behavior for SSG frameworks - not a bug! Content updates require rebuilds to be reflected.
š ļø Diagnostic Commands
Check MCP Server Status
"List all available MCP servers"
Expected: Shows vibe-cms-prod or your configured name
Check Authentication
"What is my Vibe CMS project ID?"
Expected: Returns your project ID If error: Authentication problem
List Collections
"Show me all collections in my Vibe CMS project"
Expected: List of collections (or empty if none) If error: Permission or connection problem
Test File Access
"Show me all folders in my Vibe CMS project"
Expected: List of folders (or empty if none) If error: File permission issue
Check Locale Setup
"What locales are configured in my project?"
Expected: List of active locales If empty: Need to add locales
š Logs and Debugging
View Claude Code Logs
Check logs in IDE:
- View output panel in Claude Code
- Check for MCP server connection messages
- Look for authentication errors
View recent logs:
# Check if MCP server is running
ps aux | grep vibe-cms-mcp-server
Enable Debug Mode
In .mcp.json (if supported):
{
"env": {
"VIBE_PROJECT_ID": "proj_xxx",
"VIBE_API_TOKEN": "token_xxx",
"VIBE_DEBUG": "true"
}
}
Test API Directly
Using curl:
# List collections
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://api.vibecms.com/v1/projects/YOUR_PROJECT_ID/collections
# Get collection schema
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://api.vibecms.com/v1/projects/YOUR_PROJECT_ID/collections/blog-posts
Expected: JSON response with data If error: Check token, project ID, permissions
š When to Contact Support
Contact support if:
- Followed all troubleshooting steps
- Issue persists for >24 hours
- Affects production environment
- Data loss or corruption
- Security concern
Gather before contacting:
System info:
- OS and version
- Claude Code version
- Node.js version (
node --version)
Error details:
- Exact error messages
- Steps to reproduce
- When issue started
Configuration (redact tokens!):
- MCP server config from .mcp.json (remove API token)
- Project ID (can share)
Logs:
- Relevant log excerpts
- Redact sensitive information
Contact methods:
- š“ Urgent/Production: support@vibecms.com (Subject: URGENT)
- š” General: support@vibecms.com
- š¢ Questions: Discord or Community Forum
Response times:
- Critical (production down): <2 hours
- High priority: <4 hours
- Normal: <24 hours
- Low priority: <48 hours
ā Prevention Checklist
Prevent issues by:
- Validating JSON before saving .mcp.json
- Keeping API tokens secure and rotated
- Testing changes in staging first
- Monitoring API usage and quotas
- Keeping Claude Code updated
- Documenting your setup
- Regular backups of important content
- Using version control for config templates
- Setting up monitoring/alerts
- Training team on proper workflows
š Additional Resources
- User Manual - Complete documentation
- Chapter 1: MCP Setup - Detailed installation
- FAQ - Common questions
- Quick Start - Fast setup guide
Still stuck? ā Email support@vibecms.com with detailed error info
Troubleshooting Guide v1.0 | Vibe CMS Documentation