diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e4736dd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/build/project-config +# syntax=docker/dockerfile:1 +FROM node:lts-alpine +WORKDIR /app + +# Copy package files and install production dependencies +COPY src/mcp/package.json src/mcp/package-lock.json ./ +RUN npm install --production --ignore-scripts + +# Copy built server files +COPY src/mcp/build ./build + +# Ensure executable permissions +RUN chmod +x build/main.js + +# Default command +ENTRYPOINT ["node", "build/main.js"] diff --git a/README.md b/README.md index a39781f..802cec6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Lokka +[![smithery badge](https://smithery.io/badge/@merill/lokka)](https://smithery.io/protocol/@merill/lokka) [![npm version](https://badge.fury.io/js/@merill%2Flokka.svg)](https://badge.fury.io/js/@merill%2Flokka) Lokka is a model-context-protocol server for the Microsoft Graph and Azure RM APIs that allows you to query and managing your Azure and Microsoft 365 tenants with AI. diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..4057d78 --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,29 @@ +# Smithery configuration file: https://smithery.ai/docs/build/project-config + +startCommand: + type: stdio + commandFunction: + # A JS function that produces the CLI command based on the given config to start the MCP on stdio. + |- + (config) => ({command: 'node', args: ['build/main.js'], env: {TENANT_ID: config.tenantId, CLIENT_ID: config.clientId, CLIENT_SECRET: config.clientSecret}}) + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + required: + - tenantId + - clientId + - clientSecret + properties: + tenantId: + type: string + description: The ID of the Microsoft Entra tenant. + clientId: + type: string + description: The ID of the application registered in Microsoft Entra. + clientSecret: + type: string + description: The client secret of the application registered in Microsoft Entra. + exampleConfig: + tenantId: 00000000-0000-0000-0000-000000000000 + clientId: 11111111-1111-1111-1111-111111111111 + clientSecret: your-client-secret