message-mcp
Version:
Desktop notifications, custom sounds, ntfy mobile notifications, email notifications, and API pushes reduce anxiety while waiting for AI tasks, allowing you to comfortably enjoy a cup of coffee.
215 lines (175 loc) β’ 7.07 kB
Markdown
<div align="center">
<h1>π¬ Message MCP</h1>
<p>
π λ€λ₯Έ μΈμ΄:
<a href="README.md">English</a> |
<a href="README.zh.md">δΈζ</a> |
<a href="README.ja.md">ζ₯ζ¬θͺ</a>
</p>
<h3>λ°μ€ν¬ν± μλ¦Ό, κ°μΈ λ§μΆ€ μ¬μ΄λ, ntfy λͺ¨λ°μΌ μλ¦Ό, μ΄λ©μΌ μλ¦Ό λ° API νΈμλ‘ AI μμ
λκΈ° λΆμμ μ€μ΄κ³ νΈμνκ² μ»€νΌ νμμ μ¦κΈ°μΈμ.</h3>
<a href="https://modelcontextprotocol.io">
<img src="https://img.shields.io/badge/MCP-Server-gold?labelColor=wheat&color=limegreen" title="MCP Server"/>
</a>
<a href="https://deepwiki.com/gimjin/message-mcp">
<img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki">
</a>
<a href="https://dash.cloudflare.com">
<img src="https://message-mcp-werker.kimseongrim.workers.dev/visit-count.svg?v=5" title="Visit Count"/>
</a>
<a href="https://github.com/gimjin/message-mcp/blob/main/.github/workflows/ci.yml">
<img src="https://img.shields.io/github/actions/workflow/status/gimjin/message-mcp/ci.yml" alt="MIT License">
</a>
<a href="https://www.npmjs.com/package/message-mcp">
<img src="https://img.shields.io/npm/v/message-mcp" alt="NPM Version">
</a>
<a href="https://github.com/gimjin/message-mcp/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/gimjin/message-mcp" alt="MIT License">
</a>
<img src="https://s2.loli.net/2025/08/01/29msh4TAULFgGkn.webp" alt="Messsage MCP Exsample">
</div>
## π AI μ¬μ© ν¨μ¨μ±μ λμ΄κ³ λ λ§μ μκ°μ ν보νμΈμ
AIκ° μμ
μ μλ£νκΈ°λ₯Ό κΈ°λ€λ¦¬λ λμ λ€λ₯Έ μ
무λ₯Ό λμμ μ²λ¦¬ν μ μκΈ°λ₯Ό λ°λΌμλμ? μ΄μ AIκ° μ₯μκ° μμ
μ μ€ννλ λμ μμ¬νκ³ λ€λ₯Έ μΌλ€μ μ²λ¦¬ν μ μμ΅λλ€.
**Message MCPλ‘ AI νμ
μ λμ± ν¨μ¨μ μΌλ‘ λ§λ€μ΄λ³΄μΈμ!**
```text
π§: ν
νΈλ¦¬μ€ μΉ κ²μμ λ§λ€μ΄ μ£ΌμΈμ, μλ£ μ μλ¦Ό.
π€: ν
νΈλ¦¬μ€ κ²μμ λ§λ€κΈ° μμνκ² μ΅λλ€
...
π¬: Message MCP μ€νλ¨, λ©μμ§ μ μ‘ μλ£.
```
> [!TIP]
>
> - ν΄λΌμ΄μΈνΈ μ€μ μμ **MCP μλ μ€ν νμ©**μ νμ±ννμΈμ.
> - **μ¬μ©μ κ·μΉ** λλ **κ·μΉ νμΌ**μ "μλ£ μ μλ¦Ό" ν둬ννΈλ₯Ό μΆκ°νλ©΄ λ°λ³΅μ μΈ μλ ν둬ννΈλ₯Ό νΌν μ μμ΅λλ€.
### β‘οΈ λΉ λ₯Έ μ€μΉ
[](https://cursor.com/install-mcp?name=message-mcp&config=eyJjb21tYW5kIjogIm5weCIsImFyZ3MiOiBbIm1lc3NhZ2UtbWNwQGxhdGVzdCJdfQ==) [](https://insiders.vscode.dev/redirect?url=vscode:mcp/install?{%22name%22:%22message-mcp%22,%22command%22:%22npx%22,%22args%22:[%22message-mcp@latest%22]}) [](https://insiders.vscode.dev/redirect?url=vscode-insiders:mcp/install?{%22name%22:%22message-mcp%22,%22command%22:%22npx%22,%22args%22:[%22message-mcp@latest%22]}) [](https://smithery.ai/server/@gimjin/message-mcp)
> smithery.aiλ₯Ό ν΅ν΄ ν΄λΌμ°λ μ€μΉλ₯Ό μ§μνλ©°(μ: Dify λ± SaaS μλΉμ€), λ‘컬μ μν΄λ¦ λ°°ν¬λ κ°λ₯ν©λλ€. Message MCPλ μ€μ λ‘ smithery.ai ν΄λΌμ°λμμ μ€νλλ―λ‘ νμ¬ λ°μ€ν¬ν± μλ¦Όμ μ§μλμ§ μμ΅λλ€. μ κ³Όμ μ κ±Έμ³ μ’
λ¨κ° μνΈνκ° μ μ©λμ΄ λ°μ΄ν° 보μμ 보μ₯ν©λλ€. [μμΈν μμ보기](https://smithery.ai/docs/getting_started/quickstart_connect#one-click-connect-to-smithery-servers)
### βοΈ νμ€ μ€μΉ
#### MacOS, Linux, WSL2
```json
{
"mcpServers": {
"message-mcp": {
"command": "npx",
"args": ["-y", "message-mcp@latest"]
}
}
}
```
#### Windows
```json
{
"mcpServers": {
"message-mcp": {
"command": "cmd",
"args": ["/c", "npx", "-y", "message-mcp@latest"]
}
}
}
```
### ποΈ μ νμ ꡬμ±
#### λ°μ€ν¬ν± μλ¦Ό μμ
```json
{
"mcpServers": {
"message-mcp": {
"command": "npx",
"args": ["-y", "message-mcp@latest"],
"env": {
"DISABLE_DESKTOP": "true",
"SOUND_PATH": "/path/to/your/sound.mp3"
}
}
}
}
```
> - λ°μ€ν¬ν± μλ¦Όμ΄ κΈ°λ³Έμ μΌλ‘ νμ±νλμ΄ μμ΅λλ€
> - κΈ°λ³Έ μ¬μ΄λλ zapsplatμμ μ 곡λ©λλ€. κΈ°λ³Έ μ¬μ΄λκ° λ§μμ λ€μ§ μμΌλ©΄ [zapsplat.com](https://zapsplat.com/)μμ λ€μ΄λ‘λνμ¬ κ΅¬μ±ν μ μμ΅λλ€.
#### ntfy λͺ¨λ°μΌ μλ¦Ό
μ± μ€μΉ: [App Store](https://apps.apple.com/us/app/ntfy/id1625396347), [Google Play](https://play.google.com/store/apps/details?id=io.heckel.ntfy), [F-Droid](https://f-droid.org/en/packages/io.heckel.ntfy/)
```json
{
"mcpServers": {
"message-mcp": {
"command": "npx",
"args": ["-y", "message-mcp@latest"],
"env": {
"NTFY_TOPIC": "your-unique-topic"
}
}
}
}
```
#### μ΄λ©μΌ μλ¦Ό
```json
{
"mcpServers": {
"message-mcp": {
"command": "npx",
"args": ["-y", "message-mcp@latest"],
"env": {
"SMTP_HOST": "smtp.gmail.com",
"SMTP_PORT": "587",
"SMTP_SECURE": "false",
"SMTP_USER": "user@gmail.com",
"SMTP_PASS": "your_password"
}
}
}
}
```
#### API μλ¦Ό
```json
{
"mcpServers": {
"message-mcp": {
"command": "npx",
"args": ["-y", "message-mcp@latest"],
"env": {
"API_URL": "https://httpbin.org/post",
"API_METHOD": "POST", // POST, PUT, PATCH
"API_HEADERS": "{\"Authorization\": \"Bearer token\"}"
}
}
}
}
```
```javascript
fetch(API_URL, {
method: API_METHOD,
headers: {
'Content-Type': 'application/json'
...JSON.parse(API_HEADERS)
},
body: JSON.stringify({
title: notifyTitle,
message: notifyMessage,
}),
})
```
## π μμ€ν
μꡬμ¬ν
- Node.js: 18 μ΄μ
- macOS: λ€μ΄ν°λΈ μλ¦Όμ 10.8 μ΄μ νμ
- Linux: notify-osd λλ libnotify-bin μ€μΉ νμ(Ubuntuλ κΈ°λ³Έ ν¬ν¨)
- Windows: 8 μ΄μ, λλ 8 λ―Έλ§μ μμ
νμμ€ νμ μλ¦Ό
## βοΈ λ¬Έμ ν΄κ²°
#### Windows μμ€ν
μλ¦Όμ΄ νμ±νλμ§ μμ
μ€μ > μλ¦Ό λ° μμ
> μ± λ° κΈ°ν λ°μ μλ‘λΆν° μλ¦Ό λ°κΈ° β νμ±ν
#### WSL2 (Ubuntu)μ μλ¦Ό μλ¦¬κ° μμ΅λλ€
```bash
sudo apt install -y pulseaudio mpg123
```
#### WSL2 νκ²½μμ OS μλ¦Ό λλ½
```bash
sudo find / -type f -name "snoretoast-*.exe" 2>/dev/null
/path/to/.../node_modules/snoretoast-x64.exe
/path/to/.../node_modules/snoretoast-x86.exe
chmod +x /path/to/.../node_modules/snoretoast-*.exe
```
```bash
sudo find / -type f -name "snoretoast-*.exe" 2>/dev/null
/path/to/.../node_modules/snoretoast-x64.exe
/path/to/.../node_modules/snoretoast-x86.exe
chmod +x /path/to/.../node_modules/snoretoast-*.exe
```
---
μ΄ νλ‘μ νΈκ° λμμ΄ λμλ€λ©΄ βοΈμ λλ¬ μ§μν΄ μ£Όμκ³ λ λ§μ μ¬λλ€μ΄ λ³Ό μ μλλ‘ ν΄μ£ΌμΈμ!