Siemens KPI Forecast MCP Server¶
Overview¶
- Connect Claude Desktop, VS Code Copilot, Cursor, or any MCP-compatible client to SKF forecasting models
- Supports both local (stdio) and remote server configurations
- Supported models: Chronos, LagLlama, GTT
- Authenticated via OAuth 2.0 (Microsoft Entra ID) and API key
Prerequisites¶
- Claude Desktop installed
- Valid credentials:
CLIENT_ID,CLIENT_APP_SECRET,API_KEY - For local server: complete the Installation Guide first
Step 1: Prepare Credentials¶
API_KEY=your-siemens-api-key
CLIENT_ID=your-azure-client-id
CLIENT_APP_SECRET=your-azure-client-secret
SUBSCRIPTION=your-azure-subscription-id
RESOURCE_GROUP=your-resource-group-name
WS_NAME=your-workspace-name
API_KEY=your-siemens-api-key
CLIENT_ID=your-azure-client-id
CLIENT_APP_SECRET=your-azure-client-secret
TENANT_ID=your-tenant-id
BACKEND_APP_ID=your-backend-app-id
The remote server also requires a Bearer token. Generate one with:
# pip install azure-identity
from azure.identity import ClientSecretCredential
import os
credential = ClientSecretCredential(
tenant_id=os.getenv("TENANT_ID"),
client_id=os.getenv("CLIENT_ID"),
client_secret=os.getenv("CLIENT_APP_SECRET")
)
token = credential.get_token(f"{os.getenv('BACKEND_APP_ID')}/.default").token
print(token)
Step 2: Configure Claude Desktop¶
Edit the Claude Desktop configuration file:
| OS | Path |
|---|---|
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Tip
If the file is not found, open Claude Desktop → top-left menu → Developer > Open App Config File.
Add your servers to mcpServers:
{
"mcpServers": {
"skf-chronos-local": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\YourUsername\\skf-mcp-server\\webapp",
"run",
"-m",
"chronos.server"
],
"env": {
"CLIENT_ID": "your-azure-client-id",
"CLIENT_APP_SECRET": "your-azure-client-secret",
"API_KEY": "your-siemens-api-key",
"SUBSCRIPTION": "your-azure-subscription-id",
"RESOURCE_GROUP": "your-resource-group-name",
"WS_NAME": "your-workspace-name"
}
},
"skf-gtt-local": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\YourUsername\\skf-mcp-server\\webapp",
"run",
"-m",
"gtt.server"
],
"env": {
"CLIENT_ID": "your-azure-client-id",
"CLIENT_APP_SECRET": "your-azure-client-secret",
"API_KEY": "your-siemens-api-key",
"SUBSCRIPTION": "your-azure-subscription-id",
"RESOURCE_GROUP": "your-resource-group-name",
"WS_NAME": "your-workspace-name"
}
},
"skf-gtt-remote": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://skf-ts-api-endpoint-gtt-prd-mcp-test.azurewebsites.net/gtt/mcp",
"--header",
"API_KEY: ${API_KEY}",
"--header",
"Authorization: Bearer ${TOKEN}"
],
"env": {
"API_KEY": "your-api-key",
"TOKEN": "your-bearer-token"
}
}
}
}
Step 3: Restart Claude Desktop¶
- Close Claude Desktop completely
- Reopen Claude Desktop
- Look for the Tools indicator in the bottom-right of the chat input: SKF tools should appear
Tip
Alternatively: top-left menu → Developer > Reload MCP Configuration
Step 4: Test the Connection¶
Try a forecast request in Claude:
"Given the following small dataset could you forecast for me the closing price for the next 3 days:
Date Open High Low Close Volume KEY 4-1-2015 40.6 40.76 40.31 40.72 36865322 1 4-2-2015 40.66 40.74 40.12 40.29 37487476 1 4-6-2015 40.34 41.78 40.18 41.55 39223692 1 4-7-2015 41.61 41.91 41.31 41.53 28809375 1 4-8-2015 41.48 41.69 41.04 41.42 24753438 1 4-9-2015 41.25 41.62 41.25 41.48 25723861 1 4-10-2015 41.63 41.95 41.41 41.72 28022002 1 4-13-2015 41.4 42.06 41.39 41.76 30276692 1 4-14-2015 41.8 42.03 41.39 41.65 24244382 1 4-15-2015 41.76 42.46 41.68 42.26 27343581 1 4-16-2015 41.95 42.34 41.82 42.16 22509652 1 4-17-2015 41.67 41.74 41.16 41.62 42387608 1 4-20-2015 41.73 43.17 41.68 42.91 46057733 1 4-21-2015 43 43.15 42.53 42.64 26013844 1 4-22-2015 42.67 43.13 42.55 42.99 25064273 1 4-23-2015 42.85 43.61 42.8 43.34 46309530 1 4-24-2015 45.66 48.14 45.65 47.87 130933665 1 4-27-2015 47.23 48.13 47.22 48.03 59248172 1 4-28-2015 47.78 49.21 47.7 49.16 60730778 1 "
Note
For other MCP clients (VS Code, Cursor, etc.), the setup is similar. See MCP Example Clients for client-specific instructions.