# Server Tools Changes Documentation
**Date:** October 9, 2025
**File:** `src/server.py`
**Purpose:** Comprehensive documentation of all tools added to and removed from server.py
---
## Table of Contents
- [Executive Summary](#executive-summary)
- [Tools Added to server.py](#tools-added-to-serverpy)
- [Tools Removed from server.py](#tools-removed-from-serverpy)
- [Tools Modified in server.py](#tools-modified-in-serverpy)
- [Current Tool Count](#current-tool-count)
- [Tool Categories](#tool-categories)
- [Migration Notes](#migration-notes)
---
## Executive Summary
This document tracks all changes made to the MCP server tools registered in `src/server.py`. The server has been enhanced with **25 new tools** covering entity management, workflow operations, relationship management, user administration, and system monitoring. **7 deprecated tools were removed** and replaced with improved, consolidated interfaces.
### Quick Stats
| Metric | Count |
|--------|-------|
| **Tools Added** | 25 |
| **Tools Removed** | 7 (deprecated/redundant tools) |
| **Net Change** | +18 |
| **Total Tools (Previous)** | 27 |
| **Total Tools (Current)** | 45 |
| **Net Increase** | +66.7% |
### Breaking Changes
⚠️ **IMPORTANT:** The following deprecated tools have been removed and must be replaced with their modern equivalents:
**Match/Duplicate Tools (5 removed):**
- `find_entities_by_match_score_tool` → Use `find_potential_matches_tool` with `search_type='score'`
- `find_entities_by_confidence_tool` → Use `find_potential_matches_tool` with `search_type='confidence'`
- `get_total_matches_tool` → Use `get_potential_matches_stats_tool`
- `get_total_matches_by_entity_type_tool` → Use `get_potential_matches_stats_tool`
- `get_entity_matches_tool` → Use `get_entity_with_matches_tool`
**Entity Unmerge Tools (2 removed):**
- `unmerge_entity_by_contributor_tool` → Use `unmerge_entity_tool` with `tree=False`
- `unmerge_entity_tree_by_contributor_tool` → Use `unmerge_entity_tool` with `tree=True`
---
## Tools Added to server.py
### 1. Match & Duplicate Management Tools (3 tools)
#### `find_potential_matches_tool`
- **Status:** ✅ Added
- **Line:** ~318
- **Description:** Unified tool to find all potential matches by match rule, score range, or confidence level
- **Parameters:** `search_type`, `filter`, `entity_type`, `tenant_id`, `max_results`, `offset`, `search_filters`
- **Replaces:** `find_matches_by_match_score_tool` and `find_matches_by_confidence_tool` (deprecated but retained for backward compatibility)
- **Search Types:**
- `match_rule` - Find matches by match rule ID
- `score` - Find matches within a score range (e.g., 50-100)
- `confidence` - Find matches by confidence level (High/Medium/Low confidence)
#### `get_potential_matches_stats_tool`
- **Status:** ✅ Added
- **Line:** ~359
- **Description:** Get the total, entity-level, and match-rule-level counts of potential matches in the tenant
- **Parameters:** `min_matches`, `tenant_id`
- **Returns:** Total count, entity type breakdown, match rule breakdown
#### `get_entity_with_matches_tool`
- **Status:** ✅ Added
- **Line:** ~806
- **Description:** Get detailed information about a Reltio entity along with its potential matches
- **Parameters:** `entity_id`, `attributes`, `include_match_attributes`, `match_attributes`, `match_limit`, `tenant_id`
- **Key Feature:** Unifies entity retrieval and match discovery in a single call
---
### 2. Entity Management Tools (4 tools)
#### `create_entity_tool`
- **Status:** ✅ Added
- **Line:** ~844
- **Description:** Create one or more entities in a Reltio tenant using the Entities API
- **Parameters:** `entities`, `return_objects`, `execute_lca`, `tenant_id`
- **Supports:** Individual, Organization, Location, and custom entity types
- **Features:** Batch creation, crosswalk support, LCA execution control
#### `get_entity_graph_tool`
- **Status:** ✅ Added
- **Line:** ~1028
- **Description:** Get entity graph (hops) for a specific entity with comprehensive filtering and traversal options
- **Parameters:** `entity_id`, `select`, `graph_type_uris`, `relation_type_uris`, `entity_type_uris`, `deep`, `max_results`, `activeness_enabled`, `return_inactive`, `filter_last_level`, `return_data_anyway`, `options`, `tenant_id`
- **Max Depth:** 1-10 levels
- **Use Cases:** Organizational hierarchies, network analysis, relationship mapping
#### `get_entity_parents_tool`
- **Status:** ✅ Added
- **Line:** ~1081
- **Description:** Find all parent paths for a given entity, traversing the specified graph types
- **Parameters:** `entity_id`, `graph_type_uris`, `select`, `options`, `tenant_id`
- **Returns:** Parent paths, entities, relations
- **Use Cases:** Hierarchy navigation, organizational structure analysis
#### `unmerge_entity_tool`
- **Status:** ✅ Added
- **Line:** ~2174
- **Description:** Unmerge a contributor entity from a merged entity with optional tree behavior
- **Parameters:** `origin_entity_id`, `contributor_entity_id`, `tenant_id`, `tree`
- **Tree Options:**
- `tree=False`: Unmerge only the contributor (keep profiles beneath intact)
- `tree=True`: Unmerge contributor and all profiles merged beneath it
- **Consolidates:** `unmerge_entity_by_contributor` and `unmerge_entity_tree_by_contributor`
---
### 3. Relationship Management Tools (4 tools)
#### `create_relationships_tool`
- **Status:** ✅ Added
- **Line:** ~1139
- **Description:** Create relationships between entities in Reltio
- **Parameters:** `relations`, `options`, `tenant_id`
- **Supports:** Entity URIs, crosswalks, or both
- **Options:** `partialOverride`, `directMatchMode`, `ignoreMissingObjects`, `skipEntityResolution`
#### `delete_relation_tool`
- **Status:** ✅ Added
- **Line:** ~1251
- **Description:** Delete a relation object from a tenant using the DELETE operation
- **Parameters:** `relation_id`, `tenant_id`
- **Returns:** Status (OK/failed) and error details if applicable
#### `get_entity_relations_tool`
- **Status:** ✅ Added
- **Line:** ~1279
- **Description:** Get entity connections/relations using Reltio connections API
- **Parameters:** `entity_id`, `entity_types`, `sort_by`, `in_relations`, `out_relations`, `offset`, `max`, `show_relationship`, `show_entity`, `next_entry`, `groups`, `filter`, `relation_filter`, `return_objects`, `return_dates`, `return_labels`, `id`, `suggested`, `limit_credits_consumption`, `return_data_anyway`, `tenant_id`
- **Max Results:** 1,000 per request
- **Supports:** Complex filtering on entities and relations
#### `relation_search_tool`
- **Status:** ✅ Added
- **Line:** ~1392
- **Description:** Search for relationships in a tenant using the Relation Search API
- **Parameters:** `filter`, `select`, `max`, `offset`, `sort`, `order`, `options`, `activeness`, `tenant_id`
- **Max Records:** 10,000
- **Requirement:** Relations indexing must be enabled for tenant
---
### 4. Activity & Monitoring Tools (1 tool)
#### `check_user_activity_tool`
- **Status:** ✅ Added
- **Line:** ~1515
- **Description:** Check if a user has been active in the system within a specified number of days
- **Parameters:** `username`, `days_back`, `tenant_id`
- **Default Lookback:** 7 days
- **Returns:** Activity status (is_active: true/false) and last activity details
---
### 5. Interaction Management Tools (2 tools)
#### `get_entity_interactions_tool`
- **Status:** ✅ Added
- **Line:** ~1552
- **Description:** Get interactions for a Reltio entity by ID
- **Parameters:** `entity_id`, `max`, `offset`, `order`, `sort`, `filter`, `tenant_id`
- **Requirement:** Available only in Reltio Intelligent 360 tenants
- **Supports:** Pagination, sorting, complex filtering
#### `create_interaction_tool`
- **Status:** ✅ Added
- **Line:** ~1617
- **Description:** Create interactions in the Reltio Platform
- **Parameters:** `interactions`, `source_system`, `crosswalk_value`, `return_objects`, `options`, `tenant_id`
- **Requirement:** Available only in Reltio Intelligent 360 tenants
- **Interaction Types:** Email, Meeting, Call, Purchase Order, etc.
---
### 6. Lookup & Reference Data Tools (1 tool)
#### `rdm_lookups_list_tool`
- **Status:** ✅ Added
- **Line:** ~1725
- **Description:** List lookups based on the given RDM lookup type
- **Parameters:** `lookup_type`, `tenant_id`, `max_results`, `display_name_prefix`
- **Examples:** CountryCode, StateProvince, CurrencyCode
- **Use Cases:** Reference data management, validation lists
---
### 7. User Management Tools (2 tools)
#### `get_users_by_role_and_tenant_tool`
- **Status:** ✅ Added
- **Line:** ~1769
- **Description:** Get users by role and tenant
- **Parameters:** `role`, `tenant_id`
- **Roles:** ROLE_REVIEWER, ROLE_READONLY, ROLE_USER, ROLE_API
- **Returns:** User details including enabled status, last login date, groups
#### `get_users_by_group_and_tenant_tool`
- **Status:** ✅ Added
- **Line:** ~1803
- **Description:** Get users by group and tenant
- **Parameters:** `group`, `tenant_id`
- **Examples:** GROUP_LOCAL_RO_ALL, GROUP_LOCAL_DA_PT, Admin_User_Dev2
- **Returns:** User details for all users in the specified group
---
### 8. Workflow Management Tools (7 tools)
#### `get_user_workflow_tasks_tool`
- **Status:** ✅ Added
- **Line:** ~1842
- **Description:** Get workflow tasks for a specific user with total count and detailed task information
- **Parameters:** `assignee`, `tenant_id`, `offset`, `max_results`
- **Returns:** Total task count and task details (processType, taskType, createTime, dueDate, taskId)
#### `reassign_workflow_task_tool`
- **Status:** ✅ Added
- **Line:** ~1875
- **Description:** Reassign a workflow task to a different user for load balancing and task distribution
- **Parameters:** `task_id`, `assignee`, `tenant_id`
- **Use Cases:** Load balancing, task distribution, vacation coverage
#### `get_possible_assignees_tool`
- **Status:** ✅ Added
- **Line:** ~1902
- **Description:** Get possible assignees for specific tasks or based on filter/exclude criteria
- **Parameters:** `tenant_id`, `tasks`, `task_filter`, `exclude`
- **Important:** Only one parameter approach can be used: tasks alone OR task_filter/exclude
#### `retrieve_tasks_tool`
- **Status:** ✅ Added
- **Line:** ~1955
- **Description:** Retrieve workflow tasks with comprehensive filtering options
- **Parameters:** `tenant_id`, `assignee`, `process_instance_id`, `process_type`, `process_types`, `offset`, `max_results`, `suspended`, `created_by`, `priority_class`, `order_by`, `ascending`, `task_type`, `created_after`, `created_before`, `state`, `object_uris`, `show_task_variables`, `show_task_local_variables`, `object_filter`
- **Total Parameters:** 18+
- **Supports:** Complex multi-criteria filtering
#### `get_task_details_tool`
- **Status:** ✅ Added
- **Line:** ~2032
- **Description:** Get complete details of a specific workflow task by ID
- **Parameters:** `task_id`, `tenant_id`, `show_task_variables`, `show_task_local_variables`
- **Returns:** Complete task object with metadata, process info, possible actions
#### `start_process_instance_tool`
- **Status:** ✅ Added
- **Line:** ~2096
- **Description:** Start a process instance in Reltio workflow for any type of change requests
- **Parameters:** `process_type`, `object_uris`, `tenant_id`, `comment`, `variables`
- **Process Types:** dataChangeRequestReview, recommendForDelete, loopDataVerification, potentialMatchReview
- **Supports:** Assignee specification via variables
#### `execute_task_action_tool`
- **Status:** ✅ Added
- **Line:** ~2141
- **Description:** Execute an action on a workflow task
- **Parameters:** `task_id`, `action`, `tenant_id`, `process_instance_comment`
- **Actions:** Approve, Reject, Cancel (depends on task type)
- **Supports:** Comments for audit trail
---
### 9. System Health Tools (1 tool)
#### `health_check_tool`
- **Status:** ✅ Added
- **Line:** ~2205
- **Description:** Check if the MCP server is healthy
- **Parameters:** None
- **Returns:** Status (ok), message, timestamp
- **Use Cases:** Monitoring, uptime checks, health dashboards
---
## Tools Removed from server.py
### Summary
**7 deprecated tools were removed** from `server.py` during this update. These tools have been replaced with improved, consolidated interfaces that provide better functionality and a more consistent API.
### Removed Tools
#### 1. Match & Duplicate Management Tools (5 removed)
##### `find_entities_by_match_score_tool` ❌ REMOVED
- **Status:** ❌ Removed
- **Replacement:** `find_potential_matches_tool` with `search_type='score'`
- **Reason:** Replaced by unified match search interface
- **Removed Date:** October 9, 2025
- **Migration:**
```python
# Old way (NO LONGER AVAILABLE)
find_entities_by_match_score_tool(
start_match_score=50,
end_match_score=100,
entity_type='Individual',
tenant_id='tenant_id'
)
# New way (REQUIRED)
find_potential_matches_tool(
search_type='score',
filter='50,100', # Format: 'start,end'
entity_type='Individual',
tenant_id='tenant_id'
)
```
##### `find_entities_by_confidence_tool` ❌ REMOVED
- **Status:** ❌ Removed
- **Replacement:** `find_potential_matches_tool` with `search_type='confidence'`
- **Reason:** Replaced by unified match search interface
- **Removed Date:** October 9, 2025
- **Migration:**
```python
# Old way (NO LONGER AVAILABLE)
find_entities_by_confidence_tool(
confidence_level='High confidence',
entity_type='Individual',
tenant_id='tenant_id'
)
# New way (REQUIRED)
find_potential_matches_tool(
search_type='confidence',
filter='High confidence',
entity_type='Individual',
tenant_id='tenant_id'
)
```
##### `get_total_matches_tool` ❌ REMOVED
- **Status:** ❌ Removed
- **Replacement:** `get_potential_matches_stats_tool`
- **Reason:** Replaced by enhanced statistics tool with better data breakdown
- **Removed Date:** October 9, 2025
- **Migration:**
```python
# Old way (NO LONGER AVAILABLE)
get_total_matches_tool(tenant_id='tenant_id')
# New way (REQUIRED)
get_potential_matches_stats_tool(
min_matches=0, # Default: all entities with matches
tenant_id='tenant_id'
)
# Returns: total_count, entity_type_breakdown, match_rule_breakdown
```
##### `get_total_matches_by_entity_type_tool` ❌ REMOVED
- **Status:** ❌ Removed
- **Replacement:** `get_potential_matches_stats_tool`
- **Reason:** Functionality merged into enhanced statistics tool
- **Removed Date:** October 9, 2025
- **Migration:**
```python
# Old way (NO LONGER AVAILABLE)
get_total_matches_by_entity_type_tool(
entity_type='Individual',
tenant_id='tenant_id'
)
# New way (REQUIRED)
stats = get_potential_matches_stats_tool(
min_matches=0,
tenant_id='tenant_id'
)
# Access specific entity type from response:
# stats['type']['Individual']
```
##### `get_entity_matches_tool` ❌ REMOVED
- **Status:** ❌ Removed
- **Replacement:** `get_entity_with_matches_tool`
- **Reason:** Replaced by enhanced tool with better attribute filtering
- **Removed Date:** October 9, 2025
- **Migration:**
```python
# Old way (NO LONGER AVAILABLE)
get_entity_matches_tool(
entity_id='entity123',
tenant_id='tenant_id'
)
# New way (REQUIRED)
get_entity_with_matches_tool(
entity_id='entity123',
attributes=[], # Empty list returns all attributes
include_match_attributes=True,
match_attributes=[], # Empty list returns all match attributes
match_limit=5,
tenant_id='tenant_id'
)
```
---
#### 2. Entity Unmerge Tools (2 removed)
##### `unmerge_entity_by_contributor_tool` ❌ REMOVED
- **Status:** ❌ Removed
- **Replacement:** `unmerge_entity_tool` with `tree=False`
- **Reason:** Consolidated into single unified unmerge tool
- **Removed Date:** October 9, 2025
- **Migration:**
```python
# Old way (NO LONGER AVAILABLE)
unmerge_entity_by_contributor_tool(
origin_entity_id='entity1',
contributor_entity_id='entity2',
tenant_id='tenant_id'
)
# New way (REQUIRED)
unmerge_entity_tool(
origin_entity_id='entity1',
contributor_entity_id='entity2',
tenant_id='tenant_id',
tree=False # Unmerge only the contributor
)
```
##### `unmerge_entity_tree_by_contributor_tool` ❌ REMOVED
- **Status:** ❌ Removed
- **Replacement:** `unmerge_entity_tool` with `tree=True`
- **Reason:** Consolidated into single unified unmerge tool
- **Removed Date:** October 9, 2025
- **Migration:**
```python
# Old way (NO LONGER AVAILABLE)
unmerge_entity_tree_by_contributor_tool(
origin_entity_id='entity1',
contributor_entity_id='entity2',
tenant_id='tenant_id'
)
# New way (REQUIRED)
unmerge_entity_tool(
origin_entity_id='entity1',
contributor_entity_id='entity2',
tenant_id='tenant_id',
tree=True # Unmerge contributor and all profiles beneath it
)
```
---
### Why These Tools Were Removed
**1. Consolidation & Consistency**
- Multiple similar tools were consolidated into unified interfaces
- Reduces API surface area and improves maintainability
- Provides consistent parameter patterns across related operations
**2. Enhanced Functionality**
- Replacement tools offer more features and flexibility
- Better filtering, pagination, and data retrieval options
- More comprehensive response structures
**3. Reduced Complexity**
- Single tool with modes (e.g., `search_type` parameter) instead of multiple specialized tools
- Easier to understand and use
- Better alignment with modern API design patterns
---
## Current Tool Count
### Tool Distribution by Category
| Category | Tool Count | Percentage |
|----------|------------|------------|
| **Entity Management** | 10 | 22.2% |
| **Match & Duplicate Management** | 5 | 11.1% |
| **Relationship Management** | 5 | 11.1% |
| **Configuration & Metadata** | 10 | 22.2% |
| **Workflow Management** | 7 | 15.6% |
| **User Management** | 2 | 4.4% |
| **Activity & Monitoring** | 2 | 4.4% |
| **Interaction Management** | 2 | 4.4% |
| **Lookup & Reference Data** | 1 | 2.2% |
| **System Health** | 1 | 2.2% |
| **Total** | **45** | **100%** |
### Historical Growth
| Date | Tool Count | Change | Notes |
|------|------------|--------|-------|
| Before October 9, 2025 | 22 | - | Initial state |
| October 9, 2025 | 45 | +23 (+104.5%) | Major enhancement |
---
## Tool Categories
### Complete Tool List by Category
#### Entity Management (10 tools)
1. `search_entities_tool` - Search with advanced filtering
2. `get_entity_tool` - Get entity details by ID
3. `update_entity_attributes_tool` - Update entity attributes
4. `get_entity_match_history_tool` - View match history
5. `create_entity_tool` ⭐ NEW - Create entities
6. `get_entity_graph_tool` ⭐ NEW - Get entity graph/hops
7. `get_entity_parents_tool` ⭐ NEW - Get parent paths
8. `get_entity_with_matches_tool` ⭐ NEW - Get entity with matches
9. `merge_entities_tool` - Merge entities
10. `unmerge_entity_tool` ⭐ NEW - Unmerge entities
#### Match & Duplicate Management (5 tools)
1. `find_potential_matches_tool` ⭐ NEW - Unified match search
2. `get_potential_matches_stats_tool` ⭐ NEW - Match statistics
3. `get_entity_with_matches_tool` ⭐ NEW - Entity with matches
4. `reject_entity_match_tool` - Reject match
5. `export_merge_tree_tool` - Export merge tree
#### Relationship Management (5 tools)
1. `get_relation_details_tool` - Get relation details
2. `create_relationships_tool` ⭐ NEW - Create relationships
3. `delete_relation_tool` ⭐ NEW - Delete relation
4. `get_entity_relations_tool` ⭐ NEW - Get entity connections
5. `relation_search_tool` ⭐ NEW - Search relations
#### Configuration & Metadata (10 tools)
1. `get_business_configuration_tool` - Business configuration
2. `get_tenant_permissions_metadata_tool` - Permissions metadata
3. `get_tenant_metadata_tool` - Tenant metadata
4. `get_data_model_definition_tool` - Data model definition
5. `get_entity_type_definition_tool` - Entity type definition
6. `get_change_request_type_definition_tool` - CR type definition
7. `get_relation_type_definition_tool` - Relation type definition
8. `get_interaction_type_definition_tool` - Interaction type definition
9. `get_graph_type_definition_tool` - Graph type definition
10. `get_grouping_type_definition_tool` - Grouping type definition
#### Workflow Management (7 tools)
1. `get_user_workflow_tasks_tool` ⭐ NEW - Get user tasks
2. `reassign_workflow_task_tool` ⭐ NEW - Reassign task
3. `get_possible_assignees_tool` ⭐ NEW - Get possible assignees
4. `retrieve_tasks_tool` ⭐ NEW - Retrieve tasks with filters
5. `get_task_details_tool` ⭐ NEW - Get task details
6. `start_process_instance_tool` ⭐ NEW - Start process
7. `execute_task_action_tool` ⭐ NEW - Execute task action
#### User Management (2 tools)
1. `get_users_by_role_and_tenant_tool` ⭐ NEW - Get users by role
2. `get_users_by_group_and_tenant_tool` ⭐ NEW - Get users by group
#### Activity & Monitoring (2 tools)
1. `get_merge_activities_tool` - Get merge activities
2. `check_user_activity_tool` ⭐ NEW - Check user activity
#### Interaction Management (2 tools)
1. `get_entity_interactions_tool` ⭐ NEW - Get interactions
2. `create_interaction_tool` ⭐ NEW - Create interactions
#### Lookup & Reference Data (1 tool)
1. `rdm_lookups_list_tool` ⭐ NEW - List RDM lookups
#### System Health (1 tool)
1. `health_check_tool` ⭐ NEW - Server health check
2. `capabilities_tool` - List all capabilities
---
## Migration Notes
### For Developers
#### Using New Match Tools
The new unified match search tool provides a single interface for all match queries:
```python
# Find matches by match rule
find_potential_matches_tool(
search_type='match_rule',
filter='BaseRule05',
entity_type='Individual',
tenant_id='tenant_id'
)
# Find matches by score range
find_potential_matches_tool(
search_type='score',
filter='50,100',
entity_type='Individual',
tenant_id='tenant_id'
)
# Find matches by confidence
find_potential_matches_tool(
search_type='confidence',
filter='High confidence',
entity_type='Individual',
tenant_id='tenant_id'
)
```
#### Using New Entity Graph Tools
Navigate entity relationships and hierarchies:
```python
# Get entity graph (1 level deep)
get_entity_graph_tool(
entity_id='entity123',
graph_type_uris='Hierarchy',
deep=1
)
# Get all parent entities
get_entity_parents_tool(
entity_id='entity123',
graph_type_uris='Hierarchy,OrganizationHierarchy'
)
```
#### Using New Workflow Tools
Manage workflow tasks programmatically:
```python
# Get tasks for a user
tasks = get_user_workflow_tasks_tool(
assignee='john.doe',
tenant_id='tenant_id'
)
# Reassign a task
reassign_workflow_task_tool(
task_id='task123',
assignee='jane.smith',
tenant_id='tenant_id'
)
# Execute task action
execute_task_action_tool(
task_id='task123',
action='Approve',
process_instance_comment='Approved by system'
)
```
### Backward Compatibility
⚠️ **BREAKING CHANGES INTRODUCED**
**Removed Tools (7 total):**
- `find_entities_by_match_score_tool` → Use `find_potential_matches_tool`
- `find_entities_by_confidence_tool` → Use `find_potential_matches_tool`
- `get_total_matches_tool` → Use `get_potential_matches_stats_tool`
- `get_total_matches_by_entity_type_tool` → Use `get_potential_matches_stats_tool`
- `get_entity_matches_tool` → Use `get_entity_with_matches_tool`
- `unmerge_entity_by_contributor_tool` → Use `unmerge_entity_tool(tree=False)`
- `unmerge_entity_tree_by_contributor_tool` → Use `unmerge_entity_tool(tree=True)`
**Action Required:** Applications using these removed tools **must be updated** to use their replacements. These tools will no longer work and will cause errors if called.
**Non-Breaking Changes:** All other existing tools remain functional with no breaking changes.
### Removal Timeline
- **Before October 9, 2025:** Old tools were available but deprecated
- **October 9, 2025:** 7 deprecated tools permanently removed from `server.py`
- **Current State:** Only replacement tools are available
- **Action Required:** Immediate migration required for any code using removed tools
---
## Testing
### New Test Files Created
All new tools are covered by comprehensive unit tests:
- `tests/unit/test_tools_entity.py` - Entity management tests (12 new test cases)
- `tests/unit/test_tools_match.py` - Match tools tests (7 new test cases)
- `tests/unit/test_tools_relation.py` - Relationship tests (20 new test cases)
- `tests/unit/test_tools_workflow.py` - Workflow tests (40+ new test cases)
- `tests/unit/test_tools_interaction.py` - Interaction tests (14 new test cases)
- `tests/unit/test_tools_user.py` - User management tests (14 new test cases)
- `tests/unit/test_tools_lookup.py` - Lookup tests (11 new test cases)
### Running Tests
```bash
# Run all tests
pytest tests/unit/ -v
# Run tests for specific tool category
pytest tests/unit/test_tools_workflow.py -v
pytest tests/unit/test_tools_entity.py -v
# Run with coverage
pytest tests/unit/ --cov=src/tools --cov-report=html
```
---
## Documentation Updates
### Files Updated
1. **README.md** - Updated tools table with all 45 tools
2. **src/tools/system.py** - Updated capabilities dictionary with all tools and examples
3. **TOOLS_SYNC_CHANGELOG.md** - Comprehensive sync documentation
4. **SERVER_TOOLS_CHANGES.md** - This document
### API Documentation
All new tools include comprehensive docstrings with:
- Detailed parameter descriptions
- Return value specifications
- Usage examples
- Error handling documentation
- Business rules and constraints
---
## Summary
### What Changed
✅ **Added 25 new tools** covering:
- Advanced entity management
- Comprehensive workflow operations
- Relationship CRUD operations
- User and group management
- Activity monitoring
- Interaction management
- Reference data lookups
- System health monitoring
❌ **Removed 7 deprecated tools** and replaced with improved alternatives:
- 5 match/duplicate management tools → Consolidated into 2 unified tools
- 2 entity unmerge tools → Consolidated into 1 flexible tool
✅ **Added 100+ unit tests** for all new functionality
✅ **Updated all documentation** including README, system capabilities, and this comprehensive changelog
### Impact
- **Net Tool Increase:** +66.7% (from 27 to 45 tools)
- **API Coverage:** Significantly expanded Reltio API coverage
- **Workflow Support:** Full workflow management now available
- **User Experience:** More comprehensive data access and manipulation
- **System Monitoring:** Better visibility into system health and user activity
- **API Consolidation:** 7 specialized tools replaced by 3 unified tools
- **Breaking Changes:** ⚠️ 7 tools removed (migration required)
---
## Contact & Support
For questions about these changes:
- Review this document for complete details
- Check `TOOLS_SYNC_CHANGELOG.md` for technical implementation details
- Refer to individual tool docstrings in `src/server.py`
- Review unit tests for usage examples
---
**Document Version:** 1.0
**Last Updated:** October 9, 2025
**Maintained By:** Reltio MCP Server Development Team