# 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](https://nodejs.org/))
### Step 2: Get Your WordPress.com App Credentials
1. Go to [WordPress.com Developer Apps](https://developer.wordpress.com/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:
```bash
# 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
```bash
# 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
```bash
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:
```json
{
"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
```bash
# 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](https://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:**
```bash
# 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:**
```bash
# 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:
```bash
# 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!