Compare commits

..

No commits in common. "2e29aa472af51e5aa11c87e5bfaf60560e84a837" and "8a2c936a41c77f44ba59513de53b2d76296d6348" have entirely different histories.

102
README.md
View file

@ -2,30 +2,11 @@
A comprehensive Model Context Protocol (MCP) server for Ghost CMS, providing both read-only Content API and read/write Admin API access through FastMCP.
## ⚡ Quick Start
```bash
# Install and run locally (requires Docker)
git clone https://git.thenets.org/luiz/ghost-mcp.git
cd ghost-mcp
make setup # Starts Ghost, creates API keys, runs tests
make run # Start the MCP server
```
For Claude Code:
```bash
claude mcp add ghost --scope user \
-e GHOST_URL=http://localhost:2368 \
-e GHOST_CONTENT_API_KEY=your_key_here \
-e GHOST_ADMIN_API_KEY=your_key_here \
-- uvx --refresh --from git+https://git.thenets.org/luiz/ghost-mcp.git ghost-mcp
```
## 🌟 Getting Started
### Standard Configuration
First, install the Ghost MCP server with your client.
For most MCP clients, use this configuration:
Standard config works in most of the tools:
```json
{
@ -72,7 +53,7 @@ make setup # This will start Ghost, create tokens, and configure everything
- **Configuration Management**: Environment variables with precedence
- **Development Tools**: Complete Docker setup and automation scripts
## 🛠️ Development
## 🚀 Quick Start
### Prerequisites
@ -83,7 +64,7 @@ make setup # This will start Ghost, create tokens, and configure everything
```bash
# Clone the repository
git clone https://git.thenets.org/luiz/ghost-mcp.git
git clone <repository-url>
cd ghost-mcp
# Complete setup from scratch
@ -113,42 +94,6 @@ make status
make logs
```
### Project Structure
```
ghost-mcp/
├── src/ghost_mcp/
│ ├── server.py # FastMCP server entry point
│ ├── client.py # Ghost API client
│ ├── config.py # Configuration management
│ ├── auth/ # Authentication modules
│ ├── tools/
│ │ ├── content/ # Content API tools
│ │ └── admin/ # Admin API tools
│ ├── types/ # Type definitions
│ └── utils/ # Utilities
├── scripts/ # Setup and test scripts
├── contracts/ # API documentation
├── docker-compose.yml # Ghost + MySQL setup
├── Makefile # Development commands
└── pyproject.toml # Python project config
```
### Available Commands
```bash
make help # Show all commands
make setup # Complete setup from scratch
make install # Install dependencies with uv
make start-ghost # Start Ghost containers
make setup-tokens # Generate API keys
make test # Run tests
make test-connection # Test API connectivity
make run # Run MCP server
make status # Check system status
make clean # Clean up everything
```
## 📋 Available MCP Tools
### Content API Tools (Read-only)
@ -212,6 +157,43 @@ LOG_STRUCTURED=true
LOG_REQUEST_ID=true
```
## 🛠️ Development
### Project Structure
```
ghost-mcp/
├── src/ghost_mcp/
│ ├── server.py # FastMCP server entry point
│ ├── client.py # Ghost API client
│ ├── config.py # Configuration management
│ ├── auth/ # Authentication modules
│ ├── tools/
│ │ ├── content/ # Content API tools
│ │ └── admin/ # Admin API tools
│ ├── types/ # Type definitions
│ └── utils/ # Utilities
├── scripts/ # Setup and test scripts
├── contracts/ # API documentation
├── docker-compose.yml # Ghost + MySQL setup
├── Makefile # Development commands
└── pyproject.toml # Python project config
```
### Available Commands
```bash
make help # Show all commands
make setup # Complete setup from scratch
make install # Install dependencies with uv
make start-ghost # Start Ghost containers
make setup-tokens # Generate API keys
make test # Run tests
make test-connection # Test API connectivity
make run # Run MCP server
make status # Check system status
make clean # Clean up everything
```
## 🐳 Docker Environment
@ -266,7 +248,7 @@ make test-connection
make test
# Test specific functionality
make test-connection
python scripts/test-connection.py
```
## 📝 Logging