Skip to content

Automattic/wordpress-reader-mcp

Repository files navigation

WordPress Reader for Claude Desktop

Connect your WordPress.com account to Claude Desktop and access your WordPress Reader, notifications, and more directly from Claude.

✨ What This Does

This tool allows you to use Claude Desktop to:

  • πŸ“– Read your WordPress feed - See posts from blogs you follow
  • πŸ”” Check notifications - View comments, likes, and follows
  • 🏷️ Manage tags - Subscribe/unsubscribe from topics
  • πŸ‘₯ Manage follows - Follow/unfollow blogs
  • 🏒 View A8C posts - Get Automattic company updates
  • ⭐ Get recommendations - Discover new blogs

πŸš€ Quick Setup (5 minutes)

Step 1: Prerequisites

You need:

  • A WordPress.com account
  • Claude Desktop installed on your computer
  • Node.js installed (Download here)

Step 2: Get Your WordPress.com App Credentials

  1. Go to WordPress.com Developer Apps
  2. Click "Create New Application"
  3. Fill in:
    • Name: "Claude WordPress Reader" (or any name you like)
    • Description: "Personal WordPress Reader for Claude Desktop"
    • Website URL: http://localhost:3000
    • Redirect URI: http://localhost:3000/auth/callback
  4. Click "Create"
  5. Copy your Client ID and Client Secret (you'll need these in Step 4)

Step 3: Run the Setup Script

Open Terminal (Mac/Linux) or Command Prompt (Windows) and run:

# Navigate to this folder
cd path/to/wordpress-reader-mcp

# Run the automated setup
npm run setup

The script will:

  • Install all dependencies
  • Set up your environment
  • Build the applications
  • Try to configure Claude Desktop automatically
  • Start the background authentication service

Step 4: Enter Your WordPress Credentials

When prompted, enter:

  • Your WordPress.com Client ID (from Step 2)
  • Your WordPress.com Client Secret (from Step 2)

Step 5: Authenticate with WordPress.com

The setup will:

  1. Start the authentication server
  2. Open your browser to authenticate with WordPress.com
  3. Configure everything automatically

Step 6: Test in Claude Desktop

Restart Claude Desktop and try these commands:

  • "Show me my WordPress Reader feed"
  • "How many unread notifications do I have?"
  • "Get posts from the technology tag"

πŸ”§ Manual Setup (If Automatic Setup Fails)

If the automatic setup doesn't work, follow these manual steps:

1. Install Dependencies

# Install web app dependencies
cd web-app
npm install

# Install MCP server dependencies
cd ../mcp-server  
npm install

# Go back to root
cd ..

2. Configure Environment

Create web-app/.env file:

WORDPRESS_CLIENT_ID=your_client_id_here
WORDPRESS_CLIENT_SECRET=your_client_secret_here
REDIRECT_URI=http://localhost:3000/callback
PORT=3000
JWT_SECRET=your_random_secret_here
MCP_SERVER_URL=http://localhost:3001

3. Build Applications

cd web-app && npm run build
cd ../mcp-server && npm run build
cd ..

4. Configure Claude Desktop

Find your Claude Desktop config file:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

Add this to the mcpServers section:

{
  "mcpServers": {
    "wordpress-reader": {
      "command": "node",
      "args": ["FULL_PATH_TO_THIS_FOLDER/mcp-server/dist/index.js"],
    }
  }
}

Replace FULL_PATH_TO_THIS_FOLDER with the actual path to this folder.

5. Authenticate

# Start the authentication server
cd web-app && npm run dev

Open browser to http://localhost:3000/auth/test and complete WordPress.com login.

πŸ“– Available Commands in Claude

Once set up, you can use these natural language commands in Claude Desktop:

Reader Feed

  • "Show me my WordPress Reader feed"
  • "Get the latest 10 posts from my feed"
  • "Show me posts from today"

Notifications

  • "Check my WordPress notifications"
  • "How many unread notifications do I have?"
  • "Show me only comment notifications"
  • "Mark my notifications as read"

Tags & Topics

  • "Show me posts tagged with 'technology'"
  • "Subscribe me to the 'design' tag"
  • "What tags am I following?"

Blog Management

  • "Show me blogs I'm following"
  • "Follow the blog example.com"
  • "Get blog recommendations for me"

Automattic Content

  • "Show me recent A8C posts"
  • "Get Automattic company updates"

πŸ” Troubleshooting

"No tools available" or "Authentication required"

  1. Check if the background service is running: npm run service:status
  2. If not running, start it: npm run service:start
  3. Complete authentication at http://localhost:3000/auth/test
  4. Restart Claude Desktop

Background service issues

  1. Check service status: npm run service:status
  2. View service logs: npm run service:logs
  3. Restart service: npm run service:restart
  4. Check if port 3000 is available: lsof -i :3000 (Mac/Linux)

"Command not found: npm"

Install Node.js from nodejs.org

"Permission denied" errors

Try running with sudo on Mac/Linux or "Run as Administrator" on Windows

Authentication not working

  1. Check your WordPress.com app credentials
  2. Make sure redirect URI is exactly http://localhost:3000/auth/callback
  3. Check that web-app is running on port 3000

Claude Desktop not recognizing tools

  1. Check the config file path is correct
  2. Make sure the path to index.js is absolute (full path)
  3. Restart Claude Desktop completely

πŸ› οΈ Advanced Usage

Background Authentication Service

WordPress Reader runs a background authentication service that handles token management automatically. This service needs to run constantly for seamless authentication.

Service Management Commands:

# Check service status
npm run service:status

# Start service
npm run service:start

# Stop service
npm run service:stop

# Restart service
npm run service:restart

# View service logs
npm run service:logs

# Check service health
npm run service:health

Automatic Service Management:

  • The setup script automatically starts the service
  • The MCP server will try to start the service if it's not running
  • Service runs in the background and persists across reboots (with optional system integration)

Manual Service Management:

# Development mode (with auto-reload)
cd web-app && npm run dev

# Production mode (background service)
npm run service:start

System Integration (Optional): To start the service automatically on system boot:

# Install as system service
node service-manager.js install

# macOS: Enable with launchctl
# Linux: Enable with systemctl --user

Viewing Logs

MCP server logs are in: mcp-server/mcp-server.log

Environment Variables

You can set these in your shell:

  • DEBUG=true - Enable debug logging
  • NODE_ENV=development - Development mode

πŸ”’ Security & Privacy

  • Your WordPress.com credentials are stored locally only
  • Authentication tokens are cached securely
  • No data is sent to third parties
  • All communication is encrypted (HTTPS/TLS)
  • Confidentiality Protection: Automatically checks for the p2_confidentiality_disabled sticker on WordPress.com blogs; only allows AI access to blogs with this sticker
    • Set DISABLE_CONFIDENTIALITY_CHECK=true in the MCP server environment to disable this protection (not recommended)

πŸ“ž Support

If you need help:

  1. Check the troubleshooting section above
  2. Look for error messages in the terminal
  3. Check the MCP server logs
  4. Ensure your WordPress.com app is configured correctly

πŸŽ‰ Enjoy!

You now have full WordPress.com integration in Claude Desktop. Explore your feeds, manage notifications, and discover new content all through natural conversation with Claude!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published