Skip to main content
Glama
tkrishnav31

igrid-sce-mcp-tool

by tkrishnav31

igrid-sce-mcp-tool v4 — Read / Write / Admin

Node.js/JavaScript MCP-Integrationsschicht für die bestehenden iGrid-Prometheus REST-APIs. Das iGrid-Backend und die bestehende Aufteilung in acht Tools bleiben unverändert; diese Version fügt eine rollenbasierte Autorisierung über SAP BTP XSUAA auf MCP-Tool-Ebene hinzu.

Autorisierungsmodell

Das Projekt definiert nun drei XSUAA-Bereiche, drei Rollenvorlagen und drei vordefinierte Rollenkollektionen:

Rollenkollektion

Rollenvorlage

Bereiche

Zulässige MCP-Operationen

iGrid-MCP-Read

Read

$XSAPPNAME.read

Nur GET/Lese-Tools

iGrid-MCP-Write

Write

$XSAPPNAME.write

Nur POST/Schreib-Tools

iGrid-MCP-Admin

Admin

$XSAPPNAME.read, $XSAPPNAME.write, $XSAPPNAME.admin

Alle acht Tools

Die Autorisierung wird im gemeinsamen MCP toolHandler vor jeder nachgelagerten iGrid-API-Anfrage geprüft. Ein Benutzer ohne den erforderlichen Bereich erhält einen Forbidden: MCP-Tool-Fehler.

Related MCP server: agent-sudo-mcp

Genau 8 MCP-Tools

Bearer-Gruppe — src/tools/bearer-tools.js

  1. igrid_list_domainsGET /api/hub/datasetsRead/Admin

  2. igrid_get_templateGET /api/hub/template/:domainRead/Admin

  3. igrid_run_agentPOST /api/ai/runWrite/Admin

  4. igrid_propose_actionPOST /api/ai/action/proposeWrite/Admin

  5. igrid_decide_actionPOST /api/ai/action/decideWrite/Admin

  6. igrid_metricsGET /api/ai/metricsRead/Admin

x-api-key-Gruppe — src/tools/api-key-tools.js

  1. igrid_ingest_csvPOST /api/ingest/:domainWrite/Admin

  2. igrid_export_csvGET /api/export/:domainRead/Admin

igrid_propose_action ist absichtlich als Write klassifiziert, da die angeforderte Autorisierungsregel auf der tatsächlichen HTTP-Operation basiert und dieses Tool POST verwendet.

Es wird kein MCP-Tool igrid_health bereitgestellt. /healthz bleibt nur der Anwendungs-Health-Endpunkt.

Bestehendes nachgelagertes iGrid-Verhalten bleibt unverändert

  • Sechs Tools verwenden weiterhin die iGrid-Bearer-/Service-Sitzung.

  • igrid_ingest_csv und igrid_export_csv verwenden weiterhin den iGrid x-api-key-Kanal.

  • Es wird kein Destination- oder Connectivity-Service eingeführt.

  • Es werden keine Anmeldeinformationen oder Geheimnisse hartcodiert.

Wichtige Dateien

xs-security.json                 XSUAA scopes, role templates, role collections
src/auth/xsuaa.js               XSUAA authentication + OAuth metadata
src/auth/authorization.js       Read/Write/Admin authorization checks
src/context/auth-context.js     Per-request auth context propagation
src/tools/response.js           Common MCP tool-level enforcement
src/tools/bearer-tools.js       6 Bearer tools and permission mapping
src/tools/api-key-tools.js      2 x-api-key tools and permission mapping

Umgebung

IGRID_BASE_URL=https://igrid-prometheus.azurewebsites.net
IGRID_API_KEY=<IGRID_API_KEY>
IGRID_BEARER_TOKEN=<optional pre-issued iGrid Bearer>
IGRID_SERVICE_EMAIL=<optional approved iGrid service email>
IGRID_SERVICE_PASSWORD=<optional approved iGrid service password>
IGRID_MFA_CODE=<optional MFA code>
IGRID_MFA_BODY_JSON=<approved MFA JSON body using {{code}}>
IGRID_REQUEST_TIMEOUT_MS=30000

MCP_TRANSPORT=http
MCP_HOST=0.0.0.0
MCP_PORT=8080
MCP_PATH=/mcp

# Local stdio / local HTTP test authorization only.
# Ignored for a hosted request authenticated through XSUAA.
MCP_LOCAL_ROLE=Admin
MCP_HTTP_AUTH_TOKEN=

Für Bearer-Tools wird ein vorab ausgestelltes IGRID_BEARER_TOKEN bevorzugt. Fehlt dieses, kann der vorhandene Token-Manager den genehmigten iGrid-Login/MFA-Vertrag verwenden, wenn die erforderliche MFA-Konfiguration bereitgestellt wird.

Build

npm install
npm run check
npm run security:check
npm test
npx mbt build -t mta_archives

BTP-Bereitstellung

cf login
cf target -o <ORG> -s <SPACE>
cf deploy mta_archives/igrid-sce-mcp-tool_4.0.0.mtar -f

iGrid-Geheimnisse nach der Bereitstellung festlegen:

cf set-env igrid-sce-mcp-tool IGRID_API_KEY '<IGRID_API_KEY>'
cf set-env igrid-sce-mcp-tool IGRID_BEARER_TOKEN '<IGRID_BEARER_TOKEN>'
cf restart igrid-sce-mcp-tool

Oder bei Verwendung des genehmigten Service-Login/MFA-Ablaufs:

cf set-env igrid-sce-mcp-tool IGRID_SERVICE_EMAIL '<SERVICE_EMAIL>'
cf set-env igrid-sce-mcp-tool IGRID_SERVICE_PASSWORD '<SERVICE_PASSWORD>'
cf set-env igrid-sce-mcp-tool IGRID_MFA_BODY_JSON '<APPROVED_JSON_WITH_{{code}}>'
cf restart igrid-sce-mcp-tool

XSUAA-Rollenzuweisung

Die Bereitstellung erstellt/aktualisiert die XSUAA-Serviceinstanz igrid-sce-mcp-tool-xsuaa aus xs-security.json.

Nach der Bereitstellung im SAP-BTP-Subaccount:

  1. Öffnen Sie Security → Role Collections.

  2. Bestätigen Sie, dass die vordefinierten Kollektionen iGrid-MCP-Read, iGrid-MCP-Write und iGrid-MCP-Admin vorhanden sind.

  3. Weisen Sie iGrid-MCP-Read schreibgeschützten Benutzern zu.

  4. Weisen Sie iGrid-MCP-Write nur schreibenden Benutzern zu.

  5. Weisen Sie iGrid-MCP-Admin nur Benutzern zu, die sowohl GET- als auch POST-MCP-Tools benötigen.

  6. Authentifizieren Sie den MCP-Client neu, damit sein neues Token die zugewiesenen Bereiche enthält.

Wenn der Benutzer nur Read hat, schlagen POST-Tools auf der MCP-Ebene fehl. Wenn der Benutzer nur Write hat, schlagen GET-Tools fehl. Admin kann alle acht Tools aufrufen.

OAuth / Claude Remote MCP

Verwenden Sie den bereitgestellten Endpunkt:

https://<BTP_ROUTE>/mcp

Die OAuth-Discovery-Metadaten werben nun für die XSUAA-Bereiche read, write und admin. Für die benutzerspezifische Rollendurchsetzung verwenden Sie einen OAuth-Ablauf, der ein Benutzertoken erzeugt, normalerweise Autorisierungscode, damit die BTP-Rollenkollektionen des Benutzers im Token repräsentiert sind.

Ein Service-Key kann weiterhin XSUAA-OAuth-Client-Anmeldeinformationen bereitstellen, aber ein client_credentials-Token ist eine technische Client-Identität und sollte nicht so behandelt werden, als hätte es die Rollenkollektion eines menschlichen Benutzers geerbt.

Lokales stdio

Lokales stdio hat kein BTP-Benutzer-JWT, daher wird das Rollenverhalten mit MCP_LOCAL_ROLE simuliert. Standard ist Admin, um das vorherige lokale Verhalten beizubehalten.

Lokaler Test mit Nur-Lesen:

MCP_LOCAL_ROLE=Read npm run start:stdio

Lokaler Test mit Nur-Schreiben:

MCP_LOCAL_ROLE=Write npm run start:stdio

Vollständiger lokaler Test:

MCP_LOCAL_ROLE=Admin npm run start:stdio

Claude Desktop/Code-Beispiel:

{
  "mcpServers": {
    "igrid-sce-mcp-tool": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/igrid-sce-mcp-tool/src/server.js"],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "MCP_LOCAL_ROLE": "Read",
        "IGRID_BASE_URL": "https://igrid-prometheus.azurewebsites.net",
        "IGRID_API_KEY": "<IGRID_API_KEY>",
        "IGRID_BEARER_TOKEN": "<IGRID_BEARER_TOKEN>"
      }
    }
  }
}

Rollen-Abnahmetest

Verwenden Sie drei Benutzer (oder drei Benutzer-Rollenzuweisungen) und holen Sie nach jeder Zuweisung ein neues Token ein.

Read-Benutzer

Erwarteter Erfolg:

igrid_list_domains
igrid_get_template
igrid_metrics
igrid_export_csv

Erwartet Forbidden::

igrid_run_agent
igrid_propose_action
igrid_decide_action
igrid_ingest_csv

Write-Benutzer

Erwarteter Erfolg:

igrid_run_agent
igrid_propose_action
igrid_decide_action
igrid_ingest_csv

Erwartet Forbidden::

igrid_list_domains
igrid_get_template
igrid_metrics
igrid_export_csv

Admin-Benutzer

Alle acht Tools sollten die MCP-Rollenprüfung bestehen. Die nachgelagerte iGrid-Authentifizierung/-Autorisierung und Anfragevalidierung gelten weiterhin.

Sicherheitshinweise

  • Die Berechtigungsprüfung erfolgt vor dem iGrid-API-Aufruf.

  • XSUAA steuert eingehende MCP-Berechtigungen; iGrid bleibt maßgeblich für nachgelagerte Anmeldeinformationen und geschäftliche Autorisierung.

  • Legen Sie niemals den iGrid-API-Schlüssel, das iGrid-Passwort, das Bearer-Token, das XSUAA-Client-Geheimnis oder den Service-Key in die Quellcodeverwaltung.

  • Siehe README-SECURITY.md für das prägnante Sicherheitsmodell.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    A
    maintenance
    Provides a trust and governance layer for AI agents, enabling secure API access, credential vaulting, paid execution with human approval, and automatic call resume.
    8
    1
  • A
    license
    A
    quality
    A
    maintenance
    Local zero-trust permission gateway for AI agents. Enforces policy-based tool authorization, human approvals, scoped permissions, and cryptographically verifiable audit logs.
    4
    5
    Apache 2.0
  • A
    license
    -
    quality
    B
    maintenance
    Provides a secure MCP gateway for AI agents to access APIs without exposing raw credentials, with scoped access, audit logging, and OAuth support.
    MIT

View all related MCP servers

Related MCP Connectors

  • Runtime permission, approval, and audit layer for AI agent tool execution.

  • Single entry point for the GOSCE portfolio: routes orchestrators to verified agents by capability, w

  • Build, validate, and deploy multi-agent AI solutions from any AI environment.

View all MCP Connectors

Latest Blog Posts

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/tkrishnav31/igrid_aits--mcp_tool'

If you have feedback or need assistance with the MCP directory API, please join our Discord server