- Home
- MCP servers
- FOCUS
FOCUS
- 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.