MCP Tools Overview
PerchIQX provides 5 comprehensive MCP tools for Cloudflare D1 database introspection. Each tool is designed with semantic intent principles, focusing on what you want to accomplish rather than technical implementation details.
Available Tools
Tool | Purpose | Key Features |
---|---|---|
analyze_database_schema | Complete schema introspection | Tables, columns, indexes, foreign keys, sample data |
get_table_relationships | Relationship analysis | Foreign keys, cardinality, referential integrity |
validate_database_schema | Schema validation | Anti-patterns, missing keys, naming conventions |
suggest_database_optimizations | Optimization recommendations | Missing indexes, primary keys, performance tips |
compare_schemas | Schema drift detection | Cross-environment comparison, ICE-scored differences, migration planning |
analyze_database_schema
Analyze complete database schema structure with metadata and optional sample data.
Parameters
{
environment: "development" | "staging" | "production", // required
includeSamples?: boolean, // default: true
maxSampleRows?: number // default: 5
}
Returns
- Complete schema analysis
- Table structures with columns, types, constraints
- Indexes and foreign keys
- Sample data from each table (if enabled)
- Schema metadata and statistics
Example Usage
{
"name": "analyze_database_schema",
"arguments": {
"environment": "development",
"includeSamples": true,
"maxSampleRows": 5
}
}
Use Cases
- Understanding existing database structure
- Generating schema documentation
- Planning migrations or refactoring
- Onboarding new team members
get_table_relationships
Extract and analyze foreign key relationships between tables.
Parameters
{
environment: "development" | "staging" | "production", // required
tableName?: string // optional filter
}
Returns
- Foreign key relationships with cardinality (one-to-many, many-to-one)
- Referential integrity rules (CASCADE, SET NULL, etc.)
- Relationship metadata and statistics
- Dependency graph information
Example Usage
{
"name": "get_table_relationships",
"arguments": {
"environment": "production",
"tableName": "users"
}
}
Use Cases
- Understanding data model relationships
- Planning cascading deletes or updates
- Identifying circular dependencies
- Visualizing database architecture
validate_database_schema
Validate database schema for common issues and anti-patterns.
Parameters
{
environment: "development" | "staging" | "production" // required
}
Returns
- Schema validation results
- Missing primary keys
- Foreign keys without indexes
- Naming convention violations
- Tables without relationships
- Severity levels (error, warning, info)
Example Usage
{
"name": "validate_database_schema",
"arguments": {
"environment": "production"
}
}
Use Cases
- Pre-deployment schema checks
- Database health monitoring
- Identifying schema debt
- Enforcing best practices
suggest_database_optimizations
Generate schema optimization recommendations based on structure analysis.
Parameters
{
environment: "development" | "staging" | "production" // required
}
Returns
- Prioritized optimization suggestions (high/medium/low)
- Missing index recommendations
- Primary key suggestions
- Schema improvement opportunities
- Performance optimization tips
- Impact analysis for each suggestion
Example Usage
{
"name": "suggest_database_optimizations",
"arguments": {
"environment": "production"
}
}
Use Cases
- Performance tuning
- Query optimization planning
- Database maintenance
- Cost reduction (fewer queries)
compare_schemas
Compare database schemas between environments to detect drift and plan migrations with ICE-scored differences.
Parameters
{
sourceDatabaseId: string, // required
sourceEnvironment: "development" | "staging" | "production", // required
targetDatabaseId: string, // required
targetEnvironment: "development" | "staging" | "production" // required
}
Returns
- ICE-scored differences with derived priorities (high/medium/low)
- Missing tables between source and target
- Missing columns in existing tables
- Type mismatches between columns
- Missing indexes and foreign keys
- Migration plan with ordered SQL statements
- Execution metrics (table counts, execution time)
Example Usage
{
"name": "compare_schemas",
"arguments": {
"sourceDatabaseId": "dev-database-id",
"sourceEnvironment": "development",
"targetDatabaseId": "prod-database-id",
"targetEnvironment": "production"
}
}
ICE Scoring
Each difference is scored using the ICE (Insight-Context-Execution) methodology:
- Insight (I): Semantic depth of the difference (0-10)
- Context (C): Environmental criticality and risk (0-10)
- Execution (E): Action clarity and implementation ease (0-10)
- Combined Score:
(I × C × E) / 100
→ Priority derivation
Priority Thresholds:
- High: Combined score ≥ 6.0 (critical changes)
- Medium: Combined score 3.0-5.9 (important changes)
- Low: Combined score < 3.0 (minor changes)
Use Cases
- Drift Detection: Identify schema divergence between environments
- Migration Planning: Generate ordered migration scripts
- Pre-deployment Validation: Ensure production readiness
- Environment Synchronization: Keep dev/staging/prod aligned
- Schema Version Control: Track schema evolution over time
Example Response
{
"result": {
"summary": {
"totalDifferences": 5,
"missingTables": 1,
"missingColumns": 2,
"typeMismatches": 1,
"missingIndexes": 1,
"isIdentical": false
},
"differences": [
{
"type": "missing_table",
"severity": "critical",
"description": "Table 'audit_logs' exists in development but not in production",
"iceScore": {
"insight": 9,
"context": 10,
"execution": 8,
"combined": 7.2,
"priority": "high"
},
"migrationSql": "CREATE TABLE audit_logs (...)"
}
]
},
"sourceTableCount": 15,
"targetTableCount": 14,
"executionTimeMs": 342
}
Common Patterns
Schema Drift Detection
Use compare_schemas
to detect differences between environments:
// Compare development against production
compare_schemas({
sourceDatabaseId: "dev-db-id",
sourceEnvironment: "development",
targetDatabaseId: "prod-db-id",
targetEnvironment: "production"
})
// Review ICE-scored differences
// Generate migration plan
// Apply changes with confidence
Multi-Environment Analysis
Compare schemas across environments:
// Check development schema
analyze_database_schema({ environment: "development" })
// Compare with production
analyze_database_schema({ environment: "production" })
// Or use direct comparison
compare_schemas({
sourceDatabaseId: "dev-db-id",
sourceEnvironment: "development",
targetDatabaseId: "prod-db-id",
targetEnvironment: "production"
})
Validation + Optimization Workflow
- Validate schema for issues
- Analyze structure in detail
- Optimize based on recommendations
// Step 1: Find issues
validate_database_schema({ environment: "production" })
// Step 2: Get optimization suggestions
suggest_database_optimizations({ environment: "production" })
// Step 3: Analyze specific tables
get_table_relationships({
environment: "production",
tableName: "orders" // Focus on problem area
})
Documentation Generation
Use analyze_database_schema
with samples to auto-generate documentation:
analyze_database_schema({
environment: "production",
includeSamples: true,
maxSampleRows: 3 // Show example data
})
Error Handling
All tools provide clear error messages:
- Invalid environment: Environment not configured in
.env
- Database not found: Check database ID and credentials
- Permission denied: Verify API token has D1 read access
- Network errors: Cloudflare API connectivity issues
Response Format
All tools return structured JSON responses:
{
"success": true,
"data": {
// Tool-specific data
},
"metadata": {
"environment": "production",
"timestamp": "2025-10-15T12:00:00Z",
"duration_ms": 245
}
}
Performance Considerations
- Schema analysis is cached for 5 minutes
- Sample data limits are configurable (default: 5 rows)
- Relationship analysis uses efficient SQLite introspection queries
- Large schemas (100+ tables) may take 1-2 seconds
Next Steps
- Analyze Schema - Detailed schema analysis guide
- Relationships - Understanding foreign keys
- Validation - Schema validation rules
- Optimizations - Performance tuning guide
- Compare Schemas - Drift detection and migration planning
- ICE Methodology - Understanding ICE scoring
- API Reference - Complete API documentation