Atlas / MCP servers / sionic-ai / Storm

StormSAFE

mcp/sionic-ai/storm
Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
2 1r · 1w · 0d
Transport
stdio
License
—
Stars
40
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Korean (한국어)

Storm MCP(Model Context Protocol) Server

Storm MCP(Model Context Protocol) 서버는 LLM 애플리케이션과 RAG 데이터 소스 및 도구들 간의 원활한 통합을 가능하게 하는 개방형 프로토콜입니다. Anthropic의 Model Context Protocol을 구현하여 Claude Desktop에서 Storm Platform을 바로 이용합니다.

Sionic AI 의 Storm Platform 를 통합해서 사용하여 나만의 강력한 임베딩 모델과 벡터DB 제품군을 연결하여 사용할 수 있습니다. https://sionicstorm.ai 에서 에이전트 단위로 가입하여서 API Token을 얻어서 RAG 솔루션을 바로 만드실 수 있습니다.

사용 예시

API Key는 scripts/run.sh 에 존재하는 export STORM_API_KEY='' 에 입력하세요.

주요 기능

  • 컨텍스트 공유: LLM과 데이터 소스 간의 상호작용을 위한 표준 프로토콜을 제공합니다.
  • 도구 시스템: 도구를 정의하고 호출하는 표준화된 방식을 제공합니다(sendnonstreamchat, listagents, listbuckets, uploaddocumentby_file 등).
  • 파일 관리: 파일 업로드, 읽기 및 관리를 위한 파일 시스템 작업을 구현합니다.
  • API 통합: Storm의 API 엔드포인트와 연결하여 다양한 기능을 제공합니다.

프로젝트 구조

  • main.py: MCP 서버를 초기화하고 이벤트 핸들러를 설정합니다.
  • core/file_manager.py: 파일 작업을 위한 FileSystemManager 클래스를 구현합니다.
  • core/internal_api.py: Storm의 REST API 엔드포인트와 상호 작용하기 위한 API 클라이언트 함수를 포함합니다.
  • tools/tool_definitions.py: MCP 서버에서 사용 가능한 도구를 정의합니다.
  • tools/tool_handlers.py: 도구 작업을 위한 핸들러를 구현합니다.
  • tools/tool_upload_file.py: 자체 MCP 핸들러가 있는 파일 작업을 위한 별도의 파일 서버를 구현합니다.

아키텍처

MCP는 호스트(LLM 애플리케이션), 클라이언트(프로토콜 구현체), 서버(기능 제공자) 간의 3계층 구조로 설계되었습니다. Storm MCP 서버는 이 중 서버 부분을 구현하여 리소스와 도구를 LLM에 제공합니다.

시작하기

Claude Desktop 환경에서 MCP 서버를 연결하려면, 아래와 같은 설정을 적용해야 합니다.

  1. 설정 파일 열기
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. JSON 내부에 MCP 서버 설정 추가:
{
"mcpServers": {
"storm": {
"command": "sh",
"args": [
"/Users/sigridjineth/Desktop/work/storm-mcp-server/scripts/run.sh"
]
}
}
}

Japanese (日本語)

Storm MCP(Model Co

Read from source at commit 44cb4cf1b2d3OBSERVED · 2026-10-08
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add storm-mcp-server --env STORM_API_KEY=${STORM_API_KEY} -- uvx storm-mcp-server
claude-desktop
{
  "mcpServers": {
    "storm-mcp-server": {
      "command": "uvx",
      "args": [
        "storm-mcp-server"
      ],
      "env": {
        "STORM_API_KEY": "${STORM_API_KEY}"
      }
    }
  }
}
03

Exposed tools (2)

1 read · 1 write · 0 destructive.

ToolRiskDescription
search_filesread파일 검색
upload_filewrite파일 업로드(Base64 인코딩된 컨텐츠)
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (5 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (3)

LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
storm_mcp_server/core/file_manager.py:101
raw_data = base64.b64decode(b64_content)
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
storm_mcp_server/tools/tool_handlers.py:175
raw_data = base64.b64decode(file_base64)

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-08 · audit v0.4.1 · source sha 44cb4cf1b2d3full audit observations/trust-audit/mcp-server/sionic-ai__storm.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-0844cb4cf1b2d3SAFEB89first audit
06

Questions

What tools does Storm expose?

2 in total: 1 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Storm safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does Storm need?

It reads STORM_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Storm run?

It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as storm-mcp-server.

How current is this page?

The grade is for one exact copy of the source (44cb4cf1b2d3), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement