# BMTC MCP Server API Dockerfile
# Optimized multi-stage build for the API server
# Build stage
FROM node:16-alpine AS build
WORKDIR /app
# Copy only package files first to leverage Docker caching
COPY package*.json ./
# Install dependencies
RUN npm ci --only=production
# Copy the rest of the application
COPY . .
# Production stage
FROM node:16-alpine AS production
WORKDIR /app
# Create a non-root user to run the application
RUN addgroup -g 1001 -S nodejs && \
adduser -S nodejs -u 1001 -G nodejs
# Copy node modules and app files from build stage
COPY --from=build --chown=nodejs:nodejs /app/node_modules /app/node_modules
COPY --from=build --chown=nodejs:nodejs /app/src /app/src
COPY --from=build --chown=nodejs:nodejs /app/package*.json /app/
# Create necessary directories with proper permissions
RUN mkdir -p /app/data/raw /app/data/processed /app/data/gtfs /app/logs && \
chown -R nodejs:nodejs /app/data /app/logs
# Set environment variables
ENV NODE_ENV=production
ENV PORT=3000
# Expose the port
EXPOSE 3000
# Switch to non-root user
USER nodejs
# Command to run the application
CMD ["node", "src/server.js"]
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ajeetraina/bengaluru-bmtc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server