egw_writings_mcp_server

pythondev-pro/egw_writings_mcp_server

3.1

If you are the rightful owner of egw_writings_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCP Server for accessing authenticated Ellen G. White writings and quotes.

EGW Writings MCP Server

Model Context Protocol server for accessing authenticated Ellen G. White writings and quotes.

Deploy on Smithery

Features

  • 🔍 Search EGW Quotes: Search Ellen G. White writings by keyword
  • 📚 Authenticated Access: Official EGW API integration with proper authentication
  • 📖 Quote References: Complete references with book titles and authors
  • 🔧 MCP Compatible: Works with Claude, Cursor, and other MCP clients
  • 🚀 Easy Deployment: Ready for Smithery.ai hosting

Quick Start

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/pythondev-pro/egw_writings_mcp_server.git
    cd egw_writings_mcp_server
    
  2. Install dependencies

    pip install -r requirements.txt
    
  3. Configure environment

    cp .env.example .env
    # Edit .env with your EGW API credentials
    
  4. Run the server

    python egw_mcp_server.py
    

MCP Tools

search_egw_quotes

Search Ellen G. White writings by keyword.

Parameters:

  • query (required): Search keyword
  • limit (optional): Number of results (default: 5, max: 20)
  • collection (optional): Filter by collection

Example:

{"query": "faith", "limit": 3}

get_egw_quote

Get quotes containing a specific ID.

Parameters:

  • quote_id (required): Quote ID to search for

Example:

{"quote_id": "1613.189"}

Deployment

Smithery.ai (Recommended)

  1. Set up GitHub Secrets:

    • Go to your repository → Settings → Secrets and variables → Actions
    • Create these secrets:
      • EGW_CLIENT_ID: Your EGW client ID
      • EGW_CLIENT_SECRET: Your EGW client secret
  2. Deploy to Smithery:

    • Go to Smithery.ai
    • Connect your GitHub account
    • Select this repository
    • Smithery will automatically detect the smithery.yaml configuration
    • Environment variables from GitHub Secrets will be automatically used
  3. Verify deployment:

    • Check the Smithery dashboard for deployment status
    • Test the MCP server connection

Manual Deployment

# Install dependencies
pip install -r requirements.txt

# Set environment variables
export EGW_CLIENT_ID=your_client_id
export EGW_CLIENT_SECRET=your_client_secret

# Run server
python egw_mcp_server.py

Docker Deployment

FROM python:3.11-slim
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "egw_mcp_server.py"]

Environment Variables

Create a .env file with:

EGW_CLIENT_ID=your_client_id_here
EGW_CLIENT_SECRET=your_client_secret_here
EGW_REDIRECT_URI=https://pythondevpro.eu.pythonanywhere.com/egw-callback

Client Configuration

Raw JSON Configuration

For clients that require direct JSON configuration (without UI support), use this format:

{
  "mcpServers": {
    "egw-writings": {
      "command": "python",
      "args": ["egw_mcp_server.py"],
      "env": {
        "EGW_CLIENT_ID": "YOUR_CLIENT_ID_HERE",
        "EGW_CLIENT_SECRET": "YOUR_CLIENT_SECRET_HERE"
      }
    }
  }
}

Important Notes:

  1. Place this in your client's MCP configuration file
  2. Replace YOUR_CLIENT_ID_HERE and YOUR_CLIENT_SECRET_HERE with your actual credentials from EGW Writings Developer Portal
  3. Ensure egw_mcp_server.py is in your PATH or provide the full path
  4. The server must be running locally where the client can access it

Claude Desktop

Add to Claude configuration:

{
  "mcpServers": {
    "egw-writings": {
      "command": "python",
      "args": ["/path/to/egw_mcp_server.py"],
      "env": {
        "EGW_CLIENT_ID": "your_client_id",
        "EGW_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

Cursor IDE

Add to Cursor settings:

{
  "mcp": {
    "servers": {
      "egw-writings": {
        "command": "python",
        "args": ["/path/to/egw_mcp_server.py"],
        "env": {
          "EGW_CLIENT_ID": "your_client_id",
          "EGW_CLIENT_SECRET": "your_client_secret"
        }
      }
    }
  }
}

Response Format

Responses include:

  • ✅ Cleaned quote content
  • 📖 Proper references (e.g., "WOR 20.2")
  • 📚 Book titles and authors
  • 🆔 Quote IDs for reference

Troubleshooting

Common Issues

  1. Authentication failed: Check EGW API credentials
  2. Connection refused: Ensure server is running
  3. Module not found: Install all dependencies

Debug Mode

DEBUG=1 python egw_mcp_server.py

License

MIT License - see file for details.

Support

For issues:

  1. Check the EGW API documentation
  2. Verify your API credentials
  3. Check network connectivity

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

Note: This MCP server requires valid EGW API credentials. Register your application at EGW Writings Developer Portal.