faith-tools/echo-mcp-server
If you are the rightful owner of echo-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.
Echo Prayer MCP Server is a prayer companion server offering guided prayers and semantic search capabilities with a readonly database.
Echo Prayer MCP Server
A prayer companion MCP server that provides guided prayers and semantic search capabilities with a readonly database.
Features
Prayer Tools (No Authentication Required)
- One Minute Prayer: Get a random prayer for quick spiritual connection
- Guided Prayer Generator: Find relevant prayers using semantic search
- Pray Together: Receive encouragement, condolences, and advice
- Generate Prayer Request: Create structured prayer requests based on topics
- Browse Categories: View all available prayer categories
- Get Prayer by ID: Retrieve a specific prayer by its ID
- Get Prayers by Category: View prayers from a specific category
Installation
- Install dependencies:
pip install -r requirements.txt
- Ensure the prayer database exists:
cd data/scripts
python create_database.py
- Run the server:
python server.py
Usage
Basic Prayer Tools
One Minute Prayer
# Get a random prayer for quick spiritual connection
result = await one_minute_prayer_tool()
Guided Prayer Generator
# Search for prayers related to anxiety
result = await guided_prayer_generator_tool("anxiety", limit=3)
# Filter by specific category
result = await guided_prayer_generator_tool("healing", feed_title="Abiding & Presence")
Pray Together
# Get encouragement
result = await pray_together_tool("encouragement")
# Get condolence message
result = await pray_together_tool("condolence")
# Get advice
result = await pray_together_tool("advice")
Generate Prayer Request
# Create a prayer request for healing
result = await generate_prayer_request_tool("healing", "recovering from surgery")
Browse Categories
# Get all available prayer categories
result = await get_available_categories_tool()
Get Prayer by ID
# Get a specific prayer by its ID
result = await get_prayer_by_id_tool(prayer_id=1)
Get Prayers by Category
# Get prayers from a specific category
result = await get_prayers_by_category_tool("Abiding & Presence", limit=5)
Database Structure
The server uses a readonly SQLite database:
Guided Prayers Database (data/db/guided_prayers.db)
- guided_prayers table with columns:
id: Primary keyfeed_title: Prayer categoryprayer_title: Prayer titleprayer_description: Prayer contentprayer_steps: Formatted prayer stepsdescription_embedding: Semantic embedding for search
Semantic Search
The server uses the all-MiniLM-L6-v2 sentence transformer model to generate embeddings for prayer descriptions, enabling intelligent semantic search. Users can find relevant prayers using natural language queries.
Local Testing with MCP Clients
For local testing with MCP clients, use the provided .mcp.json configuration file:
{
"mcpServers": {
"echo-prayer": {
"command": "python",
"args": ["server.py"],
"cwd": "/Users/john/repos/echo-mcp-server",
"env": {
"PORT": "8000"
},
"description": "Echo Prayer MCP Server - A prayer companion with guided prayers and semantic search",
"capabilities": {
"tools": true,
"resources": false,
"prompts": false
}
}
}
}
Using with Claude Desktop
-
Copy the
.mcp.jsonfile to your Claude Desktop configuration directory:- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Restart Claude Desktop
-
The Echo Prayer MCP Server will be available as a tool in Claude Desktop
Using with Other MCP Clients
The server exposes the following MCP tools:
one_minute_prayer_toolguided_prayer_generator_toolpray_together_toolgenerate_prayer_request_toolget_available_categories_toolget_prayer_by_id_toolget_prayers_by_category_tool
API Endpoints
GET /health: Health check endpoint- MCP tools are available through the FastMCP framework
Environment Variables
PORT: Server port (default: 8000)
Deploy to Railway
This server includes Railway configuration for easy deployment:
-
Set up environment variables: Copy
env.exampleto.envand add your API keys:cp env.example .env # Edit .env with your API keys -
Initialize Git repository (if not already done):
git init git add . git commit -m "Initial commit" -
Push to GitHub: Create a new repository on GitHub and push your code:
git remote add origin https://github.com/yourusername/your-repo-name.git git push -u origin main -
Deploy on Railway:
- Sign in to Railway and create a new project
- Choose "Deploy from GitHub repo" and select your repository
- Railway will automatically detect your Python application and deploy it
Your MCP server will be available at the Railway-provided URL, and you can connect MCP clients using the Railway domain + /mcp endpoint.