diff --git a/Dockerfile b/Dockerfile
index cd1ffbb..5a7fbab 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -18,6 +18,12 @@ RUN uv sync --frozen --no-dev
 # Create non-root user for security
 RUN useradd --create-home --shell /bin/bash app \
     && chown -R app:app /app
+
+# Give read and write access to the store_creds volume
+RUN mkdir -p /app/store_creds \
+    && chown -R app:app /app/store_creds \
+    && chmod 755 /app/store_creds
+
 USER app
 
 # Expose port (use default of 8000 if PORT not set)
diff --git a/auth/google_remote_auth_provider.py b/auth/google_remote_auth_provider.py
index 3731474..e0b6b71 100644
--- a/auth/google_remote_auth_provider.py
+++ b/auth/google_remote_auth_provider.py
@@ -86,11 +86,14 @@ class GoogleRemoteAuthProvider(RemoteAuthProvider):
         # The /mcp/ resource URL is handled in the protected resource metadata endpoint
         super().__init__(
             token_verifier=token_verifier,
-            authorization_servers=[AnyHttpUrl(f"{self.base_url}:{self.port}")],
-            resource_server_url=f"{self.base_url}:{self.port}",
+            authorization_servers=[AnyHttpUrl(f"{self.base_url}")],
+            resource_server_url=f"{self.base_url}",
         )
+        
 
-        logger.debug("GoogleRemoteAuthProvider")
+        logger.debug(
+            f"Initialized GoogleRemoteAuthProvider with base_url={self.base_url}, port={self.port}"
+        )
 
     def get_routes(self) -> List[Route]:
         """
diff --git a/auth/oauth_common_handlers.py b/auth/oauth_common_handlers.py
index f478451..0e3d594 100644
--- a/auth/oauth_common_handlers.py
+++ b/auth/oauth_common_handlers.py
@@ -241,7 +241,7 @@ async def handle_oauth_protected_resource(request: Request):
 
     # For streamable-http transport, the MCP server runs at /mcp
     # This is the actual resource being protected
-    resource_url = f"{base_url}/mcp"
+    resource_url = f"{base_url}/mcp/"
 
     # Build metadata response per RFC 9449
     metadata = {
diff --git a/auth/oauth_config.py b/auth/oauth_config.py
index 5148e64..a40b471 100644
--- a/auth/oauth_config.py
+++ b/auth/oauth_config.py
@@ -25,7 +25,7 @@ class OAuthConfig:
         # Base server configuration
         self.base_uri = os.getenv("WORKSPACE_MCP_BASE_URI", "http://localhost")
         self.port = int(os.getenv("PORT", os.getenv("WORKSPACE_MCP_PORT", "8000")))
-        self.base_url = f"{self.base_uri}:{self.port}"
+        self.base_url = f"{self.base_uri}"
 
         # OAuth client configuration
         self.client_id = os.getenv("GOOGLE_OAUTH_CLIENT_ID")
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..425c45a
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,16 @@
+services:
+  gws_mcp:
+    build: .
+    container_name: gws_mcp
+    ports:
+      - "8000:8000"
+    environment:
+      - GOOGLE_MCP_CREDENTIALS_DIR=/app/store_creds
+    volumes:
+      - ./client_secret.json:/app/client_secret.json:ro
+      - store_creds:/app/store_creds:rw
+    env_file:
+      - .env
+
+volumes:
+  store_creds:
\ No newline at end of file
