Action that retrieves comprehensive database schema information using MemberJunction's rich metadata layer instead of raw INFORMATION_SCHEMA queries.

This action provides research agents with deep understanding of the data model including:

  • Business context (descriptions, display names)
  • Field metadata (types, defaults, value lists, related entities)
  • Semantic relationships (not just foreign keys)
  • Virtual entities (logical, not physical)
  • API permissions and settings
  • Audit configuration
  • UI display preferences

Features:

  • Entity name pattern filtering with wildcards
  • Schema filtering (focus on specific schemas)
  • Optional field details with rich metadata
  • Optional relationship information with semantic meaning
  • Optional permission information
  • Virtual entity support
  • Scope-based filtering
  • Configurable output size limits

Example

// Get all customer-related entities with full metadata
await runAction({
ActionName: 'Explore Database Schema',
Params: [{
Name: 'EntityPattern',
Value: '%Customer%'
}, {
Name: 'IncludeFields',
Value: true
}, {
Name: 'IncludeRelationships',
Value: true
}]
});

Hierarchy (view full)

Constructors

Methods

  • Executes the action with the provided parameters.

    Parameters

    • params: RunActionParams<any>

      The action execution parameters including context

    Returns Promise<ActionResultSimple>

    Promise resolving to the action result

  • Build detailed message with entity information for agent consumption

    Parameters

    • formattedEntities: Record<string, any>[]
    • schemas: Record<string, any>[]
    • summary: Record<string, any>
    • options: {
          includeFields: boolean;
          includeRelationships: boolean;
      }
      • includeFields: boolean
      • includeRelationships: boolean

    Returns string

  • Filter entities based on parameters

    Parameters

    • entities: EntityInfo[]
    • filters: {
          entityPattern?: string;
          includeVirtualEntities: boolean;
          maxEntities: number;
          schemaFilter?: string;
          scopeFilter?: string;
      }
      • Optional entityPattern?: string
      • includeVirtualEntities: boolean
      • maxEntities: number
      • Optional schemaFilter?: string
      • Optional scopeFilter?: string

    Returns EntityInfo[]

  • Format EntityInfo into research-friendly structure

    Parameters

    • entity: EntityInfo
    • options: {
          includeFields: boolean;
          includePermissions: boolean;
          includeRelationships: boolean;
      }
      • includeFields: boolean
      • includePermissions: boolean
      • includeRelationships: boolean

    Returns Record<string, any>