echo-mcp-server

faith-tools/echo-mcp-server

3.2

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.

Tools
7
Resources
0
Prompts
0

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

  1. Install dependencies:
pip install -r requirements.txt
  1. Ensure the prayer database exists:
cd data/scripts
python create_database.py
  1. 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 key
    • feed_title: Prayer category
    • prayer_title: Prayer title
    • prayer_description: Prayer content
    • prayer_steps: Formatted prayer steps
    • description_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

  1. Copy the .mcp.json file to your Claude Desktop configuration directory:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Restart Claude Desktop

  3. 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_tool
  • guided_prayer_generator_tool
  • pray_together_tool
  • generate_prayer_request_tool
  • get_available_categories_tool
  • get_prayer_by_id_tool
  • get_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:

  1. Set up environment variables: Copy env.example to .env and add your API keys:

    cp env.example .env
    # Edit .env with your API keys
    
  2. Initialize Git repository (if not already done):

    git init
    git add .
    git commit -m "Initial commit"
    
  3. 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
    
  4. 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.