Skip to main content
Glama
SSIG-IT

autotask-dwh-mcp-server

by SSIG-IT

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HTTP_PORTNoPort for optional HTTP transport3000
TRANSPORTNostdio (production) or http (local testing)stdio
MSSQL_HOSTNoSQL Server host, e.g. reports18.autotask.net
MSSQL_PORTNoTCP port1433
MSSQL_USERNoRead-only login
MSSQL_DATABASENoDatabase, e.g. TF_000000_WH
MSSQL_MAX_ROWSNoHard ceiling on returned rows500
MSSQL_PASSWORDNoPassword
MSSQL_QUERY_TIMEOUTNoPer-query timeout, seconds30

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_viewsA

List the Autotask Data Warehouse views (read-only reporting views, all named wh_*) with their column counts. Use this FIRST to discover which view holds the data you need, then describe_view for its columns and query to read rows. Source is the live INFORMATION_SCHEMA; if the DB is unreachable it falls back to the bundled schema snapshot (the 'source' field says which). Trap: there is NO wh_ticket view - tickets live in wh_task with project_id IS NULL. Optional case-insensitive substring filter on the view name. See warehouse://guide for the data model and how to resolve *_id columns to names.

describe_viewA

Return the column names and SQL types of ONE warehouse view. Take the exact view name from list_views, and call this before writing a query so you only reference columns that exist. Source is the live INFORMATION_SCHEMA (bundled snapshot as fallback; the 'source' field says which). On an unknown or misspelled name it returns found=false plus the closest matching view names as suggestions - retry with one of those. Traps: wh_task holds BOTH tickets and project tasks (a ticket has project_id IS NULL); time is split across wh_time_item (header, carries task_id) and wh_time_subitem (the hours), joined on time_item_id. See warehouse://guide for the ID-resolution map that turns *_id columns into names.

queryA

Execute EXACTLY ONE read-only SQL statement against the Autotask Report Data Warehouse and return its columns and rows (structuredContent plus a compact text table). The statement MUST be a single SELECT or WITH (CTE) query. The read-only guard REJECTS everything else: INSERT, UPDATE, DELETE, MERGE, DROP, ALTER, CREATE, TRUNCATE, EXEC/EXECUTE, GRANT, REVOKE, SELECT ... INTO, stored/extended procedures (sp_/xp_), and any second statement (a statement-separating semicolon). Rows are hard-capped by max_rows (ceiling 500). READ the resource warehouse://guide before writing queries - this warehouse uses non-obvious names. Key traps: there is NO wh_ticket / wh_time_entry / wh_ticket_note view; tickets AND project tasks share wh_task, where a ticket has project_id IS NULL and a project task has project_id IS NOT NULL; join hours as wh_time_item.time_item_id = wh_time_subitem.time_item_id (task_id lives only on wh_time_item); money columns (wh_posted_overall, wh_billing_item) come back as decimal strings. Almost every *_id column is a foreign key: resolve the IDs that matter to human-readable names by JOINing the matching lookup view (see the 'ID RESOLUTION' map in warehouse://guide) and return names, not raw IDs, unless the user explicitly asks for IDs. If the result comes back with truncated=true it is INCOMPLETE (more rows matched than the cap) - narrow with WHERE/GROUP BY, aggregate, or raise max_rows; do not treat the returned count as the total. Data freshness: the warehouse is a DAILY full snapshot, not a live system - values can be up to a day old; for time-critical questions call last_load and state the load time, or use the live Autotask source instead of presenting a stale figure as current. For business terms (revenue, cost, margin, open ticket, billed/worked hours, utilization, active contract/employee) use the canonical definition from the BUSINESS GLOSSARY in warehouse://guide instead of interpreting them freely, and state the definition and time window you used.

last_loadA

Return the warehouse freshness markers from the special object warehouse_last_load (this object is NOT a wh_ view and does NOT appear in list_views). Last_Load is the timestamp the daily full reload finished - the only reliable 'data is fresh' signal; Backup_Taken is the point in time up to which the data is accurate. Use it to check how current the data is, and as the first smoke test after deploy. No parameters. The warehouse is only a DAILY snapshot, so for any time-critical question check this first and report the data's age (Last_Load) rather than presenting a possibly day-old value as current. See warehouse://guide for the overall data model.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
warehouse-guideDomain notes for writing correct queries against the Autotask Report Data Warehouse (non-obvious view/column names, the measured ticket-vs-task rule, the time join key, financial views, and the UI->DWH terminology map).

TDQS

A4.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a separate stage of the reporting workflow: discovering views, inspecting schema, checking freshness, and running read-only queries. There is no purpose overlap or ambiguity in choosing among them.

Naming Consistency4/5

list_views and describe_view follow a clear verb_noun pattern, and query is a readable bare-verb action. last_load breaks the pattern as a noun phrase, so the set is mostly consistent but not perfectly uniform.

Tool Count5/5

Four tools is well-scoped for a read-only warehouse access server: discovery, schema inspection, freshness check, and query execution cover the domain without redundancy or bloat.

Completeness5/5

The tool surface fully covers the core workflow for a reporting DWH: find the right view, inspect its columns, verify data freshness, and query it with a robust SQL guard. No obvious dead ends or missing operations for the stated read-only purpose.

Maintenance

ActivitySlowing
ResponsivenessNo issues