The tools the DataGalaxy MCP Server currently exposes to a connected client — for scoping, searching the catalog, retrieving object detail and relationships, reference lookups, collaborating, and updating metadata.
This article replaces an earlier version of the tool set. Several previously documented tools no longer exist as separate tools:
natural_language_search (its job is now done by search_objects's filters parameter), and get_object_details / get_object_fields / get_ancestors / get_linked_objects (all merged into a single get_object_relations tool). A new tool, list_filterable_attributes, is required before using filters.Parameter key:
req = required · opt = optional.Scoping — start here
| Tool | Parameters | Description |
|---|---|---|
list_workspaces_and_versions | include_archived (opt, default false) | Lists every workspace with its versions. Call this first to resolve scope. With exactly one workspace/version, use it silently. A version's status runs active → candidate → official → archived; null means the workspace isn't versioned. |
Search
Find catalog objects by text, by attribute values, or by meaning.
| Tool | Parameters | Description |
|---|---|---|
search_objects | query, entity_type, module_name, filters, included_attributes, creation_time_operator, modification_time_operator, version_id, workspace_id, limit (default 20), page — all opt | Free-text search on name, description, summary, and synonyms — and/or attribute-based filtering via filters (owner, steward, status, tags, technology, custom attributes, relationships). filters alone is a complete search; query isn't required. Resolve filter keys with list_filterable_attributes first — a guessed key fails the search, and a guessed value can silently match everything. |
semantic_search | query (req); version_id, workspace_id, limit (default 20), page — opt | Find objects by meaning rather than wording — best for topics and concepts ("finance-related objects", "GDPR data"). The query is matched exactly as written; nothing expands it, so run several searches with different phrasing (synonyms, spelled-out or abbreviated) for full coverage. |
Discovering filters
| Tool | Parameters | Description |
|---|---|---|
list_filterable_attributes | entity_type, version_id, workspace_id (req); include_relationships (opt, default false) | Lists what search_objects can filter one object type on, and how — each attribute's exact name/attribute_key, accepted operators, and (for finite formats) the exact values that match. Call this before passing filters to search_objects. With include_relationships, also lists the ObjectLinks_<LinkType> relationship keys available in this workspace version. |
Object retrieval and navigation
Read object detail, attribute schema, and relationships.
| Tool | Parameters | Description |
|---|---|---|
get_object | object_id, version_id, workspace_id (req); include_writability (opt, default false) | Overview card for one catalog object: its attributes, its location (functionalPath), and — for links, children, and fields — a count plus a sample. Page any of them fully with get_object_relations. Empty attributes are omitted from the card, so absence alone doesn't mean the object can't hold them — use include_writability to check before concluding an attribute is unavailable. |
get_object_attribute_schema | object_id, version_id, workspace_id (req) | Lists every attribute this object's type can carry — the schema, not the values: each entry's exact name (for writes), format, writable, mandatory, and, for finite formats, the only accepted values. Use it to tell an attribute the object left empty apart from one it cannot carry at all. |
get_object_relations | object_id, relation (req, one of links / children / fields / ancestors), version_id, workspace_id (req); limit (default 20), page — opt | Pages through one relation of an object: links = semantic relationships (uses/implements/lineage/synonym...), children = direct hierarchy children, fields = structural fields/columns (tables, files), ancestors = the parent chain, nearest first. This single tool replaces what used to be four separate tools. |
Reference data
| Tool | Parameters | Description |
|---|---|---|
get_users | first_name, last_name (opt, exact match); limit (default 20), page — opt | Lists catalog users — people who can own or steward objects. Use it to resolve a named person into a user id; prefer email to disambiguate similar names. |
get_tags | none | Lists every tag defined in the catalog (the shared, cross-workspace classification vocabulary). Use it to resolve a tag name into an id rather than inventing one. Skip entries where is_active is false. |
get_data_sources | version_id (req); limit (default 20), page — opt | Lists the top-level data sources (databases, file stores, NoSQL stores) in a version. Use it to enumerate a version's source systems; use search_objects when the user names an object instead. |
get_technologies | none | Lists the technologies defined in the catalog, across all workspaces and versions — the platform an object's data physically lives on (PostgreSQL, Snowflake...). Use it to map a technology name to its technology_code. |
Collaboration
Read and add comments and tasks on catalog entities.
| Tool | Parameters | Description |
|---|---|---|
get_comments | object_id, version_id, workspace_id (req) | Lists the comments on one catalog object. |
create_comment | object_id, version_id, workspace_id, message (req) | Creates a comment on one catalog object. HTML/rich-text markup is allowed. Tagging users or teams is not supported. |
get_tasks | object_id, version_id, workspace_id (req) | Lists the tasks attached to one catalog object. |
Modification
The only tool that writes back to the catalog besides create_comment — everything above is read-only.
| Tool | Parameters | Description |
|---|---|---|
update_object | object_id, version_id, workspace_id, attributes (req, flat {name: value} map using the names get_object returns) | Changes attributes of one catalog object — e.g. {"status": "Validated"}. Only the keys you pass change; lists (owners, stewards, tags) replace the current value. Call get_object first to see current values, and get_object_attribute_schema for any attribute whose accepted values you don't know — an attribute the object can't carry, or a value outside its published list, is refused rather than silently dropped. |