Why it matters
Tool schemas define how to call a service, but not what the data looks like in practice. The gap varies by service type: API services (Shopify, GitHub, Slack) — tool schemas describe the available resources, but the data dictionary adds real-world patterns: astatus field is actually an enum with values active, draft, and archived; product IDs use Shopify GID format like gid://shopify/Product/123456789; the metadata field contains parseable JSON.
Data platform services (Snowflake, PostgreSQL, Elasticsearch) — tool schemas only describe how to run queries. They contain no information about what tables exist in the account, what columns those tables have, how tables relate to each other, or what the data means. The data dictionary bridges this gap entirely — documenting the account’s schema, table relationships, column semantics, and sample data so that AI agents can construct meaningful queries.
AI agents and apps call get_data_dictionary before using a service to understand these patterns.
Structure
The data dictionary is defined insrc/dataDictionary.ts:
The get_data_dictionary tool
The data dictionary is exposed at runtime through aget_data_dictionary tool so that AI agents and apps can retrieve it before interacting with the service.

