Implementation Phases
Technical details of the MCP Server implementation across three phases.
Overview
The MCP Server was developed in three phases, each adding significant capabilities and improvements to the AI agent experience.
| Phase | Focus | Major Features | Tools Added |
|---|---|---|---|
| Phase 1 | Core Features | Discovery basics, examples, presets, error handling | 3 tools |
| Phase 2 | Guidance & Navigation | Recommendations, quick start, context-aware suggestions | 3 tools |
| Phase 3 | Advanced Capabilities | Workflows, interpretation, search, templates | 6 tools |
Phase 1: Core Features (Discovery & Examples)
Phase 1 Goals
- Provide parameter guidance and discovery
- Include real-world usage examples
- Improve error messages with suggestions
- Make commands self-documenting
Phase 1 Features Implemented
1. Command Examples (hana_examples)
- 40+ real-world usage scenarios
- Complete parameter sets
- Expected outputs
- Tips and best practices
Files Created:
src/examples-presets.ts(1000+ lines)
Scope:
- import (5 scenarios)
- export (3 scenarios)
- dataProfile (2 scenarios)
- duplicateDetection (2 scenarios)
- tables (2 scenarios)
- compareSchema (2 scenarios)
- And 10+ more commands
2. Parameter Presets (hana_parameter_presets)
- Pre-configured parameter templates
- Named presets for common use cases
- Descriptions and use case guidance
- Ready-to-use parameter sets
Presets include:
- quick-import, safe-import, large-file, streaming-mode, bulk-insert
- quick-export, safe-export, format-specific
- quality-check, pattern-analysis, threshold-based
- And more...
3. Enhanced Tool Descriptions
- Category and tags inline
- Common use cases listed
- Related commands for discovery
- Links to examples and presets
Format:
hana_import: Import data from CSV/Excel/TSV file to database table.
[Category: data-operations] [Tags: import, data, csv, excel, etl]
**Common Use Cases:**
- Data migration from external systems
- Bulk data loading
- ETL pipeline integration
**Related Commands:** hana_export, hana_tableCopy, hana_dataValidator
💡 Tips: Use hana_examples for usage examples
📋 Tips: Use hana_parameter_presets for parameter templates4. Intelligent Error Messages
- Error pattern detection
- Actionable suggestions
- Ready-to-run commands for recovery
- Categorized causes
Error Categories:
- TABLE_NOT_FOUND
- SCHEMA_NOT_FOUND
- FILE_NOT_FOUND
- CONNECTION_ERROR
- AUTHENTICATION_ERROR
- TIMEOUT
- PARAMETER_ERROR
- UNKNOWN_ERROR
Error Output Format:
❌ Command Failed
Error: Table not found: MY_TABLE
Possible Causes:
1. Table name is case-sensitive - check capitalization
2. Table may be in different schema
3. Table may not exist yet
4. User may not have permission to see the table
💡 Suggestions:
1. List tables in the schema to verify the table name
→ Try: hana_tables with parameters: { schema: "<schema-name>" }Phase 1 Files Modified
- src/index.ts - Added tool handlers for examples and presets
- src/executor.ts - Enhanced error analysis and formatting
- README.md - Added features documentation
Phase 1 Metrics
- ✅ 40+ examples added
- ✅ 30+ parameter presets
- ✅ 8 error categories covered
- ✅ 3 new MCP tools
- ✅ All 150+ commands documented
Phase 2: Discovery & Guidance
Phase 2 Goals
- Help agents find commands by intent
- Provide next-step suggestions
- Guide users through tasks
- Enable self-service troubleshooting
Phase 2 Features Implemented
1. Intent-Based Recommendations (hana_recommend)
Natural language intent matching with confidence scoring.
Files Created:
src/recommendation.ts(280 lines)
Features:
- Pattern matching (100+ intent patterns)
- Confidence scoring (high/medium/low)
- Example parameters for recommendations
- Reasoning for matches
Scoring Algorithm:
- Direct command name match: 50 points
- Intent pattern match: 25 points
- Tag match: 15 points
- Description match: 10 points
- Use case match: 5 points
Example Recommendations:
{
"intent": "find duplicate rows",
"recommendations": [
{
"command": "duplicateDetection",
"confidence": "high",
"reasoning": "Designed specifically for duplicate detection"
},
{
"command": "dataProfile",
"confidence": "medium",
"reasoning": "Can identify duplicate patterns"
}
]
}2. Quick Start Guide (hana_quickstart)
Beginner-friendly 6-step introduction.
6 Essential Commands:
- status - Check connection
- version - View database version
- schemas - List available schemas
- tables - List tables in schema
- inspectTable - View table structure
- healthCheck - System health verification
Features:
- Step-by-step progression
- Purpose explanation for each
- Tips for success
- Parameter templates included
3. Context-Aware Next Steps
Automatic suggestions after command execution.
Files Modified:
src/next-steps.ts(380 lines)
Features:
- Command-specific next steps
- Output-based analysis
- Reasoning for suggestions
- Ready-to-run parameters
Examples:
- After
status→ suggest schemas, healthCheck, version - After
tables→ suggest inspectTable, dataProfile - After
import→ suggest dataValidator, dataProfile
4. Troubleshooting Guides (hana_troubleshoot)
Command-specific troubleshooting for common issues.
Coverage:
- import (5 common issues)
- export (3 common issues)
- dataProfile (2 common issues)
- tables (2 common issues)
- status (2 common issues)
- healthCheck (2 common issues)
Each guide includes:
- Issue description
- Root causes
- Step-by-step solutions
- Prevention tips
5. Output-Based Tips
Context-sensitive suggestions based on results.
Rules:
- Import with errors → suggest dryRun, skipWithErrors
- Memory analysis with high usage → suggest optimization
- Many tables → suggest filtering
- Health warnings → suggest investigation
Phase 2 Files Modified
- src/index.ts - Added Phase 2 tool handlers
- src/executor.ts - Integrated next-steps into results
- README.md - Added Phase 2 documentation
Phase 2 Metrics
- ✅ 100+ intent patterns
- ✅ 4 discovery tools
- ✅ 20+ next-step mappings
- ✅ 12+ troubleshooting guides
- ✅ Output-aware recommendations
Phase 3: Advanced Features & Automation
Phase 3 Goals
- Automate multi-step workflows
- Provide AI-friendly result analysis
- Enable comprehensive search
- Create guided conversation templates
Phase 3 Features Implemented
1. Workflow Template System (hana_workflows, hana_workflow_by_id, hana_search_workflows)
Multi-step workflow templates that the AI agent orchestrates.
Files Created:
- Workflow definitions in
src/tools/content-tools.ts
Features:
- Browse all available workflows
- Get detailed steps for a specific workflow
- Search by tag or purpose
- Parameter templates with
<placeholder>substitution - LLM-orchestrated execution (no simulated executor)
Built-in Workflows (20+):
- data-quality-check (5 steps)
- schema-migration (6 steps)
- performance-baseline (5 steps)
- safe-import (5 steps)
- data-cleansing (7 steps)
- And 15+ more...
Workflow Template Structure:
{
"steps": [
{
"command": "hana_command",
"parameters": {
"param1": "<placeholder>",
"param2": "value"
}
}
]
}The AI agent reads the workflow template and executes each step individually, making decisions between steps based on the results.
2. Result Interpretation Engine (hana_interpret_result)
AI-friendly analysis of command results.
Files Created:
src/result-interpretation.ts(380 lines)
Features:
- Summary generation
- Insight extraction
- Recommendation ranking
- Concern identification
- Metric extraction
Command Coverage:
- dataProfile → quality issues, nulls, duplicates
- memoryAnalysis → usage concentration, bottlenecks
- healthCheck → issues, warnings, recommendations
- expensiveStatements → performance problems
- And more...
Output Structure:
{
"summary": "...",
"insights": ["...", "..."],
"recommendations": [
{
"priority": "high",
"action": "...",
"impact": "...",
"nextCommand": "..."
}
],
"concerns": [...],
"metrics": {...}
}3. Consolidated Search System (hana_search)
Unified search across all resources, replacing the previous separate hana_smart_search and hana_search_docs tools.
Files Created:
src/tools/search-tools.ts
Features:
- Multi-scope searching (docs, commands, workflows, examples, presets, or all)
- Relevance ranking
- Result type indicators
- Context information
- Search suggestions
Scoring Algorithm:
- Exact match: 100 points
- Contains phrase: 50 points
- Contains all words: 30 points
- Per word match: 10 points
- Start of text bonus: 20 points
Search Scope:
- 150+ commands
- 20+ workflows
- 40+ examples
- 30+ presets
4. Conversation Templates (hana_conversation_templates, hana_get_template)
Guided workflows for common tasks.
Files Created:
src/conversation-templates.ts(450 lines)
5 Main Templates:
- data-exploration - Understand database structure
- troubleshooting - Diagnose problems
- data-migration - Move data safely
- performance-tuning - Optimize database
- security-audit - Review access control
Template Structure:
{
"phases": [
{
"phase": 1,
"title": "...",
"steps": [
{
"order": 1,
"command": "hana_...",
"purpose": "...",
"expectedOutcome": "..."
}
]
}
],
"tips": [...]
}5. Documentation Search Integration
Access to 279 documentation pages via consolidated search and MCP resources.
Files Created:
src/tools/search-tools.ts(search handler)docs-index.json(pre-built index)
Tools:
hana_search(scope:docs) - Full-text searchhana_get_doc- Retrieve full content
Resources:
hana://docs/categories- Browse categorieshana://docs/statistics- Index statistics
Features:
- 279 indexed pages
- 9 categories
- 2,285 keywords
- Fast searching
- Relevance ranking
Phase 3 Files Modified
- src/index.ts (+250 lines) - Phase 3 tool handlers
- package.json - Added docs index build script
- README.md - Phase 3 documentation
- scripts/build-docs-index.js (NEW) - Index builder
Phase 3 Build Changes
Added build scripts:
npm run build:docs-index # Build documentation indexSummary of Changes
Total Impact
| Metric | Phase 1 | Phase 2 | Phase 3 | Total |
|---|---|---|---|---|
| New Files | 1 | 2 | 6 | 9 |
| MCP Tools Added | 3 | 3 | 6 | 12 |
| Total Commands | 150+ | 150+ | 150+ | 150+ |
| Lines of Code | 1,000+ | 660+ | 1,400+ | 3,060+ |
| Features | 4 | 4 | 5 | 13 |
Code Organization
src/
├── index.ts (Main server, 1000+ lines)
├── executor.ts (Command execution, 400 lines)
├── examples-presets.ts (Phase 1: Examples & Presets)
├── recommendation.ts (Phase 2: Recommendations)
├── next-steps.ts (Phase 2: Guidance)
├── workflow-execution.ts (Phase 3: Workflows)
├── result-interpretation.ts (Phase 3: Interpretation)
├── smart-search.ts (Phase 3: Search)
├── conversation-templates.ts (Phase 3: Templates)
└── docs-search.ts (Phase 3: Doc Search)Build Process
TypeScript Source → npm run build → JavaScript Output
↓
Type Checking & Compilation
↓
Error Checking
↓
docs-index.json
↓
build/ directory readyPerformance Characteristics
Load Time
- MCP Server startup: <1 second
- Documentation index load: <500ms
- Command recommendations: <100ms
- Search ranking: <50ms per query
Memory Usage
- Base server: ~50MB
- With 279 docs indexed: ~75MB
- Per workflow execution: +5-10MB
- Result interpretation: <1MB
Scalability
- Supports 150+ commands easily
- Can handle 500+ commands if needed
- Documentation index scales to 1000+ pages
- Workflow system supports unlimited sequences
Testing and Quality
Test Coverage
- Phase 1: Core functionality tested (examples, presets, errors)
- Phase 2: Discovery system tested (recommendations, guidance)
- Phase 3: Advanced features tested (workflows, interpretation, search)
Build Validation
✅ All TypeScript compiles without errors ✅ All files generated in build/ ✅ No runtime errors on startup ✅ All tools register correctly
Future Enhancements
Potential Phase 4
- Machine learning for better recommendations
- User behavior learning
- Custom workflow recording
- Performance analytics
- Integration with external systems
Optimization Opportunities
- Caching frequently used results
- Incremental documentation indexing
- Compression of workflow definitions
- Parallel workflow execution
References
- Code Examples:
mcp-server/src/directory - Configuration:
mcp-server/package.json - Build Output:
mcp-server/build/directory - Documentation Index:
mcp-server/docs-index.json
Next Steps
- Features Overview - Comprehensive feature list
- Discovery Tools - How to find commands
- Advanced Features - Workflows and interpretation
- Setup Guide - Installation instructions