MCP Tool Catalog
Every tool the DataStar MCP server exposes, grouped by purpose. Tools marked (read) are read-only; tools marked (write) require Allow write access to be enabled on the workspace's MCP settings.
Workspace
get_workspace_info (read)
Returns the currently open workspace: name, on-disk location, component path, whether it's under version control, and the categories it exposes.
list_categories (read)
Returns the component categories available in the current workspace.
get_database_context (read)
Returns the context the connected database session resolves unqualified names against: effective default schema, current user, vendor, and accessible schemas.
get_connection_status (read)
Returns the current database connection's name, vendor, schema, and summary. Reports "Not Connected" if no session is open.
list_saved_connections (read)
Lists the saved database connections the user has available.
Database inspection
get_database_schema (read)
Returns a high-level index of the connected database: tables, views, stored procedures, and functions. Capped per category.
maxObjectsPerCategory: int = 200
get_table_details (read)
Returns full detail for a single table: columns (type, nullability, default, primary-key flag), constraints, and indexes.
tableName: string(required)schema: string? = null. Omit to use the session's default.
execute_query (read)
Runs an ad-hoc read-only SELECT. Writes are rejected. Database errors (e.g. ORA-00942) are surfaced verbatim.
sql: string(required)maxRows: int = 1000
execute_sql (write)
Runs arbitrary SQL. dryRun=true executes inside a transaction that rolls back. For row-returning SELECTs, use execute_query.
sql: string(required)dryRun: bool = true
Connections
connect_to_database (write)
Opens (or re-uses) a database connection by its saved name.
name: string(required)
Metadata tables
These tools only operate on tables listed in the workspace's configured metadata tables.
list_metadata_tables (read)
Lists the metadata tables available for this workspace.
describe_metadata_table (read)
Returns column definitions (name, type, nullability, max length) of a metadata table.
tableName: string(required)
query_metadata_table (read)
Queries a metadata table with optional column projection and AND'd filters.
tableName: string(required)filters: MetadataFilter[]?columns: string[]?maxRows: int = 1000
Each MetadataFilter has column, operator (=, <>, LIKE, NOT LIKE, IS NULL, IS NOT NULL), and value.
count_metadata_table (read)
Returns the number of rows in a metadata table matching an optional set of filters.
tableName: string(required)filters: MetadataFilter[]?
search_metadata (read)
Searches every configured metadata table for rows that mention a given term. Useful for open-ended questions like "tell me about the ACCOUNT table".
searchTerm: string(required)maxRowsPerTable: int = 50
Returns { Matches, Errors } so you can see per-table failures.
Components
list_components (read)
Lists the SQL components in the current workspace. Optionally filter to a single category.
category: string?
get_component_content (read)
Returns the full SQL script for a component.
category: string(required)name: string(required)
search_components (read)
Searches components by name, or by the content of their SQL when searchContent=true. Capped by maxResults.
query: string(required)category: string?searchContent: bool = falsemaxResults: int = 200
get_component_metadata (read)
Returns a component's metadata: when and where it was last extracted, its database status, template, whether it has a pending draft or is in the deployment basket.
category: string(required)name: string(required)
delete_component (write)
Deletes a component from the workspace and cleans up any associated draft.
category: string(required)name: string(required)
Dependencies
get_dependencies (read)
Lists the components the given component refers to (its direct dependencies).
category: string(required)name: string(required)
get_reverse_dependencies (read)
Lists the components that refer to the given component; answers "what would break if I changed this?". Best-effort scan; reports how many candidates were inspected and whether the scan was truncated.
category: string(required)name: string(required)scanAllCategories: bool = falsemaxScan: int = 500
Drafts
list_drafts (read)
Lists components that have a pending draft. Optionally filter by category.
category: string?
get_draft_content (read)
Returns the SQL content of a component's pending draft.
category: string(required)name: string(required)
apply_draft (write)
Applies drafts for one or more components in a category; the draft becomes the workspace version and is then removed. Omit names to apply every draft in the category.
category: string(required)names: string[]?
discard_draft (write)
Discards drafts for one or more components in a category without applying them. Omit names to discard every draft in the category.
category: string(required)names: string[]?
Extraction
extract_to_workspace (write)
Extracts CREATE script(s) for one or more components from the database straight into the workspace. Omit names to extract every component in the category.
category: string(required)names: string[]?
extract_delete_script (write)
Extracts DROP script(s) for one or more components into the workspace.
category: string(required)names: string[]?
extract_to_draft (write)
Extracts components into draft files, only when the database version differs from the workspace copy.
category: string(required)names: string[]?
extract_to_location (write)
Writes a single component's script from the database to any folder inside the workspace. Workspace component tracking isn't modified.
category: string(required)name: string(required)outputDirectory: string(required)
Comparison
compare_with_database (read)
Compares the workspace copy of a component with the script generated from the live database.
category: string(required)name: string(required)
compare_with_draft (read)
Compares the workspace copy of a component with its pending draft.
category: string(required)name: string(required)
Deployment basket
get_basket (read)
Returns the components currently staged in the deployment basket.
add_to_basket (write)
Stages a component in the deployment basket.
category: string(required)name: string(required)
remove_from_basket (write)
Removes a component from the deployment basket.
category: string(required)name: string(required)
empty_basket (write)
Clears every component from the deployment basket.
import_basket_from_task (write)
Populates the basket from the deployment file attached to a task in the configured task tracker.
taskId: string(required)
Execution
execute_script (write)
Runs a component's SQL script against the connected database.
category: string(required)name: string(required)dryRun: bool = true. When true, the script runs inside a transaction that is rolled back.
Templates
list_templates (read)
Lists templates in the workspace. Optionally filter by type (data or object) and / or category.
type: string?category: string?
get_template (read)
Returns a template's metadata and full XML by workspace-relative path.
filePath: string(required)
get_data_template_xsd (read)
Returns the XSD schema DataStar uses to validate DataComponent templates. Useful to hand to an agent before asking it to author one.
get_object_template_xsd (read)
Returns the XSD schema DataStar uses to validate ObjectComponent templates.
create_template (write)
Creates a new template at the given path. The XML is validated against the appropriate XSD before being written.
filePath: string(required)xmlContent: string(required)
update_template (write)
Updates an existing template. The XML is validated against the appropriate XSD before being written.
filePath: string(required)xmlContent: string(required)
Deployment files
get_deployment_file_storage_info (read)
Reports where the deployment file for a task is stored: attached to the task, in the workspace, or not yet created.
taskId: string(required)
get_task_deployment_file (read)
Returns the raw XML of the deployment file for a task. Auto-routes between task attachment and workspace file based on workspace configuration.
taskId: string(required)
set_task_deployment_file (write)
Writes or overwrites the deployment file for a task. Routes to task attachment or workspace location per configuration.
taskId: string(required)xmlContent: string(required)
describe_deployment_file (read)
Structured summary of a deployment file: source VCS type, branch, and deployment items with their ordering.
taskId: string(required)
Reversal scripts
generate_reversal_scripts (read)
Generates rollback scripts for the deployment file associated with a task, against the named database connection. Read-only: produces scripts, does not apply them.
taskId: string(required)connectionName: string(required)
Task tracking
Grouped by responsibility: capability reporting, read-only lookups, CRUD on tasks, and workflow actions.
Capabilities
get_task_tracking_capabilities (read)
Reports what the connected task tracker supports (create, update, comment, transition, search, metadata, linking).
CRUD
get_current_user (read)
Returns the authenticated user's account ID, display name, and email as known to the task tracker.
run_query (read)
Runs a raw tracker query: JQL on Jira, WIQL on Azure Boards.
query: string(required)maxResults: int = 50
search_tasks (read)
Structured search across the tracker by any combination of text, status, assignee, type, and labels.
text: string?status: string?assignee: string?type: string?labels: string[]?maxResults: int = 50
get_task (read)
Returns the full details of a task by its ID.
taskId: string(required)
create_task (write)
Creates a task in the connected task tracker.
type: string(required)title: string(required)project: string?description: string?assignee: string?priority: string?labels: string[]?parentId: string?
update_task (write)
Updates one or more fields on an existing task, including custom fields.
taskId: string(required)title: string?description: string?assignee: string?priority: string?labels: string[]?parentId: string?customFields: dict<string,string>?
lookup_user (read)
Finds tracker users by name or email fragment. Useful for resolving an assignee string to a concrete account ID before calling create_task or update_task.
searchString: string(required)
Metadata
get_task_types (read)
Lists the task types the tracker supports.
get_available_statuses (read)
Lists the statuses a task of the given type can hold.
taskType: string(required)
get_available_transitions (read)
Lists the status transitions a specific task can make from its current state.
taskId: string(required)
get_task_fields (read)
Lists the fields for a task type (including custom fields), with each field's type and whether it is required.
taskType: string(required)
get_priorities (read)
Lists the priority levels the tracker recognises.
list_projects (read)
Lists the projects the authenticated user can access.
get_link_types (read)
Lists the link types (e.g. blocks, relates to) that the tracker supports between tasks.
Workflow
transition_task (write)
Moves a task to a new status. Optionally attaches a comment with the transition.
taskId: string(required)targetStatus: string(required)comment: string?
add_task_comment (write)
Posts a comment on a task.
taskId: string(required)comment: string(required)
get_task_comments (read)
Lists the comments on a task, oldest first.
taskId: string(required)
link_tasks (write)
Creates a link of the given type between two tasks, optionally with a comment.
linkType: string(required)inwardTaskId: string(required)outwardTaskId: string(required)comment: string?