igrid-sce-mcp-tool
igrid-sce-mcp-tool v4 — 읽기 / 쓰기 / 관리
기존 iGrid-Prometheus REST API를 위한 Node.js/JavaScript MCP 통합 레이어입니다. iGrid 백엔드와 기존 8개 도구 분할은 변경되지 않았습니다. 이 버전은 MCP 도구 수준에서 SAP BTP XSUAA 역할 기반 권한 부여를 추가합니다.
권한 부여 모델
이제 프로젝트는 3개의 XSUAA 범위, 3개의 역할 템플릿, 3개의 사전 정의된 역할 컬렉션을 정의합니다.
역할 컬렉션 | 역할 템플릿 | 범위 | 허용된 MCP 작업 |
|
|
| GET/읽기 도구만 |
|
|
| POST/쓰기 도구만 |
|
|
| 8개 도구 모두 |
권한 부여는 다운스트림 iGrid API 요청 전에 공통 MCP toolHandler 내부에서 확인됩니다. 필요한 범위가 없는 사용자는 Forbidden: MCP 도구 오류를 받습니다.
Related MCP server: agent-sudo-mcp
정확히 8개의 MCP 도구
Bearer 그룹 — src/tools/bearer-tools.js
igrid_list_domains→GET /api/hub/datasets→ 읽기/관리igrid_get_template→GET /api/hub/template/:domain→ 읽기/관리igrid_run_agent→POST /api/ai/run→ 쓰기/관리igrid_propose_action→POST /api/ai/action/propose→ 쓰기/관리igrid_decide_action→POST /api/ai/action/decide→ 쓰기/관리igrid_metrics→GET /api/ai/metrics→ 읽기/관리
x-api-key 그룹 — src/tools/api-key-tools.js
igrid_ingest_csv→POST /api/ingest/:domain→ 쓰기/관리igrid_export_csv→GET /api/export/:domain→ 읽기/관리
igrid_propose_action은 요청된 권한 부여 규칙이 실제 HTTP 작업을 기반으로 하고 이 도구가 POST를 사용하기 때문에 의도적으로 쓰기로 분류됩니다.
igrid_health MCP 도구는 노출되지 않습니다. /healthz는 애플리케이션 상태 엔드포인트로만 유지됩니다.
기존 다운스트림 iGrid 동작은 변경되지 않음
6개 도구는 계속 iGrid Bearer/서비스 세션을 사용합니다.
igrid_ingest_csv및igrid_export_csv는 계속 iGridx-api-key채널을 사용합니다.Destination 또는 Connectivity 서비스는 도입되지 않습니다.
자격 증명이나 비밀번호는 하드코딩되지 않습니다.
중요 파일
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환경
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=Bearer 도구의 경우 사전 발급된 IGRID_BEARER_TOKEN이 선호됩니다. 없는 경우 기존 토큰 관리자는 필요한 MFA 구성이 제공될 때 승인된 iGrid 로그인/MFA 계약을 사용할 수 있습니다.
빌드
npm install
npm run check
npm run security:check
npm test
npx mbt build -t mta_archivesBTP 배포
cf login
cf target -o <ORG> -s <SPACE>
cf deploy mta_archives/igrid-sce-mcp-tool_4.0.0.mtar -f배포 후 iGrid 비밀 설정:
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또는 승인된 서비스 로그인/MFA 흐름 사용 시:
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-toolXSUAA 역할 할당
배포는 xs-security.json에서 XSUAA 서비스 인스턴스 igrid-sce-mcp-tool-xsuaa를 생성/업데이트합니다.
배포 후 SAP BTP 서브어카운트에서:
보안 → 역할 컬렉션을 엽니다.
사전 정의된 컬렉션
iGrid-MCP-Read,iGrid-MCP-Write,iGrid-MCP-Admin이 존재하는지 확인합니다.읽기 전용 사용자에게
iGrid-MCP-Read를 할당합니다.쓰기 전용 사용자에게
iGrid-MCP-Write를 할당합니다.GET 및 POST MCP 도구가 모두 필요한 사용자에게만
iGrid-MCP-Admin을 할당합니다.MCP 클라이언트를 재인증하여 새 토큰에 할당된 범위가 포함되도록 합니다.
사용자가 읽기만 있는 경우 POST 도구는 MCP 계층에서 실패합니다. 사용자가 쓰기만 있는 경우 GET 도구는 실패합니다. 관리자는 8개 도구를 모두 호출할 수 있습니다.
OAuth / Claude 원격 MCP
배포된 엔드포인트 사용:
https://<BTP_ROUTE>/mcpOAuth 검색 메타데이터는 이제 XSUAA read, write, admin 범위를 광고합니다. 사용자별 역할 적용을 위해 일반적으로 인증 코드인 사용자 토큰을 생성하는 OAuth 흐름을 사용하여 사용자의 BTP 역할 컬렉션이 토큰에 표시되도록 합니다.
서비스 키는 여전히 XSUAA OAuth 클라이언트 자격 증명을 제공할 수 있지만 client_credentials 토큰은 기술 클라이언트 ID이며 사람 사용자의 역할 컬렉션을 상속받은 것으로 취급해서는 안 됩니다.
로컬 stdio
로컬 stdio에는 BTP 사용자 JWT가 없으므로 역할 동작은 MCP_LOCAL_ROLE로 시뮬레이션됩니다. 기본값은 이전 로컬 동작을 유지하기 위해 Admin입니다.
읽기 전용 로컬 테스트:
MCP_LOCAL_ROLE=Read npm run start:stdio쓰기 전용 로컬 테스트:
MCP_LOCAL_ROLE=Write npm run start:stdio전체 로컬 테스트:
MCP_LOCAL_ROLE=Admin npm run start:stdioClaude Desktop/Code 예시:
{
"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>"
}
}
}
}역할 승인 테스트
세 명의 사용자(또는 세 개의 사용자-역할 할당)를 사용하고 각 할당 후 새 토큰을 획득합니다.
읽기 사용자
예상 성공:
igrid_list_domains
igrid_get_template
igrid_metrics
igrid_export_csv예상 Forbidden::
igrid_run_agent
igrid_propose_action
igrid_decide_action
igrid_ingest_csv쓰기 사용자
예상 성공:
igrid_run_agent
igrid_propose_action
igrid_decide_action
igrid_ingest_csv예상 Forbidden::
igrid_list_domains
igrid_get_template
igrid_metrics
igrid_export_csv관리 사용자
8개 도구 모두 MCP 역할 검사를 통과해야 합니다. 다운스트림 iGrid 인증/권한 부여 및 요청 유효성 검사는 여전히 적용됩니다.
보안 참고 사항
권한 확인은 iGrid API 호출 전에 발생합니다.
XSUAA는 인바운드 MCP 권한을 제어합니다. iGrid는 다운스트림 자격 증명 및 비즈니스 권한 부여에 대해 권한을 유지합니다.
iGrid API 키, iGrid 비밀번호, Bearer 토큰, XSUAA 클라이언트 비밀 또는 서비스 키를 소스 제어에 절대 넣지 마십시오.
간결한 보안 모델은
README-SECURITY.md를 참조하십시오.
Maintenance
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
- Flicense-qualityAmaintenanceProvides a trust and governance layer for AI agents, enabling secure API access, credential vaulting, paid execution with human approval, and automatic call resume.81
- AlicenseAqualityAmaintenanceLocal zero-trust permission gateway for AI agents. Enforces policy-based tool authorization, human approvals, scoped permissions, and cryptographically verifiable audit logs.45Apache 2.0
- Alicense-qualityCmaintenanceEnables AI agents to discover and execute tools via a secure MCP server with JWT authentication, RBAC, rate limiting, and audit logging.1MIT
- Alicense-qualityBmaintenanceProvides a secure MCP gateway for AI agents to access APIs without exposing raw credentials, with scoped access, audit logging, and OAuth support.MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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