npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@solapi/mcp-server

v1.10.7

Published

MCP server for SOLAPI document search and integration

Downloads

969

Readme

SOLAPI MCP Server

SOLAPI 문서/예제 검색과 실제 메시지 발송·관리를 한 번에 제공하는 MCP(Model Context Protocol) 서버입니다. Claude Desktop, Cursor 등에서 사용할 수 있습니다.

내부적으로 solactl CLI를 호출합니다. solactl 바이너리는 설치 시 자동으로 다운로드됩니다 (실패 시 첫 실행 시 재시도).

빠른 시작

전역 설치 (권장)

| Package Manager | Command | |---|---| | npm | npm install -g @solapi/mcp-server | | yarn | yarn global add @solapi/mcp-server | | pnpm | pnpm add -g @solapi/mcp-server | | bun | bun add -g @solapi/mcp-server |

설치 후 자동으로 다음 작업이 수행됩니다.

  • solactl 바이너리 자동 다운로드 (플랫폼별 prebuilt)
  • Claude Desktop / Cursor 설정 파일에 MCP 서버 등록

설치 후 Claude Desktop이나 Cursor를 재시작하면 사용 가능합니다.

수동 설정

~/.cursor/mcp.json 또는 Claude Desktop의 claude_desktop_config.json:

{
  "mcpServers": {
    "solapi": {
      "command": "npx",
      "args": ["--latest", "-y", "@solapi/mcp-server"],
      "env": {}
    }
  }
}

인증 설정

MCP 도구로 직접 SOLAPI 자격 증명을 등록할 수 있습니다.

"내 솔라피 키 등록해줘. apiKey는 NCS..., apiSecret은 ..., 프로필 이름은 prod"

→ MCP가 configure_setup 도구를 호출하여 ~/.solactl/credentials.json에 저장합니다.

여러 프로필을 두고 발송 시마다 profile 인자로 지정할 수 있습니다.

| 도구 | 동작 | |---|---| | configure_setup | 새 프로필 등록 (또는 기존 프로필 덮어쓰기) | | configure_list | 저장된 프로필 목록 | | configure_show | 프로필 정보 (시크릿은 마스킹) | | configure_use | 활성 프로필 전환 | | configure_delete | 프로필 삭제 |

발송 안전 가드

발송 도구는 기본적으로 비활성화되어 있습니다. 실수로 메시지가 나가는 것을 막기 위함입니다.

활성화 방법

일시적 활성화 (세션 한정)

MCP 대화 중에 활성화:

"발송 활성화해줘" → MCP가 update_mcp_policy({sendEnabled: true}) 호출

MCP 서버 재시작 시 다시 비활성화로 돌아갑니다.

부팅 시부터 활성화

mcp.json의 env에 추가:

"env": {
  "SOLAPI_MCP_ENABLE_SEND": "true"
}

환경변수 (Ceiling)

환경변수로 설정한 한계는 MCP 도구로 풀 수 없습니다 (ceiling 역할).

| 환경변수 | 효과 | |---|---| | SOLAPI_MCP_DISABLE_SEND=true | Hard lock. MCP 도구로도 발송 활성화 불가. | | SOLAPI_MCP_ENABLE_SEND=true | 부팅 시 발송 활성화로 시작. | | SOLAPI_MCP_MAX_RECIPIENTS=N | 한 번의 발송 호출에서 허용되는 최대 수신자 수. 기본 10. MCP에서 더 낮출 수는 있지만 더 높일 수 없음. | | SOLAPI_MCP_ALLOWED_SENDERS=01012345678,01087654321 | 발신번호 화이트리스트. 비우면 무제한. | | SOLAPI_MCP_SOLACTL_BIN=/path/to/solactl | 자동 다운로드 대신 시스템에 설치된 solactl 사용. | | SOLAPI_MCP_AUTO_UPGRADE=true | MCP 서버 부팅 시 GitHub Releases에서 latest로 자동 업그레이드. (기본 off — 패키지가 핀한 버전 사용) |

Confirm 플래그 (Two-step send)

모든 발송 도구는 confirmed: boolean 인자를 갖습니다.

  • confirmed=false(기본) → SOLAPI를 호출하지 않고 미리보기만 반환
  • confirmed=true → 정책 검증 후 실제 발송

LLM이 사용자 동의 없이 한 번에 발송하는 사고를 막습니다. 카카오 템플릿 변경, 발신번호 삭제 등 변경 도구도 같은 가드를 사용합니다.

동적 정책 조회/변경

| 도구 | 동작 | |---|---| | get_mcp_policy | 현재 정책 + ceiling 반환 | | update_mcp_policy | sendEnabled / maxRecipients / allowedSenders 변경 (ceiling 위반 거부, 세션 한정) |

도구 카탈로그

문서/예제 (read-only, 가드 없음)

  • list_examples — SDK 예제 카탈로그
  • get_example — 예제 풀 소스
  • overview — 개요
  • web_search — 문서 검색

인증

  • configure_setup, configure_list, configure_show, configure_use, configure_delete

조회 (read-only, 가드 없음)

  • get_balance — 잔액·포인트
  • list_messages — 발송 내역
  • list_senderids — 발신번호 목록
  • get_quota, list_quota_requests — 발송 한도
  • list_kakao_channels, get_kakao_channel, list_kakao_channel_categories
  • list_kakao_channel_groups, get_kakao_channel_group
  • list_kakao_templates, get_kakao_template, list_kakao_template_categories, get_kakao_template_sendable
  • list_kakao_brand_templates, get_kakao_brand_template_sendable

발송 (confirmed=true 필수)

  • send_sms, send_lms, send_mms, send_rcs, send_ata, send_bms

변경 (confirmed=true 필수)

  • delete_senderid, update_senderid
  • request_quota
  • create_kakao_template, update_kakao_template, delete_kakao_template
  • inspect_kakao_template, cancel_inspect_kakao_template, release_dormant_kakao_template
  • create_kakao_brand_template, update_kakao_brand_template, delete_kakao_brand_template

정책

  • get_mcp_policy, update_mcp_policy

관리

  • upgrade_solactl — solactl을 latest 또는 지정 버전으로 업그레이드 (SOLAPI_MCP_AUTO_UPGRADE=true로 부팅마다 자동 수행 가능)

solactl 의존성

내장 SDK 예제 외에 발송·조회 기능은 solactl 바이너리에 의존합니다. 본 패키지는 다음 버전을 자동 다운로드합니다:

  • solactl v0.1.6 (Linux/macOS amd64·arm64, Windows amd64·arm64)
  • 다운로드 위치: <package>/bin/solactl (또는 solactl.exe)
  • sha256 검증 후 설치

자동 다운로드가 차단된 환경(CI 등)에서는 SOLAPI_MCP_SOLACTL_BIN=/path/to/solactl로 시스템에 설치된 바이너리를 가리키도록 할 수 있습니다.

업그레이드 정책

기본적으로 패키지가 핀한 버전(v0.1.6)을 사용합니다. 신버전을 사용하려면:

  • 수시로 (대화 중): upgrade_solactl 도구를 호출. "solactl 업그레이드해줘" 한 마디로 가능. 특정 버전을 지정하려면 targetVersion: "0.1.7".
  • 부팅마다 자동: SOLAPI_MCP_AUTO_UPGRADE=true 환경변수.

기본값을 "수동"으로 둔 이유: 매 호출마다 자동 업그레이드는 GitHub API rate limit 소진과 도구 호출 latency 증가 문제를 일으키며, 핀한 버전은 "패키지가 검증한 조합"을 보장합니다.

Internal SDK version

내장 SDK 버전:

| Lang | Version | |--------------|---------| | Node.js | 5.5.2 | | Kotlin(Java) | 1.0.3 | | Python | 5.0.2 | | PHP | 5.0.6 | | Go | 2.0.0 | | ASP | 1.0.0 |