Run:AI MCP Server
Provides tools to control NVIDIA Run:AI infrastructure, including searching and calling Run:AI REST APIs, resolving entity names to IDs, and executing CLI commands for workload management, diagnostics, port-forwarding, and logs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Run:AI MCP Servershow me the status of my training workloads"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Run:AI MCP Server
NVIDIA Run:AI 인프라를 LLM 에이전트가 제어하는 MCP(Model Context Protocol) 서버.
426개 Run:AI API를 4개 메타 도구 + BM25 검색 엔진으로 동적 검색·실행합니다.
도구
도구 | 설명 |
| OpenAPI 스펙 BM25 검색 — 엔드포인트, 메서드, 스키마 반환 |
| REST API 호출 (인증 자동, DELETE 시 confirm 필요) |
| 엔티티 이름 → ID 변환 (cluster, project, workload 등) |
| CLI 전용 작업 (port-forward, exec, logs, attach, diagnostics) |
Related MCP server: Workspace MCP
워크플로우
search_runai_api_spec("create training workload")
→ resolve_runai_names([{ type: "project", name: "my-project" }])
→ call_runai_api({ method: "POST", path: "/api/v1/workloads/trainings", ... })설치
npm install
npm run build인증
Run:AI UI에서 Application (서비스 계정) 생성 → clientID + clientSecret 발급.
서버가 자동으로 POST /api/v1/token (client_credentials grant)으로 JWT를 발급·갱신합니다.
cp .env.example .env
# RUNAI_CLIENT_ID, RUNAI_CLIENT_SECRET 설정정적 토큰(RUNAI_API_TOKEN)도 지원하나, JWT는 만료되므로 서비스 계정 방식을 권장합니다.
Claude Code MCP 설정
~/.claude/mcp.json:
{
"mcpServers": {
"runai": {
"command": "node",
"args": ["/path/to/runai-mcp-server/dist/index.js"],
"env": {
"RUNAI_API_BASE_URL": "https://your-instance.run.ai",
"RUNAI_CLIENT_ID": "your-client-id",
"RUNAI_CLIENT_SECRET": "your-client-secret"
}
}
}
}개발
npm run dev # ts-node 개발 실행
npm test # 전체 테스트
npm run build # 프로덕션 빌드아키텍처
Registry Builder: OpenAPI 3.0.3 스펙을 파싱하여 413개 OperationDescriptor 생성, $ref 자동 해결
BM25 Search: IDF 기반 키워드 검색 + 동의어 확장 (job→workload, remove→delete 등)
Adaptive Schema: 검색 결과 1-2개면 requestBody 스키마 포함, 3개+면 summary만 (토큰 절약)
Safety: DELETE는 confirm_destructive 필수, CLI는 화이트리스트 + 쉘 인젝션 방어
라이선스
MIT
Available Tools
4 toolscall_runai_apiCall Run:AI APIA
Run:AI REST API를 호출합니다. search_runai_api_spec으로 엔드포인트를 먼저 확인하세요. Bearer 토큰 인증은 자동. DELETE 등 위험 작업은 confirm_destructive: true 필요.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | API path, e.g. /api/v1/workloads/trainings | |
| method | Yes | HTTP method | |
| payload | No | JSON request body | |
| pathParams | No | Path template parameters ({var} substitution) | |
| queryParams | No | URL query parameters | |
| confirm_destructive | No | Required for DELETE operations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description must carry the behavioral disclosure burden. It adds useful context: 'Bearer 토큰 인증은 자동' (Bearer token authentication is automatic) and 'DELETE 등 위험 작업은 confirm_destructive: true 필요' (dangerous operations like DELETE require confirm_destructive: true). However, it does not disclose response format, error handling, or other side effects, which are relevant for a generic API caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, front-loaded with purpose, followed by prerequisite and safety conditions. Every sentence earns its place, with no redundant or extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a generic API wrapper, the description is largely complete: it directs users to look up the endpoint spec first, explains authentication, and covers destructive safeguards. The only notable omission is explicit mention of the response format, but that is endpoint-dependent and accessible via search_runai_api_spec, so the description adequately scopes the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no substantial parameter semantics beyond what the schema already provides; it merely reiterates the confirm_destructive requirement for DELETE operations, which is already documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Run:AI REST API를 호출합니다' (Calls the Run:AI REST API), specifying the verb and resource. It also differentiates from siblings by instructing to check the endpoint with search_runai_api_spec first, positioning this tool as the actual API caller.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage guidance: 'search_runai_api_spec으로 엔드포인트를 먼저 확인하세요' (check the endpoint first with search_runai_api_spec). It also includes relevant conditions like automatic Bearer token authentication and the need for confirm_destructive for DELETE operations. However, it does not explicitly state when not to use alternatives like execute_runai_cli.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_runai_cliExecute Run:AI CLIA
Run:AI CLI 전용 로컬 세션 작업 실행. API 대체 불가능한 작업만: port-forward (로컬 포트 → 워크로드 pod 터널링), exec (컨테이너 내 명령 실행: nvidia-smi, bash 등), attach (실행 중 프로세스에 TTY 연결), logs (로그 조회/스트리밍 --follow), diagnostics (클러스터 진단). 워크로드 생성/삭제/조회 등은 search_runai_api_spec + call_runai_api를 사용하세요.
| Name | Required | Description | Default |
|---|---|---|---|
| command_args | Yes | runai CLI args (without 'runai' prefix) | |
| timeout_seconds | No | Timeout in seconds. Use 0 for port-forward. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It adds useful context like local session, port-forward tunneling, streaming logs, and --follow, but omits safety considerations, permissions, return value format, and error behavior for an execution tool that can run arbitrary commands inside containers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences: purpose comes first, followed by supported subcommands and an explicit pointer to sibling tools for other operations. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is strong on purpose and usage, but the tool is a CLI execution tool with no output schema, and the description does not mention return output, error handling, or exit behavior. That gap matters for invocation correctness. However, the supported-command scoping and API alternative guidance make it minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters, so baseline is 3. The description adds value by narrowing command_args to the allowed subcommands and giving concrete examples (nvidia-smi, bash, --follow). timeout_seconds is clarified in the schema with 'Use 0 for port-forward', but the description itself doesn't add timeout guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it executes Run:AI CLI local session operations and enumerates specific subcommands (port-forward, exec, attach, logs, diagnostics). It also explicitly distinguishes from siblings like search_runai_api_spec and call_runai_api by limiting scope to API-irreplaceable tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'API 대체 불가능한 작업만' (only tasks that cannot be replaced by API) and lists exactly when to use each subcommand. It also says to use search_runai_api_spec + call_runai_api for workload create/delete/query, naming alternatives clearly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_runai_namesResolve Run:AI NamesA
Run:AI 엔티티 이름을 ID로 변환합니다. API는 ID를 요구하지만 사용자는 이름만 아는 경우가 대부분입니다. 지원: cluster, project, department, nodepool, workload, user, service-account, access-key. 여러 엔티티를 한번에 resolve 가능.
| Name | Required | Description | Default |
|---|---|---|---|
| resolve | Yes | Array of entities to resolve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses supported types and batch resolution capability, but doesn't mention error behavior, case sensitivity, or whether it's a read-only operation. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core purpose. The second sentence efficiently lists supported types and batch capability. Zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with a well-documented schema, the description covers the main operation, supported types, and batch capability. Since there's no output schema, it doesn't detail return format, but the phrase 'ID로 변환' implies the output. It's nearly complete, though minimal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema is fully self-descriptive (100% coverage) with the 'resolve' array and entity type enum. The description adds context that multiple entities can be resolved at once, but this is already implied by the array type. No additional parameter semantics beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts Run:AI entity names to IDs, with a specific verb ('변환합니다') and resource ('Run:AI 엔티티 이름'). It also lists supported entity types, distinguishing it from the generic sibling tools like call_runai_api.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the context: 'API는 ID를 요구하지만 사용자는 이름만 아는 경우가 대부분입니다' (the API requires IDs but users usually only know names), implying when to use the tool. However, it doesn't explicitly name alternatives or exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_runai_api_specSearch Run:AI API SpecA
NVIDIA Run:AI OpenAPI 스펙을 검색하여 특정 작업에 필요한 API 엔드포인트, HTTP 메서드, 요청 스키마를 찾습니다. Run:AI의 모든 API를 커버합니다: 워크로드(workloads): training, inference, workspace, distributed(MPI/PyTorch/JAX/TensorFlow/XGBoost) 생성/조회/삭제/중지(suspend)/재개(resume), pod 목록, 이벤트, 메트릭 | 클러스터(clusters): 생성/조회/삭제, GPU 메트릭, 설치 정보, 스토리지 클래스 | 노드(nodes)/노드풀(node-pools): GPU/CPU 리소스 현황, 텔레메트리, 메트릭 | 조직: 프로젝트(projects), 부서(departments), 리소스 할당(quota), 우선순위, 리포트 | 인증/권한(RBAC): 역할(roles), 접근 규칙(access-rules), 서비스 계정, 액세스 키, 퍼미션 | 에셋(assets): 컴퓨트, 크레덴셜(docker-registry/NGC/S3/git/password/generic-secret), 데이터소스(config-map/host-path/NFS/PVC), 환경(environment), 레지스트리 | 정책(policies): 워크로드 타입별 리소스 제한/기본값 | 템플릿(templates): training/inference/workspace/distributed 재사용 템플릿 | 알림: Slack, 이메일 채널/구독 | 데이터볼륨(datavolumes), AI 애플리케이션 | 사용자, 감사 로그(audit), 테넌트 설정, 보안 설정, IDP. Deprecated 엔드포인트는 기본적으로 숨겨지며, 대체 API를 안내합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 자연어 검색. 예: 'submit a training workload with GPU' | |
| include_deprecated | No | Deprecated 엔드포인트 포함 여부 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It discloses meaningful behavior such as deprecated endpoints being hidden by default and alternative APIs being suggested. However, it does not explain search mechanics, result format, or potential edge cases (e.g., ambiguous queries or result limits), leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then follows a well-organized, pipe-delimited list of API categories. While long, the enumeration is directly relevant for a tool that searches a broad API surface, and it is structured for readability. It is not excessively verbose for its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of Run:AI's API landscape and the absence of an output schema, the description provides a thorough overview of what the tool can find, including many categories and the deprecated-endpoint behavior. It does not specify return formatting or detailed search options, but it is sufficient for an agent to understand the tool's capabilities and likely output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the scope of what can be queried via the 'query' parameter and by explicitly relating the 'include_deprecated' parameter to the default behavior of hiding deprecated endpoints and suggesting alternatives. This goes beyond the simple schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('검색하여 찾습니다') and resource ('OpenAPI 스펙'), and clearly states it finds API endpoints, HTTP methods, and request schemas for a given task. It also distinguishes itself from siblings that execute API calls or resolve names by emphasizing it is a search/spec-lookup tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is used to locate the necessary API information before making calls, and it outlines the full scope of what can be searched. It does not explicitly mention when not to use it or name alternatives, but the intent is clear and there are no misleading exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v0.1.0- First observed
call_runai_api - First observed
execute_runai_cli - First observed
resolve_runai_names - First observed
search_runai_api_spec
TDQS
Each tool has a distinct responsibility: searching the API spec, executing API calls, resolving names to IDs, and running CLI-only operations. There is no overlap; dependencies like 'search before call' are explicitly documented.
All tool names follow a consistent verb_runai_noun pattern with snake_case: search_runai_api_spec, call_runai_api, resolve_runai_names, execute_runai_cli. The naming is uniform and predictable.
With only 4 tools, the server covers an enormous API surface by using a meta-design (search + call + resolve + CLI). Each tool is essential and well-scoped, avoiding redundancy.
The toolset provides comprehensive coverage: search_runai_api_spec exposes every API endpoint, call_runai_api executes them, resolve_runai_names bridges user-friendly names to API IDs, and execute_runai_cli handles operations impossible via API (port-forward, exec, logs). No obvious gaps.
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 Connectors
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
471Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Protocol-native energy infrastructure orchestration for AI data centers. Provides 46 MCP tools across 8 grid protocols (IEC-61850, DNP3, Modbus, OCPP, OpenADR, IEEE 2030.5, IEC 60870-5-104, ICCP) with 5 core API primitives: connect, dispatch, settle, comply, and intel. Enables AI agents to programmatically interact with substations, grid interfaces, and energy assets for real-time workload-grid coordination.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to access a unified catalog of tools from various APIs (OpenAPI, GraphQL, MCP, Google Discovery) through the MCP protocol.MIT
- FlicenseNot gradedqualityCmaintenanceEnables LLM agents to list Google Drive files, read/write Google Sheets, and query external REST APIs through MCP tools.-
- AlicenseAqualityDmaintenanceExposes Azure AI Foundry agents, workflows, and AI Search vector-database capabilities as MCP tools, enabling natural language interaction with agents, semantic search, and index management.102MIT
- AlicenseBqualityAmaintenanceEnables AI agents to consume 50+ NVIDIA NIM models including LLMs, image generation, and vision through 10 MCP tools with rich metadata and advanced filtering.11841MIT
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/sejongjeong/runai-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server