@@ -223,6 +223,144 @@ The AWS credential chain automatically finds credentials from:
223223
224224Note: AWS_PROFILE is a standard AWS environment variable that the credential chain respects.
225225
226+ ## Docker Usage
227+
228+ ### Using Pre-built Images
229+
230+ The server is available as a Docker image on GitHub Container Registry:
231+
232+ ``` bash
233+ # Pull the latest image
234+ docker pull ghcr.io/glassity/focus-mcp:latest
235+
236+ # Or use a specific version
237+ docker pull ghcr.io/glassity/focus-mcp:v0.1.1
238+ ```
239+
240+ ### Running with Docker
241+
242+ #### Local FOCUS Data
243+
244+ ``` bash
245+ # Run with local data mounted
246+ docker run -i --rm \
247+ -v " /path/to/your/focus/data:/data:ro" \
248+ -e FOCUS_DATA_LOCATION=/data \
249+ -e FOCUS_VERSION=1.0 \
250+ ghcr.io/glassity/focus-mcp:latest
251+ ```
252+
253+ #### S3 FOCUS Data
254+
255+ ** Using AWS credentials from environment:**
256+
257+ ``` bash
258+ docker run -i --rm \
259+ -e FOCUS_DATA_LOCATION=" s3://your-bucket/focus-exports" \
260+ -e AWS_REGION=" us-west-2" \
261+ -e AWS_ACCESS_KEY_ID=" your-access-key" \
262+ -e AWS_SECRET_ACCESS_KEY=" your-secret-key" \
263+ ghcr.io/glassity/focus-mcp:latest
264+ ```
265+
266+ ** Using AWS profile (recommended for multiple profiles):**
267+
268+ ``` bash
269+ docker run -i --rm \
270+ -v " $HOME /.aws:/home/mcp/.aws:ro" \
271+ -e FOCUS_DATA_LOCATION=" s3://your-bucket/focus-exports" \
272+ -e AWS_REGION=" us-west-2" \
273+ -e AWS_PROFILE=" billing-reader" \
274+ ghcr.io/glassity/focus-mcp:latest
275+ ```
276+
277+ ### Using with Claude Desktop
278+
279+ Configure Claude Desktop to use the Docker image in ` claude_desktop_config.json ` :
280+
281+ ``` json
282+ {
283+ "mcpServers" : {
284+ "focus" : {
285+ "command" : " docker" ,
286+ "args" : [
287+ " run" ,
288+ " -i" ,
289+ " --rm" ,
290+ " -v" ,
291+ " /path/to/your/focus/data:/data:ro" ,
292+ " -e" ,
293+ " FOCUS_DATA_LOCATION=/data" ,
294+ " -e" ,
295+ " FOCUS_VERSION=1.0" ,
296+ " ghcr.io/glassity/focus-mcp:latest"
297+ ]
298+ }
299+ }
300+ }
301+ ```
302+
303+ ** For S3 data with environment variables:**
304+
305+ ``` json
306+ {
307+ "mcpServers" : {
308+ "focus" : {
309+ "command" : " docker" ,
310+ "args" : [
311+ " run" ,
312+ " -i" ,
313+ " --rm" ,
314+ " -e" , " FOCUS_DATA_LOCATION=s3://your-bucket/focus-exports" ,
315+ " -e" , " AWS_REGION=us-west-2" ,
316+ " -e" , " AWS_ACCESS_KEY_ID=your-access-key" ,
317+ " -e" , " AWS_SECRET_ACCESS_KEY=your-secret-key" ,
318+ " ghcr.io/glassity/focus-mcp:latest"
319+ ]
320+ }
321+ }
322+ }
323+ ```
324+
325+ ** For S3 data with AWS profile:**
326+
327+ ``` json
328+ {
329+ "mcpServers" : {
330+ "focus" : {
331+ "command" : " docker" ,
332+ "args" : [
333+ " run" ,
334+ " -i" ,
335+ " --rm" ,
336+ " -v" , " /Users/YOUR_USERNAME/.aws:/home/mcp/.aws:ro" ,
337+ " -e" , " FOCUS_DATA_LOCATION=s3://your-bucket/focus-exports" ,
338+ " -e" , " AWS_REGION=us-west-2" ,
339+ " -e" , " AWS_PROFILE=billing-reader" ,
340+ " ghcr.io/glassity/focus-mcp:latest"
341+ ]
342+ }
343+ }
344+ }
345+ ```
346+
347+ ### Building Your Own Image
348+
349+ ``` bash
350+ # Clone the repository
351+ git clone https://github.com/glassity/focus-mcp.git
352+ cd focus-mcp
353+
354+ # Build the image
355+ docker build -t focus-mcp:custom .
356+
357+ # Run your custom image
358+ docker run -i --rm \
359+ -v " /path/to/your/focus/data:/data:ro" \
360+ -e FOCUS_DATA_LOCATION=/data \
361+ focus-mcp:custom
362+ ```
363+
226364## Development
227365
228366``` bash
0 commit comments