pythondev-pro/egw_writings_mcp_server
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.
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
- Python 3.8+
- EGW API credentials (Get credentials here)
Installation
-
Clone the repository
git clone https://github.com/pythondev-pro/egw_writings_mcp_server.git cd egw_writings_mcp_server
-
Install dependencies
pip install -r requirements.txt
-
Configure environment
cp .env.example .env # Edit .env with your EGW API credentials
-
Run the server
python egw_mcp_server.py
MCP Tools
search_egw_quotes
Search Ellen G. White writings by keyword.
Parameters:
query
(required): Search keywordlimit
(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)
-
Set up GitHub Secrets:
- Go to your repository → Settings → Secrets and variables → Actions
- Create these secrets:
EGW_CLIENT_ID
: Your EGW client IDEGW_CLIENT_SECRET
: Your EGW client secret
-
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
-
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:
- Place this in your client's MCP configuration file
- Replace
YOUR_CLIENT_ID_HERE
andYOUR_CLIENT_SECRET_HERE
with your actual credentials from EGW Writings Developer Portal - Ensure
egw_mcp_server.py
is in your PATH or provide the full path - 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
- Authentication failed: Check EGW API credentials
- Connection refused: Ensure server is running
- 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:
- Check the EGW API documentation
- Verify your API credentials
- Check network connectivity
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Note: This MCP server requires valid EGW API credentials. Register your application at EGW Writings Developer Portal.