npm package: @mcp-forge/seopanel-mcp
Description: SEO Panel MCP Server for managing SEO campaigns via Model Context Protocol
Author: BlogCraft Team
Latest version: 1.2.1

# SEO Panel MCP Server

> **Production-ready MCP server for SEO Panel API integration**  
> Auto-generated by MCP Craft using Stainless SDK automation

## 🚀 Quick Start

### Installation

```bash
# Clone or extract the package
tar -xzf seo-panel-mcp.tar.gz

# Install dependencies
npm install

# Build the TypeScript code
npm run build

# Test the server
npm start
```

### Claude Desktop Configuration

Add to your Claude Desktop config:

**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "seo-panel": {
      "command": "node",
      "args": ["/absolute/path/to/seo-panel-mcp/dist/index.js"],
      "env": {
        "SEO_PANEL_API_URL": "https://your-seo-panel.com/api"
      }
    }
  }
}
```

### Cursor Configuration

Add to `.mcp.json` in your project:

```json
{
  "mcpServers": {
    "seo-panel": {
      "command": "node",
      "args": ["./seo-panel-mcp/dist/index.js"],
      "env": {
        "SEO_PANEL_API_URL": "https://your-seo-panel.com/api"
      }
    }
  }
}
```

## 🔑 Authentication

All tools require SEO Panel API credentials:

1. **Get your API credentials from SEO Panel:**
   - Log into your SEO Panel installation
   - Go to Settings → API Manager
   - Generate API_SECRET and SP_API_KEY

2. **Use credentials in tools:**
   - Pass them with each tool call, OR
   - Set them as environment variables in your MCP config

## 📋 Available Tools

### Keyword Management (5 tools)

1. **`seo_keyword_create`** - Create new keywords for tracking
   - Required: name, searchengines (1=Google, 2=Bing, 3=Yahoo), website_id
   - Optional: lang_code, country_code

2. **`seo_keyword_list`** - List all keywords with filtering
   - Optional: website_id, start, limit

3. **`seo_keyword_reports`** - Get ranking history and reports
   - Required: keyword_id
   - Optional: from_date, to_date, report_type

4. **`seo_keyword_delete`** - Remove keyword from tracking
   - Required: keyword_id

5. **`seo_searchengine_list`** - Get available search engines

### User Management (5 tools)

1. **`seo_user_create`** - Create new user accounts
   - Required: username, password, email
   - Optional: first_name, last_name, user_type

2. **`seo_user_list`** - List all users

3. **`seo_user_get`** - Get specific user details
   - Required: user_id

4. **`seo_user_update`** - Update user information
   - Required: user_id
   - Optional: any user fields to update

5. **`seo_user_delete`** - Delete user account
   - Required: user_id

### Website Management (5 tools)

1. **`seo_website_create`** - Add website for monitoring
   - Required: name, url
   - Optional: title, description, keywords

2. **`seo_website_list`** - List all monitored websites
   - Optional: user_id, start, limit

3. **`seo_website_get`** - Get website details and keywords
   - Required: website_id

4. **`seo_website_update`** - Update website information
   - Required: website_id
   - Optional: any website fields to update

5. **`seo_website_delete`** - Remove website
   - Required: website_id

### Reporting (1 tool)

1. **`seo_report_summary`** - Get overall SEO performance metrics
   - Optional: website_id, date_range (today/week/month/year)

## 💬 Example Usage

### In Claude Desktop

```
Create a new keyword "best laptops 2024" for website ID 1 tracking on Google and Bing
```

Claude will use `seo_keyword_create` with the appropriate parameters.

### In Cursor

```
Show me the ranking reports for keyword ID 5 for the last 30 days
```

Cursor will use `seo_keyword_reports` to fetch the data.

## 🧪 Testing the Server

### Basic connectivity test:
```bash
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node dist/index.js
```

### Test a tool call:
```bash
echo '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "seo_searchengine_list",
    "arguments": {
      "API_SECRET": "your_secret",
      "SP_API_KEY": "your_key"
    }
  }
}' | node dist/index.js
```

## 🔧 Troubleshooting

### Common Issues

1. **"API_SECRET is required"**
   - Ensure you're passing credentials with each call
   - Or set them in environment variables

2. **Connection timeouts**
   - Check SEO_PANEL_API_URL is correct
   - Verify your SEO Panel instance is accessible
   - Default timeout is 30 seconds

3. **"Tool execution failed"**
   - Check the error message for details
   - Verify your API credentials are valid
   - Ensure the SEO Panel API is enabled

### Debug Mode

Set environment variable for verbose logging:
```bash
DEBUG=mcp:* node dist/index.js
```

## 🏗️ Architecture

- **Transport**: STDIO (standard input/output)
- **Protocol**: MCP 1.0 compliant
- **Error Handling**: Comprehensive with timeout protection
- **Response Format**: Human-readable text with emojis for clarity

## 📦 Package Contents

```
seo-panel-mcp/
├── src/
│   └── index.ts        # TypeScript source
├── dist/
│   ├── index.js        # Compiled JavaScript
│   ├── index.js.map    # Source maps
│   └── index.d.ts      # TypeScript definitions
├── package.json        # NPM configuration
├── tsconfig.json       # TypeScript config
└── README.md          # This file
```

## 🚀 Deployment

### Local Development
```bash
npm run dev  # Watches for changes
```

### Production Build
```bash
npm run build     # Compile TypeScript
npm run package   # Create distribution tarball
```

### Docker Deployment
```dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY dist ./dist
EXPOSE 3000
CMD ["node", "dist/index.js"]
```

## 📈 Performance

- Response time: < 100ms (excluding API calls)
- Memory usage: ~50MB
- Concurrent requests: Handles multiple tools calls
- Timeout protection: 30-second default

## 🔒 Security

- No credentials stored in code
- Environment variable support
- Input validation on all parameters
- Secure API communication

## 📄 License

MIT License - See LICENSE file

## 🤝 Support

- **MCP Issues**: Check MCP SDK documentation
- **SEO Panel API**: Refer to SEO Panel API docs
- **Generated by**: MCP Craft automation system

---

**Built with ❤️ by MCP Craft - Your API to MCP automation platform**