Skip to main content
Glama

GEDCOM MCP Server

by airy10
PROJECT_SUMMARY.md5.55 kB
# GEDCOM MCP Server - Project Summary ## Project Overview The GEDCOM MCP Server is a Model Control Protocol (MCP) implementation for querying and managing genealogical data stored in GEDCOM files. It provides a comprehensive set of tools for AI agents to work with family history data. ## Recent Analysis and Fixes ### Issues Identified and Resolved 1. **Bug in `_get_notes_internal` function** - Fixed a bug where a `break` statement was exiting the loop prematurely - Ensured all notes for an entity are processed correctly 2. **Duplicate return statement in `_get_person_attributes_internal`** - Removed redundant `return attributes` line - Improved code clarity and correctness 3. **Incomplete `_get_timeline_internal` function** - Fixed function signature and implementation - Corrected imports to use the proper function from `gedcom_analysis.py` - Removed incomplete implementation from `gedcom_data_access.py` 4. **Missing `remove_event` tool function** - Implemented the missing tool function that was documented but not implemented - Integrated properly with the existing `_remove_event_internal` function 5. **Syntax error in `get_gedcom_context` function** - Fixed `global` keyword placement to comply with Python scoping rules - Resolved SyntaxError that prevented module import 6. **Debug print statements in production code** - Removed all debug print statements from production code - Maintained clean, production-ready codebase 7. **Inconsistent naming in documentation** - Fixed documentation to match actual function names - Removed references to non-existent functions - Improved consistency between code and documentation 8. **Missing function body** - Implemented missing function body for `get_person_attributes` tool - Restored full functionality ### Test Results All fixes have been thoroughly tested: - ✅ All 99 existing tests continue to pass - ✅ No new syntax errors introduced - ✅ Module imports work correctly - ✅ No regressions in functionality ## Current Capabilities ### Core Functionality - Load and parse GEDCOM files - Search for people, families, events, and places - Retrieve detailed person and family information - Manage genealogical data (add, update, remove records) - Analyze genealogical data (statistics, duplicates, timelines) - Find relationships between individuals ### Advanced Features - Family tree generation and visualization support - Comprehensive event decoding (birth, death, marriage, etc.) - Rich metadata handling (notes, sources, dates, places) - Smart search across all entity types - Multi-generational tree exploration - Historical and geographic context integration ## Architecture ### Key Components - **FastMCP Server**: Main server implementation using the FastMCP framework - **GEDCOM Context**: Manages parsing context and caching - **Data Access Layer**: Handles data retrieval from GEDCOM files - **Data Management Layer**: Handles data modification operations - **Search Engine**: Implements relationship finding and path analysis - **Analysis Tools**: Provides statistical and analytical capabilities - **Utility Functions**: Helper functions for date, name, and place parsing ### Dependencies - `fastmcp>=0.1.0`: MCP framework - `python-gedcom>=0.1.0`: GEDCOM parsing library - `pydantic>=2.0.0`: Data validation and serialization - `cachetools>=4.0.0`: Caching utilities - `unidecode>=1.3.0`: Text normalization - `nameparser>=1.1.3`: Name parsing utilities ## Future Improvements Based on our analysis, the following improvements have been identified: ### High Priority 1. **Enhanced Error Handling**: Structured errors with recovery suggestions 2. **Fuzzy Search**: Improved search capabilities with fuzzy string matching 3. **Progress Indicators**: Better feedback for long-running operations ### Medium Priority 1. **Data Validation Tools**: Comprehensive data integrity checking 2. **Advanced Duplicate Detection**: More sophisticated matching algorithms 3. **Batch Operations**: Efficient bulk processing capabilities ### Long-term Goals 1. **Advanced Querying**: Complex query language support 2. **Relationship Analysis**: Sophisticated relationship analysis tools 3. **Performance Optimization**: Further performance enhancements ## Usage Examples ### Basic Operations ``` # Load a GEDCOM file load_gedcom(file_path="family.ged") # Search for a person find_person(name="John Smith") # Get person details get_person_details(person_id="@I1@") # Find relationships find_shortest_relationship_path(person1_id="@I1@", person2_id="@I2@") ``` ### Advanced Analysis ``` # Generate statistics get_statistics() # Find duplicates find_potential_duplicates() # Create family tree get_ancestors(person_id="@I1@", generations=4) ``` ## Testing Status The project maintains comprehensive test coverage: - 99 automated tests covering all major functionality - Unit tests for individual components - Integration tests for complex workflows - Edge case testing for error conditions - Performance tests for large datasets All tests pass consistently, ensuring the reliability and stability of the codebase. ## Conclusion The GEDCOM MCP Server is a robust, well-tested tool for AI agents working with genealogical data. Recent fixes have improved code quality and stability while maintaining full backward compatibility. The foundation is solid for implementing additional features and enhancements that will further improve its capabilities for genealogical research and analysis.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/airy10/GedcomMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server