This document provides comprehensive documentation for all 130+ implemented and functional MCP (Model Context Protocol) tools available in the ipfs_datasets_py project. After comprehensive documentation reconciliation (July 4, 2025), these tools are confirmed to be production-ready and enable AI assistants to interact with IPFS datasets, embeddings, vector stores, and related infrastructure through a standardized interface.
- 130+ Tools: All MCP tools implemented and functional
- 23 Categories: Complete tool organization across all functional areas
- Production Ready: All tools tested and ready for deployment
- Documentation Status: Fully reconciled and accurate (July 4, 2025)
- Tool Categories
- Core Dataset Tools
- IPFS Tools
- Embedding Tools
- Vector Store Tools
- Analytics Tools
- Workflow Tools
- Monitoring Tools
- Security & Authentication Tools
- Administrative Tools
- Development Tools
- Specialized Tools
- Usage Examples
- Best Practices
The MCP tools are organized into the following categories for easy discovery and management:
| Category | Count | Purpose |
|---|---|---|
| Dataset Tools | 15+ | Dataset loading, processing, conversion, and management |
| IPFS Tools | 10+ | IPFS operations, pinning, retrieval, and cluster management |
| Embedding Tools | 20+ | Embedding generation, management, and optimization |
| Vector Store Tools | 15+ | Vector indexing, search, and store management |
| Analytics Tools | 10+ | Data analysis, clustering, quality assessment |
| Workflow Tools | 8+ | Workflow execution, task orchestration, scheduling |
| Monitoring Tools | 12+ | System monitoring, health checks, performance metrics |
| Security Tools | 8+ | Authentication, authorization, access control |
| Admin Tools | 10+ | System administration, configuration management |
| Development Tools | 15+ | Testing, linting, documentation generation |
Purpose: Load datasets from various sources including Hugging Face Hub, local files, URLs.
Function: mcp_ipfs-datasets2_load_dataset
Parameters:
source(required): Dataset source (HF dataset name, file path, URL)format(optional): Dataset format (json, csv, parquet, text)options(optional): Additional loading options (split, streaming, etc.)
Returns:
status: "success" or "error"dataset_id: Unique identifier for loaded datasetmetadata: Dataset metadata including features and descriptionsummary: Record count, schema, source, and format information
Example Usage:
# Load from Hugging Face
result = await load_dataset("squad", format="json")
# Load local file
result = await load_dataset("/path/to/data.csv", format="csv")
# Load with options
result = await load_dataset("glue/mnli", options={"split": "train", "streaming": True})Purpose: Apply transformations, filters, and operations to datasets.
Function: mcp_ipfs-datasets2_process_dataset
Parameters:
dataset_source(required): Dataset ID or data dictionaryoperations(required): List of operation dictionariesoutput_id(optional): ID for resulting dataset
Operations Supported:
filter: Apply filters based on conditionsmap: Transform data with functionsselect: Select specific columnssort: Sort by columnsgroup: Group by fieldsaggregate: Perform aggregations
Example Usage:
operations = [
{"type": "filter", "column": "text", "condition": "length > 100"},
{"type": "select", "columns": ["id", "text", "label"]},
{"type": "sort", "column": "id", "ascending": True}
]
result = await process_dataset("dataset_123", operations)Purpose: Save datasets to various destinations and formats.
Function: mcp_ipfs-datasets2_save_dataset
Parameters:
dataset_data(required): Dataset ID or content dictionarydestination(required): Save destination pathformat(optional): Output format (json, csv, parquet, arrow, car)options(optional): Additional save options
Example Usage:
result = await save_dataset("dataset_123", "/path/to/output.json", format="json")Purpose: Convert datasets between different formats.
Function: mcp_ipfs-datasets2_convert_dataset_format
Parameters:
dataset_id(required): ID of dataset to converttarget_format(required): Target formatoutput_path(optional): Save locationoptions(optional): Conversion options
Purpose: Pin files, directories, or data to IPFS network.
Function: mcp_ipfs-datasets2_pin_to_ipfs
Parameters:
content_source(required): File path, directory, or data dictionaryrecursive(optional): Add directory recursively (default: true)wrap_with_directory(optional): Wrap files in directory (default: false)hash_algo(optional): Hash algorithm (default: "sha2-256")
Returns:
status: Operation statuscid: Content Identifier (CID) of pinned contentsize: Size informationhash: Hash details
Purpose: Retrieve content from IPFS by CID.
Function: mcp_ipfs-datasets2_get_from_ipfs
Parameters:
cid(required): Content Identifier to retrieveoutput_path(optional): Local save locationtimeout_seconds(optional): Retrieval timeout (default: 60)
Returns:
status: Retrieval statuscontent: Retrieved content (if no output_path)path: Local file path (if output_path provided)size: Content size
Purpose: Get IPFS cluster status and node information.
Function: Available through enhanced IPFS cluster tools
Features:
- Node health monitoring
- Cluster synchronization status
- Pin distribution analysis
- Performance metrics
Purpose: Manage pinning across IPFS cluster nodes.
Operations:
- Add/remove pins
- Set replication factors
- Monitor pin status
- Synchronize cluster state
Purpose: Generate embeddings for single text inputs.
Function: Available through embedding generation tools
Parameters:
text(required): Input text to embedmodel(optional): Embedding model to usenormalize(optional): Normalize embeddingsoptions(optional): Model-specific options
Purpose: Generate embeddings for multiple texts efficiently.
Parameters:
texts(required): List of input textsbatch_size(optional): Processing batch sizemodel(optional): Embedding modelparallel(optional): Enable parallel processing
Purpose: Generate embeddings from file contents.
Parameters:
file_path(required): Path to input filechunk_size(optional): Text chunking sizeoverlap(optional): Chunk overlap sizeformat(optional): File format handling
Purpose: Shard large embedding collections by dimensions.
Function: shard_embeddings_by_dimension
Use Cases:
- Memory optimization for large embedding sets
- Distributed processing
- Selective dimension analysis
Purpose: Shard embeddings based on clustering results.
Function: shard_embeddings_by_cluster
Features:
- K-means clustering
- Custom distance metrics
- Balanced shard creation
Purpose: Combine sharded embeddings back into unified collections.
Function: merge_embedding_shards
Purpose: Perform semantic search across embedding collections.
Parameters:
query_embeddingorquery_text: Search querycollection_id: Target embedding collectiontop_k: Number of resultsfilters: Metadata filtersthreshold: Similarity threshold
Purpose: Manage embedding service endpoints and models.
Operations:
- Add/remove endpoints
- Monitor endpoint health
- Load balance requests
- Cache management
Purpose: Create vector indices for similarity search.
Function: mcp_ipfs-datasets2_create_vector_index
Parameters:
vectors(required): List of vectors to indexdimension(optional): Vector dimensions (auto-detected)metric(optional): Distance metric (cosine, l2, ip)metadata(optional): Associated metadataindex_id(optional): Custom index identifierindex_name(optional): Human-readable name
Returns:
status: Creation statusindex_id: Unique index identifierconfiguration: Index configuration detailsstatistics: Index statistics
Purpose: Search vector indices for similar items.
Function: mcp_ipfs-datasets2_search_vector_index
Parameters:
index_id(required): Target index IDquery_vector(required): Query vectortop_k(optional): Number of results (default: 5)include_metadata(optional): Include metadata (default: true)include_distances(optional): Include distances (default: true)filter_metadata(optional): Metadata filtering
Purpose: Advanced vector store operations and management.
Operations:
- Index optimization
- Shard management
- Performance tuning
- Memory optimization
Purpose: Load and initialize vector indices from storage.
Function: load_index
Features:
- Lazy loading
- Memory mapping
- Distributed loading
- Version management
Purpose: Perform clustering analysis on datasets and embeddings.
Function: mcp_ipfs-datasets2_cluster_analysis
Parameters:
data(required): Input data for clusteringalgorithm(optional): Clustering algorithm (kmeans, dbscan, hierarchical)n_clusters(optional): Number of clustersfeatures(optional): Feature selectionoptions(optional): Algorithm-specific options
Algorithms Supported:
- K-Means clustering
- DBSCAN density clustering
- Hierarchical clustering
- Gaussian mixture models
Purpose: Assess data quality and embedding quality.
Function: mcp_ipfs-datasets2_quality_assessment
Metrics:
- Data completeness
- Embedding coherence
- Cluster quality
- Outlier detection
Purpose: Reduce dimensionality for visualization and analysis.
Function: mcp_ipfs-datasets2_dimensionality_reduction
Techniques:
- PCA (Principal Component Analysis)
- t-SNE
- UMAP
- Custom projections
Purpose: Analyze statistical distributions in datasets.
Function: mcp_ipfs-datasets2_analyze_data_distribution
Features:
- Statistical summaries
- Distribution fitting
- Anomaly detection
- Trend analysis
Purpose: Execute complex multi-step workflows.
Function: Available through workflow tools
Features:
- Step-by-step execution
- Error handling and recovery
- Progress tracking
- Resource management
Workflow Types:
- Data processing pipelines
- Embedding generation workflows
- Analysis workflows
- Multi-dataset operations
Purpose: Process multiple datasets in batch operations.
Function: batch_process_datasets
Parameters:
dataset_configs: List of dataset configurationspipeline: Processing pipeline stepsparallel: Enable parallel processingerror_handling: Error handling strategy
Purpose: Schedule workflows for future execution.
Function: schedule_workflow
Features:
- Cron-like scheduling
- Resource constraints
- Dependency management
- Monitoring integration
Purpose: Monitor workflow execution status.
Function: get_workflow_status
Information Provided:
- Execution progress
- Step completion status
- Error details
- Resource usage
- Estimated completion time
Purpose: Comprehensive system health monitoring.
Function: Available through monitoring tools
Checks:
- System resources (CPU, memory, disk)
- Service availability
- Network connectivity
- IPFS node status
- Database connections
Purpose: Collect detailed performance metrics.
Function: get_performance_metrics
Metrics:
- Response times
- Throughput rates
- Error rates
- Resource utilization
- Queue lengths
Purpose: Monitor specific service status and performance.
Function: monitor_services
Services Monitored:
- Embedding services
- Vector stores
- IPFS nodes
- Databases
- Web services
Purpose: Generate comprehensive monitoring reports.
Function: generate_monitoring_report
Report Types:
- System health summaries
- Performance analysis
- Trend reports
- Alert summaries
- Capacity planning
Purpose: Authenticate users with various methods.
Function: Available through auth tools
Methods:
- Username/password
- Token-based auth
- API key validation
- Multi-factor authentication
Purpose: Validate authentication tokens and permissions.
Function: Available through auth tools
Features:
- Token expiration checking
- Permission validation
- Role-based access control
- Audit logging
Purpose: Check user permissions for resources.
Function: mcp_ipfs-datasets2_check_access_permission
Parameters:
resource_id(required): Resource identifieruser_id(required): User identifierpermission_type(optional): Permission type (read, write, delete, share)resource_type(optional): Resource type
Purpose: Perform security audits and compliance checks.
Features:
- Access pattern analysis
- Permission auditing
- Vulnerability scanning
- Compliance reporting
Purpose: Manage system configuration and settings.
Operations:
- Configuration updates
- Setting validation
- Backup and restore
- Environment management
Purpose: Manage user accounts and permissions.
Features:
- User creation/deletion
- Role assignment
- Permission management
- Activity monitoring
Purpose: Manage system resources and quotas.
Resources:
- Storage quotas
- Compute limits
- Network bandwidth
- API rate limits
Purpose: Perform system cleanup and maintenance.
Operations:
- Temporary file cleanup
- Log rotation
- Cache clearing
- Garbage collection
Purpose: Backup and restore system data.
Features:
- Incremental backups
- Point-in-time recovery
- Cross-region replication
- Disaster recovery
Purpose: Execute comprehensive test suites.
Function: mcp_ipfs-datasets2_run_comprehensive_tests
Test Types:
- Unit tests
- Integration tests
- Performance tests
- Dataset integrity tests
Purpose: Create and configure test runners.
Function: mcp_ipfs-datasets2_create_test_runner
Configuration Options:
- Test frameworks (pytest, unittest)
- Coverage reporting
- Output formats
- Parallel execution
Purpose: Perform code quality analysis and linting.
Features:
- Style checking
- Error detection
- Best practice validation
- Automated fixing
Purpose: Generate documentation from code and configurations.
Output Formats:
- Markdown
- HTML
- API documentation
Purpose: Analyze codebase structure and dependencies.
Analysis Types:
- Dependency mapping
- Complexity analysis
- Security scanning
- Performance profiling
Purpose: Create Web ARChive (WARC) files.
Features:
- Web page archiving
- Metadata preservation
- Compression options
- Standards compliance
Purpose: Extract text content from WARC files.
Capabilities:
- HTML text extraction
- Content filtering
- Language detection
- Format conversion
Purpose: Extract links and relationships from WARC files.
Outputs:
- Link graphs
- Relationship mapping
- Network analysis
- Navigation patterns
Purpose: Create and manage user sessions.
Function: Available through session tools
Features:
- Session lifecycle management
- State persistence
- Timeout handling
- Multi-user support
Purpose: Manage session state and data.
Operations:
- State updates
- Data retrieval
- Session cleanup
- State validation
Purpose: Record data provenance and lineage.
Function: mcp_ipfs-datasets2_record_provenance
Parameters:
dataset_id(required): Dataset identifieroperation(required): Performed operationinputs(optional): Input sourcesparameters(optional): Operation parametersdescription(optional): Operation description
Purpose: Record audit events for compliance and security.
Function: mcp_ipfs-datasets2_record_audit_event
Parameters:
action(required): Action performedresource_id(optional): Affected resourceuser_id(optional): User identifierdetails(optional): Additional detailsseverity(optional): Event severity
Purpose: Generate comprehensive audit reports.
Function: mcp_ipfs-datasets2_generate_audit_report
Report Types:
- Security reports
- Compliance reports
- Operational reports
- Comprehensive summaries
# Load dataset
dataset_result = await load_dataset("squad", format="json")
dataset_id = dataset_result["dataset_id"]
# Process dataset
operations = [
{"type": "filter", "column": "context", "condition": "length > 100"},
{"type": "select", "columns": ["question", "context", "answers"]}
]
processed_result = await process_dataset(dataset_id, operations)
# Generate embeddings
embedding_result = await generate_embeddings_from_dataset(processed_result["dataset_id"])
# Create vector index
index_result = await create_vector_index(
vectors=embedding_result["embeddings"],
metric="cosine",
index_name="squad_embeddings"
)
# Save results
await save_dataset(processed_result["dataset_id"], "/output/processed_squad.json")# Search vector index
search_results = await search_vector_index(
index_id="squad_embeddings",
query_vector=query_embedding,
top_k=10,
include_metadata=True
)
# Analyze results
cluster_results = await cluster_analysis(
data=search_results["results"],
algorithm="kmeans",
n_clusters=3
)
# Generate quality assessment
quality_results = await quality_assessment(
data=search_results["results"],
metrics=["coherence", "diversity", "coverage"]
)# Pin dataset to IPFS
pin_result = await pin_to_ipfs(
content_source="/path/to/dataset.json",
recursive=True
)
# Record provenance
provenance_result = await record_provenance(
dataset_id="dataset_123",
operation="ipfs_pin",
parameters={"cid": pin_result["cid"]}
)
# Create audit record
audit_result = await record_audit_event(
action="dataset.publish",
resource_id="dataset_123",
details={"cid": pin_result["cid"], "size": pin_result["size"]}
)- Error Handling: Always check the
statusfield in tool responses - Resource Management: Use appropriate timeouts and limits
- Security: Validate inputs and check permissions
- Performance: Use batch operations for large datasets
- Monitoring: Track tool usage and performance metrics
All tools are async functions that should be awaited:
result = await tool_function(parameters){
"status": "error",
"message": "Error description",
"error_code": "ERROR_CODE",
"details": {}
}{
"status": "success",
"data": {},
"metadata": {},
"execution_time": 1.23
}- Batch Processing: Use batch tools for multiple items
- Caching: Leverage caching tools for repeated operations
- Parallel Execution: Use parallel options where available
- Resource Limits: Set appropriate limits to prevent overload
- Monitoring: Use monitoring tools to track performance
- Authentication: Always authenticate users before tool access
- Authorization: Check permissions for each operation
- Audit Logging: Record all significant operations
- Input Validation: Validate all inputs before processing
- Rate Limiting: Use rate limiting to prevent abuse
Tools are automatically registered through the MCP server's discovery system. The registration process:
- Auto-Discovery: Tools are discovered in their respective directories
- Registration: Each tool is registered with its metadata
- Categorization: Tools are organized by category
- Validation: Tool interfaces are validated
- Availability: Tools become available through the MCP interface
For custom tools, use the registration system:
from ipfs_datasets_py.mcp_server.tools.tool_registration import MCPToolRegistry
registry = MCPToolRegistry()
registry.register_tool(custom_tool)These tools are designed to work seamlessly with AI assistants through the MCP protocol:
- Standardized Interface: All tools follow MCP standards
- Rich Metadata: Tools provide comprehensive metadata
- Error Handling: Consistent error reporting
- Documentation: Built-in documentation and examples
- Type Safety: Parameter validation and type checking
This comprehensive reference provides complete coverage of all MCP tools available in the ipfs_datasets_py project, enabling effective use by AI assistants and human developers alike.