FOCUS

Provides an MCP server to analyze FOCUS billing data with AI-assisted queries and 36+ predefined analyses.
  • other

8

GitHub Stars

other

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "glassity-focus-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/path/to/your/focus/data:/data:ro",
        "-e",
        "FOCUS_DATA_LOCATION=/data",
        "-e",
        "FOCUS_VERSION=1.0",
        "glassity/focus-mcp:latest"
      ],
      "env": {
        "AWS_REGION": "us-west-2",
        "AWS_PROFILE": "billing-reader",
        "FOCUS_VERSION": "1.0",
        "AWS_ACCESS_KEY_ID": "YOUR_KEY_ID",
        "FOCUS_DATA_LOCATION": "/path/to/your/focus/data",
        "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET"
      }
    }
  }
}

You have an MCP server that analyzes FOCUS billing data and exposes powerful tools for querying and analyzing cloud costs through an AI-enabled assistant. It supports multi-version FOCUS data, fast DuckDB analytics, and a library of predefined queries to help you understand spend, optimize budgets, and detect anomalies without writing SQL manually.

How to use

You use this server by connecting it to an MCP client and loading your FOCUS data, either from local Parquet files or an S3 bucket. Once connected, you can ask the assistant questions like “Show me my highest-cost services by region this month” or “Find anomalous spending patterns by account.” The system offers a library of 36+ predefined queries and the ability to run custom SQL or predefined queries on your data.

Typical usage patterns include inspecting your data loaded status, selecting a predefined use case, and then refining results with custom queries or parameterized requests. You can explore the FOCUS schema, learn about available columns and attributes, and perform multi-provider analyses by combining data from multiple cloud providers and regions.

How to install

Prerequisites: ensure you have Docker installed on your machine. You may also run the server locally with uv in development, but the most straightforward path is using the provided Docker image.

Step 1: Pull the MCP Docker image

# From Docker Hub (recommended)
docker pull glassity/focus-mcp:latest

# Or from GitHub Container Registry
docker pull ghcr.io/glassity/focus-mcp:latest

# Or use a specific version
docker pull glassity/focus-mcp:v0.1.1

Step 2: Prepare your data location. You can use local Parquet data or S3 exports. Set the data location in your environment when you run the container.

# Local data example
export FOCUS_DATA_LOCATION="/path/to/your/focus/data"

# S3 data example
export FOCUS_DATA_LOCATION="s3://your-bucket/focus-exports"

Step 3: Run the container with your data location. The examples below show how to run with local data and with S3 data, respectively.

# Local data
docker run -i --rm \
  -v "/path/to/your/focus/data:/data:ro" \
  -e "FOCUS_DATA_LOCATION=/data" \
  -e "FOCUS_VERSION=1.0" \
  glassity/focus-mcp:latest
# S3 data with credentials
docker run -i --rm \
  -e "FOCUS_DATA_LOCATION=s3://your-bucket/focus-exports" \
  -e "AWS_REGION=us-west-2" \
  -e "AWS_ACCESS_KEY_ID=your-access-key" \
  -e "AWS_SECRET_ACCESS_KEY=your-secret-key" \
  glassity/focus-mcp:latest

If you use an AWS profile, mount your AWS credentials and specify the profile in the environment.

docker run -i --rm \
  -v "$HOME/.aws:/home/mcp/.aws:ro" \
  -e "FOCUS_DATA_LOCATION=s3://your-bucket/focus-exports" \
  -e "AWS_REGION=us-west-2" \
  -e "AWS_PROFILE=billing-reader" \
  glassity/focus-mcp:latest

Additional configuration and notes

Environment variables you may configure include FOCUS_DATA_LOCATION to point to your data location, FOCUS_VERSION to select the FOCUS spec version, AWS_REGION for S3 access, and AWS_PROFILE for AWS credentials. These are used to control where data is read from and how authentication is performed.

The server exposes a set of tools for data inspection, predefined use cases, and schema details. You can explore columns, attributes, and the formatting standards of FOCUS to understand the data model and how to craft effective analyses.

Security and access considerations

Use environment variables to keep sensitive values out of command histories. When running with S3 credentials, prefer AWS profiles or mounted credentials rather than hard-coding keys. Follow your organization’s security practices for managing credentials and access to the data storage location.

Troubleshooting tips

If you cannot connect, verify that your FOCUS_DATA_LOCATION points to a valid data location and that the container has permission to read the data. For S3, ensure the region is correct and that credentials or a valid AWS_PROFILE is available. Check that Docker can access the mounted volumes and that the image tag you pulled exists.

Usage examples and capabilities

You can inspect loaded data, run predefined use cases, fetch detailed information about specific queries, execute SQL on the data, explore the FOCUS schema, and compare costs across providers and regions. The toolset covers cost visibility, optimization insights, and anomaly detection, backed by a library of professional queries and official citations.

Available tools

get_data_info

Inspect your loaded FOCUS data, including row counts, date ranges, and providers.

list_use_cases

Browse the 36+ predefined analysis queries available for your FOCUS data.

get_use_case

Get detailed information about a specific predefined query, including SQL, parameters, and citations.

execute_query

Run custom SQL or predefined queries on your loaded data.

list_columns

List all FOCUS columns with metadata such as type and requirement level.

get_column_details

Get detailed information for specific FOCUS columns.

list_attributes

List FOCUS formatting standards and conventions.

get_attribute_details

Get detailed requirements for specific FOCUS attributes.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational