klappy/translation-helps-mcp
If you are the rightful owner of translation-helps-mcp 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.
The Translation Helps MCP Server is a high-performance, serverless API designed to aggregate Bible translation resources from Door43, utilizing Netlify Functions, TypeScript, and SvelteKit.
Translation Helps MCP Server v4.5.0
๐ NEW in v4.5.0: Major PRD Implementation Release
- 6 of 21 PRD tasks completed (28.6% progress)
- Advanced resource discovery systems with intelligent caching
- Smart resource recommendations with AI-powered analysis
- Complete Phase 3 (Resource Discovery) + Phase 4 (Performance) implementation
- 95% PRD compliance confirmed through comprehensive codebase audit
A comprehensive MCP (Model Context Protocol) server that provides AI agents with access to Bible translation resources from Door43's Content Service. This server enables AI assistants to fetch, process, and intelligently recommend translation helps including scripture texts, translation notes, translation words, and translation questions.
๐ Key Features (v4.5.0)
Advanced Resource Discovery (NEW)
- Intelligent Resource Type Detection: Automatic identification of resource types with confidence scoring
- Language Coverage Matrix: Real-time availability tracking for Strategic Languages
- Smart Resource Recommendations: AI-powered suggestions based on user roles and content analysis
Performance Optimization (NEW)
- Intelligent Cache Warming: Predictive caching based on access patterns
- Request Coalescing: Automatic deduplication to prevent redundant API calls
- Response Compression: Advanced payload optimization with Gzip/Brotli support
Core Translation Helps
- Scripture Texts: ULT/GLT (literal) and UST/GST (simplified) with word alignment
- Translation Notes: Verse-by-verse explanations for difficult passages
- Translation Words: Biblical term definitions with comprehensive articles
- Translation Questions: Comprehension and application questions
- Translation Academy: Biblical translation principles and methods
๐ MCP via HTTP/Web API
Translation Helps MCP runs on Cloudflare Pages providing a modern HTTP-based MCP implementation that works perfectly without WebSockets or long-lived connections.
โก Live Production Deployment
- HTTP MCP Endpoint:
https://translation-helps-mcp.pages.dev/api/mcp
- Complete Documentation:
https://translation-helps-mcp.pages.dev/mcp-tools
- Interactive Test UI:
https://translation-helps-mcp.pages.dev/mcp-http-test
๐ MCP Setup for AI Assistants
Choose your preferred setup method:
Option 1: HTTP MCP (Recommended)
No installation required! Use the live HTTP endpoint directly.
For Cursor AI (.cursor/mcp.json
):
{
"mcpServers": {
"translation-helps": {
"command": "node",
"args": [
"-e",
"console.log('HTTP MCP: Use direct API calls to https://translation-helps-mcp.pages.dev/api/mcp')"
]
}
}
}
For Claude Desktop:
- Use the web interface at
https://translation-helps-mcp.pages.dev/mcp-tools
- Or integrate via HTTP requests in your applications
Option 2: Local MCP Server
For Cursor AI (.cursor/mcp.json
):
{
"mcpServers": {
"translation-helps": {
"command": "node",
"args": ["src/index.ts"],
"cwd": "/absolute/path/to/translation-helps-mcp"
}
}
}
For Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"translation-helps": {
"command": "node",
"args": ["src/index.ts"],
"cwd": "/absolute/path/to/translation-helps-mcp"
}
}
}
๐ Development Setup
-
Install dependencies:
npm install
-
Start local MCP server:
npm start
-
Start development web server:
netlify dev
-
Test the API:
curl "http://localhost:8888/.netlify/functions/fetch-scripture?reference=John%203:16&language=en&organization=unfoldingWord"
๐ HTTP MCP Usage
Direct HTTP Testing:
# Test any of the 14 available tools organized in 3 categories:
# Core: Direct DCS/Door43 resource access (10 tools)
# Linked: Combined endpoint functionality (2 tools)
# Experimental: Value-added features (2 tools)
curl -X POST https://translation-helps-mcp.pages.dev/api/mcp \
-H "Content-Type: application/json" \
-d '{"method":"tools/call","params":{"name":"translation_helps_fetch_scripture","arguments":{"reference":"John 3:16"}}}'
JavaScript Integration:
import { createMCPClient } from "$lib/mcp/http-client";
const client = await createMCPClient("/api/mcp");
const result = await client.callTool("translation_helps_fetch_scripture", {
reference: "John 3:16",
});
๐งช Comprehensive Test Suite โญ NEW!
Translation Helps MCP includes an exhaustive test suite that ensures stability and prevents regressions. This testing infrastructure was built to eliminate the bugs and regressions that were plaguing development:
Test Types
- ๐ฅ Smoke Tests - Quick health checks and basic functionality validation
- ๐ API/MCP Parity Tests - Ensure identical responses between API and MCP endpoints
- ๐ Regression Tests - Catch previously fixed bugs and prevent regressions
- โก Performance Tests - Validate response times and concurrent request handling
- ๐ก๏ธ Error Handling Tests - Test edge cases and error conditions
Running Tests
# Run all tests with comprehensive reporting
npm test
# Quick smoke test (fastest - ~30 seconds)
npm run test:smoke
# Full parity validation (~5-10 minutes)
npm run test:parity
# Regression testing (~2-3 minutes)
npm run test:regression
# Unit tests (~1 minute)
npm run test:unit
# Watch mode for development
npm run test:watch
# Generate coverage report
npm run test:coverage
Test Coverage
The test suite validates:
โ
Full API/MCP Parity - All endpoints return identical responses
โ
No Double JSON Wrapping - Clean, structured responses
โ
Actual Data Return - Scripture, notes, questions, and words
โ
Ingredient File Path Usage - No hardcoded paths
โ
Book Code Mapping - Correct 3-letter book codes
โ
Response Structure Validation - Consistent formats
โ
Error Handling - Graceful failure modes
โ
Performance Benchmarks - Response time validation
For detailed test documentation, see .
๐ ๏ธ Architecture
Translation Helps MCP uses a unified architecture that eliminates code duplication:
- Single Implementation: Each feature has one implementation in API functions
- MCP Wrappers: All MCP endpoints are lightweight wrappers calling API functions
- Identical Responses: Test page and chat responses are guaranteed identical
- Zero Maintenance Overhead: All fixes happen in one place
API/MCP Endpoint Mapping
API Endpoint | MCP Endpoint | Purpose |
---|---|---|
fetch-scripture | mcp-fetch-scripture | Get Bible verses |
fetch-translation-notes | mcp-fetch-translation-notes | Get translator notes |
fetch-translation-questions | mcp-fetch-translation-questions | Get comprehension questions |
fetch-translation-word-links | mcp-fetch-translation-word-links | Get word connections |
fetch-translation-words | mcp-fetch-translation-words | Get word definitions |
fetch-resources | mcp-fetch-resources | Get all resources for reference |
get-languages | mcp-get-languages | Get available languages |
extract-references | mcp-extract-references | Extract Bible references from text |
browse-translation-words | mcp-browse-translation-words | Browse word categories |
๐ฏ MCP Tools (14 Total)
๐๏ธ Core Endpoints (10 tools)
Direct mappings to DCS/Door43 resources
translation_helps_fetch_scripture
- Get Bible text in USFM or plain text formattranslation_helps_fetch_translation_notes
- Get detailed translation notes for Bible passagestranslation_helps_fetch_translation_questions
- Get comprehension questions for Bible passagestranslation_helps_fetch_translation_words
- Get specific translation word article contenttranslation_helps_browse_translation_words
- Browse available translation word articles by categorytranslation_helps_fetch_translation_word_links
- Get translation word links for specific Bible referencestranslation_helps_get_languages
- List all available languages for translation resourcestranslation_helps_extract_references
- Extract and parse Bible references from texttranslation_helps_list_available_resources
- Search and list available translation resourcestranslation_helps_get_available_books
- List available Bible books for translation resources
๐ Linked Endpoints (2 tools)
Combine multiple endpoints for enhanced functionality
translation_helps_get_words_for_reference
- Get translation words that apply to specific Bible referencestranslation_helps_fetch_resources
- Get comprehensive translation resources for a Bible reference
๐งช Experimental Endpoints (2 tools)
Value-added endpoints that may change
translation_helps_get_context
- Get contextual information and cross-references for Bible passagestranslation_helps_get_translation_word
- Get detailed information about a specific translation word
๐ Usage Examples
Basic Scripture Lookup
curl "http://localhost:8888/.netlify/functions/fetch-scripture?reference=John%203:16&language=en&organization=unfoldingWord"
Translation Notes
curl "http://localhost:8888/.netlify/functions/fetch-translation-notes?reference=John%203:16&language=en&organization=unfoldingWord"
Translation Words
curl "http://localhost:8888/.netlify/functions/fetch-translation-words?word=love&language=en&organization=unfoldingWord"
๐ UI Demos
The project includes interactive UI demos:
- Scripture Lookup -
/
- Search and display Bible verses - Translation Tools - Comprehensive translation resources
- API Testing -
/api
- Test all endpoints - Performance Dashboard -
/performance
- Monitor API performance
๐ง Development
Prerequisites
- Node.js 18+
- Netlify CLI
Development Workflow
-
Start development server:
netlify dev
-
Run tests during development:
npm run test:watch
-
Check API health:
curl http://localhost:8888/.netlify/functions/health
Testing Philosophy
The test suite follows these principles:
- Prevent Regressions - Every fixed bug gets a test
- Ensure Parity - API and MCP must be identical
- Fast Feedback - Smoke tests run in ~30 seconds
- Comprehensive Coverage - All endpoints tested
- Clear Reporting - Failures are easy to understand
- CI/CD Ready - Tests work in automated environments
๐ Resources
- Door43 Content Service - https://dcs.bible
- unfoldingWord - https://www.unfoldingword.org
- MCP Protocol - https://modelcontextprotocol.io
๐ง Development Environment Setup
This project follows strict development standards to ensure UW (unfoldingWord) terminology compliance and code quality.
Prerequisites
- Node.js 18+
- Git with hooks support
- VS Code (recommended) with workspace extensions
Initial Setup
-
Clone and Install:
git clone <repository-url> cd translation-helps-mcp npm install
-
Install Pre-commit Hooks:
# Hooks are automatically installed via husky during npm install # Test the setup: npm run terminology:check
-
VS Code Setup (recommended):
- Install workspace recommended extensions
- Settings are pre-configured for UW development standards
- ESLint will automatically enforce terminology compliance
Development Standards
- โ Terminology Compliance: Use "Strategic Language" not obsolete terms
- โ UW Resource Types: Use proper ULT/GLT, UST/GST terminology
- โ Code Formatting: Prettier + ESLint with custom UW rules
- โ Pre-commit Validation: Automatic terminology checking
Available Scripts
# Development and Testing
npm run dev # Start development server
npm test # Run all tests (non-watch mode)
npm run test:watch # Run tests in watch mode
npm run test:coverage # Run tests with coverage
# Code Quality
npm run lint # Check code style and terminology
npm run lint:fix # Auto-fix linting issues
npm run format # Format code with Prettier
npm run terminology:check # Validate UW terminology compliance
npm run typecheck # TypeScript type checking
# Build and Deploy
npm run build # Build for production (Cloudflare)
npm run preview # Preview production build locally
npm run deploy # Deploy to Cloudflare Pages
๐ Deployment
This project is deployed on Cloudflare Pages for optimal performance and global distribution.
Automatic Deployment
Every push to the main
branch automatically triggers deployment via GitHub Actions:
-
Fork this repository
-
Set up Cloudflare Pages:
- Connect your GitHub repository to Cloudflare Pages
- Set build command:
cd ui && npm install && npm run build
- Set build output directory:
ui/.svelte-kit/cloudflare
- Add compatibility flag:
nodejs_compat
- Set compatibility date:
2024-09-23
-
Configure GitHub Secrets (for GitHub Actions):
CLOUDFLARE_API_TOKEN
: Your Cloudflare API tokenCLOUDFLARE_ACCOUNT_ID
: Your Cloudflare account ID
-
Push to main branch - deployment happens automatically!
Manual Deployment
# Build the project
npm run build
# Deploy to Cloudflare Pages
npm run deploy
Pre-commit Hooks
The repository includes automatic pre-commit validation:
- Terminology Check: Prevents commits with outdated terminology
- Code Formatting: Auto-formats code with Prettier
- Linting: Enforces code quality and UW standards
- Type Checking: Validates TypeScript types
Example pre-commit output:
๐ Running pre-commit checks...
๐ Checking for UW terminology compliance...
โ
Pre-commit checks passed!
UW Terminology Guidelines
When developing, always use:
โ Avoid | โ Use Instead |
---|---|
Legacy terminology | Strategic Language (current standard) |
Bible texts | ULT/GLT (Literal) or UST/GST (Simplified) |
Translation | Specific resource type (TN, TW, TWL, TQ, TA) |
Generic descriptions | UW-specific resource descriptions |
See docs/UW_TRANSLATION_RESOURCES_GUIDE.md
for complete terminology and technical specifications.
๐ค Contributing
- Fork the repository
- Create a feature branch
- Follow development standards (terminology, formatting, testing)
- Add comprehensive tests for new functionality
- Ensure all tests pass:
npm test
- Verify terminology compliance:
npm run terminology:check
- Submit a pull request
Remember: Good tests prevent bad deployments! And proper terminology ensures UW compliance! ๐ก๏ธ
๐ License
MIT License - see file for details.