cupix-compass
Server Details
Explore and analyze Cupix construction site data: 360 images, progress, and insights.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.8/5 across 6 of 6 tools scored. Lowest: 2.4/5.
Each tool has a clearly distinct purpose: context management, facility listing, data querying, image search, and progress analysis. Workflow guidance in descriptions prevents ambiguity.
Mix of imperative verb_noun (getActiveContext, listFacilities, setActiveContext) and descriptive noun phrases (projectDataExplorer, siteImageExplorer, siteinsightsAnalyzer). Not chaotic but inconsistent.
6 tools is well-scoped for the domain of construction facility analysis, covering context setup, data exploration, image search, and progress insights without unnecessary bloat.
Covers the core analysis and context management needs. Missing CRUD operations for facilities/objects, but that seems intentional for a read-only analysis server.
Available Tools
6 toolsgetActiveContextAInspect
Return the currently saved team_domain and facility_key for this user.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns two specific fields (team_domain, facility_key) with no side effects. For a read-only getter with zero parameters, this is sufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that perfectly conveys the tool's purpose with no wasted words. It is front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero parameters, exists output schema), the description completely covers the functionality. It names the two return fields, and the output schema provides further detail. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to add parameter information, and it correctly omits any. No additional semantics are required beyond what the schema (empty) provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it returns 'the currently saved team_domain and facility_key for this user', clearly identifying the verb (return) and resource (saved context). This differentiates it from sibling setActiveContext which modifies the context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates that this tool is for retrieving current context, contrasting with setActiveContext. However, it does not explicitly state when to use it over listFacilities or other siblings, though the context is clear from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listFacilitiesAInspect
List construction facilities (projects) the user can access within a team.
Use this tool ONLY when the user wants to switch facility or has no
saved active context. If getActiveContext returns a saved
facility_key, do NOT call this tool — call the analysis tool directly
with no arguments.
Required workflow when this tool IS appropriate:
Present the returned facilities to the user.
Wait for the user to select one.
Call
setActiveContext(team_domain, facility_key)to persist the selection so future sessions skip this step.Then invoke analysis tools.
Args: team_domain: Team domain returned by list_teams(). Optional; if omitted, falls back to the setActiveContext-saved value, otherwise returns the team list.
Returns: str: Accessible facilities with their keys and names.
| Name | Required | Description | Default |
|---|---|---|---|
| team_domain | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint: true, so the description's addition of 'available in a specific team' is useful context but does not significantly expand on behavioral traits beyond what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys purpose and scope with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with readOnlyHint and no output schema, the description covers the basic function but omits details on return format or pagination, leaving room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description reinforces the schema's team_domain parameter by connecting it to the tool's purpose, adding meaning beyond the schema's example values, which is valuable given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List construction facilities (projects)' with a clear verb and resource, and scopes it to 'a specific team', distinguishing it from sibling tools like listTeams.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when you need facilities for a known team domain, but does not explicitly compare to alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
projectDataExplorerAInspect
Query structured project data using natural language (Text-to-SQL). Converts natural language into SQL to retrieve project records, statistics, and aggregations. Pass the user's question as-is without modification. For trade visibility, use siteinsightsAnalyzer instead. WORKFLOW:
Default: call this tool with only
query. The server resolves team_domain/facility_key from the saved active context (set viasetActiveContext). Do NOT calllist_teamsorlist_facilitiesagain just to obtain these values.Only when the response indicates the context is missing, run
list_teams→list_facilities→ ask the user →setActiveContext, then retry.Pass explicit team_domain/facility_key only when the user clearly wants to query a different facility than the saved one. Available tables:
progresses: SI progress metrics (level, category, phase, workarea, cost, dates)
captures: Camera captures metadata (level, camera_model, capture_state, user_email)
records: Capture events with timestamps (captured_at, state, id)
photo_notes: Photonotes (description, state, user_email, created_at)
voice_notes: Voicenotes (level, description, state, user_email, created_at)
facilities: Site info (name, address, size, location, bim_count, created_at)
users: User profiles (name, email)
workareas: Spatial zones (level, name, user_name)
Args: query: Natural language question (pass as-is, no SQL syntax) team_domain: Omit by default. Pass only to override the active context. facility_key: Omit by default. Pass only to override the active context.
Returns: Query results as tab-separated text
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| team_domain | No | ||
| facility_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint, so description's 'Query' aligns; however, beyond that, no additional behavioral traits (e.g., SQL capabilities, error handling) are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose, no wasted words; highly concise and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description omits return format or limitations of the Text-to-SQL query; though tool is simple, more detail on expected output would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for all 3 parameters; the description adds no new meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool queries structured project data via natural language (Text-to-SQL), distinguishing it from sibling listing tools like listFacilities and listTeams.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives like listFacilities or siteinsightsAnalyzer; context from siblings helps but description lacks direct comparison or exclusion rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setActiveContextAInspect
Save the user's active team and facility so subsequent tool calls can omit
the team_domain / facility_key arguments.
Args:
team_domain: Team domain to remember (required unless clear=True).
facility_key: Facility key to remember (required unless clear=True).
clear: If true, delete the stored selection and ignore the other args.
Returns: Human-readable confirmation message.
| Name | Required | Description | Default |
|---|---|---|---|
| clear | No | ||
| team_domain | No | ||
| facility_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It details saving selection, clearing with flag, and returning confirmation. Adequate for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise 5-sentence description with purpose upfront. Every sentence adds value with no redundancy. Well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simplicity (3 params, no nested objects), description covers parameters, behavior, and return completely. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description explains each parameter well: team_domain/facility_key required unless clear=True, clear deletes selection. Adds meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it saves the active team/facility for subsequent calls, distinguishing it from sibling 'getActiveContext' which reads. Verb+resource is specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains when to use (set context for later calls) and how to clear it. Does not explicitly state when not to use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
siteImageExplorerBInspect
Search panoramic 360-degree site images by visual content analysis. Searches what is VISUALLY SEEN in site images — safety hazards, quality issues, work types, objects, equipment, materials, and physical site conditions. Do NOT use for capture counts or statistics — use project_data_explorer instead. WORKFLOW:
Default: call this tool with only
query(and optionally date filters / limit). The server resolves team_domain/facility_key from the saved active context (set viasetActiveContext). Do NOT calllist_teamsorlist_facilitiesagain just to obtain these values.Only when the response indicates the context is missing, run
list_teams→list_facilities→ ask the user →setActiveContext, then retry.Pass explicit team_domain/facility_key only when the user clearly wants to search a different facility than the saved one.
Date filtering: Only use start_date/end_date when the user explicitly mentions dates. Format: YYYY-MM-DD. Omit entirely for general queries without date context.
Args: query: Keywords or phrases describing what to find in site images team_domain: Omit by default. Pass only to override the active context. facility_key: Omit by default. Pass only to override the active context. limit: Maximum number of results (default: 10) start_date: Start date filter, YYYY-MM-DD (omit if no date context) end_date: End date filter, YYYY-MM-DD (omit if no date context)
Returns: ToolResult: Image viewer links, 3D coordinates, and capture dates
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| end_date | No | ||
| start_date | No | ||
| team_domain | No | ||
| facility_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. The description adds a phrase about 'visual content analysis' but does not disclose additional behavioral traits like rate limits, pagination, or error handling. Given the annotations, the bar is lower, but the description still lacks helpful context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with the verb 'Search' front-loaded. It is extremely concise and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the tool returns (e.g., image URLs, metadata). It does not mention the response format, pagination, or behavior when no results are found, making it incomplete for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds a minor nuance ('visual content analysis') but does not significantly enhance understanding beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: searching panoramic 360-degree site images by visual content. It distinguishes itself from siblings like listFacilities (listing facilities) and siteinsightsAnalyzer (analyzing insights) by focusing on image search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as siteinsightsAnalyzer or projectDataExplorer. The description only states what it does without clarifying context or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
siteinsightsAnalyzerCInspect
Analyze SiteInsights(SI) progress — completion rates, delays, and forecasts. Generates a progress report: overall completion, progress by category/vendor/level, delay analysis, and estimated completion dates. WORKFLOW:
Default: call this tool with NO arguments. The server resolves team_domain/facility_key from the saved active context (set via
setActiveContext). Do NOT calllist_teamsorlist_facilitiesagain just to obtain these values — the saved selection is the source of truth.Only when the response indicates the context is missing, run
list_teams→list_facilities→ ask the user →setActiveContext, then retry.Pass explicit arguments only when the user clearly wants to analyze a different facility than the saved one.
Args: team_domain: Omit by default. Pass only to override the active context. facility_key: Omit by default. Pass only to override the active context.
Returns: Progress analysis report with completion rates and forecasts
| Name | Required | Description | Default |
|---|---|---|---|
| team_domain | No | ||
| facility_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint: true, so the tool is clearly read-only. The description adds no behavioral context beyond that, such as what analysis is performed, or any side effects. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (one sentence), but it is under-specified rather than concise. It fails to provide essential details about the tool's function, making it insufficient for effective use. Better front-loading with more context would improve it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and only two parameters, the description should explain what analysis is performed and what the output looks like, but it does not. The sibling tools are more descriptive, leaving this one incomplete for an agent to know when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters having clear descriptions (e.g., 'Facility key from listFacilities'). The description does not add any additional meaning or context beyond the schema, which is adequate. Baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Analyze construction progress with SiteInsights', which gives a general sense of the tool's purpose but lacks specificity. It doesn't differentiate from sibling tools like projectDataExplorer or siteImageExplorer, which also might analyze data. The verb 'analyze' is vague and could be more precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like listFacilities or siteImageExplorer. It doesn't mention prerequisites, such as needing facility_key from listFacilities, though the schema does. No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!