[](README.md)
[](README-ko.md)
# AIM Guard MCP
[](https://archestra.ai/mcp-catalog/AIM-Intelligence__AIM-MCP)
[](https://smithery.ai/server/@AIM-Intelligence/aim-mcp)
[](https://www.npmjs.com/package/aim-guard-mcp)
[](https://smithery.ai/server/@AIM-Intelligence/aim-mcp)
๐ก๏ธ **AIM MCP Server :: MCP ๋ฐ AI ์์ด์ ํธ๋ฅผ ๋ณดํธํ๊ณ ๋ฐฉ์ดํ์ธ์**
AI ๊ธฐ๋ฐ ๋ณด์ ๋ถ์ ๋ฐ ์์ ์ง์ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ Model Context Protocol (MCP) ์๋ฒ์
๋๋ค. ์ด ์๋ฒ๋ ๋ค์ํ MCP ๋ฐ ์ธ๋ถ ์๋น์ค์ ์ํธ ์์ฉํ ๋ ๋ณด์ ์ง์นจ, ์ฝํ
์ธ ๋ถ์ ๋ฐ ์ฃผ์ ์ฌํญ์ ์ ๊ณตํ์ฌ AI ์์ด์ ํธ๋ฅผ ๋ณดํธํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
<a href="https://glama.ai/mcp/servers/@AIM-Intelligence/AIM-MCP">
<img width="380" height="200" src="https://glama.ai/mcp/servers/@AIM-Intelligence/AIM-MCP/badge" alt="AIM-Guard-MCP MCP server" />
</a>
## ๊ธฐ๋ฅ
### ๐ง ๋๊ตฌ (์ด 6๊ฐ)
- ๐ก๏ธ **AI ์์ ๊ฐ๋**: MCP ์ํธ ์์ฉ์ ์ํ ๋งฅ๋ฝ์ ๋ณด์ ์ง์นจ
- ๐ **ํ
์คํธ ๊ฐ๋ ๋ถ์**: AIM Intelligence API๋ฅผ ์ฌ์ฉํ ์ ํด ์ฝํ
์ธ ๊ฐ์ง
- ๐ **๋ณด์ ํ๋กฌํํธ ๊ฐํ**: ์ฌ์ฉ์ ํ๋กฌํํธ์ ๋ณด์ ๋ ์ด์ด ์ถ๊ฐ
- ๐จ **ํ๋กฌํํธ ์ธ์ ์
ํ์ง๊ธฐ**: OWASP LLM01:2025 ์ค์ ์ธ์ ์
ํ์ง
- ๐ **์๊ฒฉ ์ฆ๋ช
์ค์บ๋**: ๋
ธ์ถ๋ API ํค, ๋น๋ฐ๋ฒํธ, ํ ํฐ ๋ฐ ์ํฌ๋ฆฟ ๊ฒ์
- ๐ **URL ๋ณด์ ๊ฒ์ฆ๊ธฐ**: ํผ์ฑ, ์
์ฑ์ฝ๋ ๋ฐ HTTPS ์ ์ฉ์ ๋ํ URL ๊ฒ์ฆ
### ๐ ๋ฆฌ์์ค (์ด 9๊ฐ)
- ๐ **๋ณด์ ์ฒดํฌ๋ฆฌ์คํธ**: MCP๋ณ ๋ณด์ ์ฒดํฌ๋ฆฌ์คํธ (๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ด๋ฉ์ผ, ์ฌ๋, ํ์ผ, ์น, ์ผ๋ฐ)
- ๐ **๋ณด์ ์ ์ฑ
**: ํฌ๊ด์ ์ธ ์ ์ฑ
(๋ฐ์ดํฐ ๋ถ๋ฅ, ์ ๊ทผ ์ ์ด, ์ฌ๊ณ ๋์)
### ๐ฌ ํ๋กฌํํธ (์ด 2๊ฐ)
- ๐ **๋ณด์ ๊ฒํ **: ๋ค๋จ๊ณ ๋ณด์ ๊ฒํ ์ํฌํ๋ก์ฐ
- โ ๏ธ **์ํ ๋ถ์**: STRIDE ๊ธฐ๋ฐ ์ํ ๋ชจ๋ธ๋ง ๋ฐ ์ํ ํ๊ฐ
### ๐ฏ ์ผ๋ฐ
- โก **๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์**: TypeScript์ Zod ๊ฒ์ฆ์ผ๋ก ๊ตฌ์ถ
- ๐ง **์ฌ์ด ํตํฉ**: ๋ชจ๋ MCP ํธํ AI ์ด์์คํดํธ์ ์๋
- ๐ **API ํตํฉ**: ๊ณ ๊ธ ๋ถ์์ ์ํ AIM Intelligence API ์ฐ๊ฒฐ
- ๐ **ํฌ๊ด์ ์ธ ๋ฌธ์**: ๋๊ตฌ, ๋ฆฌ์์ค ๋ฐ ํ๋กฌํํธ์ ๋ํ ์์ธํ ๊ฐ์ด๋
## ์ค์น
### Smithery๋ฅผ ํตํ ์ค์น
[Smithery](https://smithery.ai/server/@AIM-Intelligence/aim-mcp)๋ฅผ ํตํด Claude Desktop์ aim-mcp๋ฅผ ์๋์ผ๋ก ์ค์นํ๋ ค๋ฉด:
```bash
npx -y @smithery/cli install @AIM-Intelligence/aim-mcp --client claude
```
### NPX (๊ถ์ฅ)
```bash
npx aim-guard-mcp
```
### ์ ์ญ ์ค์น
```bash
npm install -g aim-guard-mcp
aim-guard-mcp
```
### ๋ก์ปฌ ์ค์น
```bash
npm install aim-guard-mcp
```
## ์ฌ์ฉ๋ฒ
### MCP ์๋ฒ๋ก ์ฌ์ฉ
MCP ํด๋ผ์ด์ธํธ ์ค์ ์ ์ถ๊ฐ:
```json
{
"servers": {
"aim-guard": {
"type": "stdio",
"command": "npx",
"args": ["aim-guard-mcp"]
}
}
}
```
### ๋๊ตฌ ํ
์คํธ
#### AI ์์ ๊ฐ๋ ํ
์คํธ
```bash
# ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์
์ ๋ํ ์์ ์ง์นจ ๊ฐ์ ธ์ค๊ธฐ
{
"name": "ai-safety-guard",
"arguments": {
"mcp_type": "database",
"operation_type": "query",
"sensitivity_level": "confidential"
}
}
```
#### ํ
์คํธ ๊ฐ๋ ํ
์คํธ
```bash
# ํ
์คํธ์ ์ ํด ์ฝํ
์ธ ๋ถ์
{
"name": "aim-text-guard",
"arguments": {
"text": "์์ ์ฑ์ ๋ถ์ํ ์ํ ํ
์คํธ์
๋๋ค."
}
}
```
#### ๋ณด์ ํ๋กฌํํธ ๊ฐํ ํ
์คํธ
```bash
# ๋ณด์ ์ง์นจ์ผ๋ก ์ฌ์ฉ์ ํ๋กฌํํธ ๊ฐํ
{
"name": "aim-security-prompt-tool",
"arguments": {
"user_prompt": "์ด ์์
์ ๋์์ฃผ์ธ์",
"security_level": "strict"
}
}
```
### ์ฌ์ฉ ๊ฐ๋ฅํ ๋๊ตฌ
#### 1. `ai-safety-guard`
AI ์์ด์ ํธ๊ฐ ๋ค๋ฅธ MCP์ ์ํธ ์์ฉํ๊ธฐ ์ ์ ๋งฅ๋ฝ์ ๋ณด์ ์ง์นจ ๋ฐ ์ฃผ์ ์ฌํญ์ ์ ๊ณตํฉ๋๋ค.
```json
{
"name": "ai-safety-guard",
"arguments": {
"mcp_type": "email|slack|database|file|web|general",
"operation_type": "read|write|execute|delete|send|query",
"sensitivity_level": "public|internal|confidential|restricted"
}
}
```
**๊ธฐ๋ฅ**: ์ปจํ
์คํธ ์ธ์ ๊ฐ์ด๋๋ผ์ธ, ์์
๋ณ ๊ฒฝ๊ณ , ์ํ ์ ํธ ๊ฐ์ง
#### 2. `aim-text-guard`
AIM Intelligence API๋ฅผ ์ฌ์ฉํ์ฌ ์ ํดํ๊ฑฐ๋ ๋ถ์ ์ ํ ์ฝํ
์ธ ์ ๋ํ ํ
์คํธ ์ฝํ
์ธ ๋ฅผ ๋ถ์ํฉ๋๋ค.
```json
{
"name": "aim-text-guard",
"arguments": {
"text": "๋ถ์ํ ํ
์คํธ ์ฝํ
์ธ "
}
}
```
**๊ธฐ๋ฅ**: ์ค์๊ฐ ๋ถ์, ์ ํด ์ฝํ
์ธ ๊ฐ์ง, ์์ธํ JSON ๊ฒฐ๊ณผ
#### 3. `aim-security-prompt-tool`
๋ ์์ ํ AI ์ํธ ์์ฉ์ ์ํด ์ฌ์ฉ์ ํ๋กฌํํธ๋ฅผ ๋ณด์ ์ง์นจ์ผ๋ก ๊ฐํํฉ๋๋ค.
```json
{
"name": "aim-security-prompt-tool",
"arguments": {
"user_prompt": "์๋ณธ ์ฌ์ฉ์ ํ๋กฌํํธ",
"security_level": "basic|standard|strict"
}
}
```
**๊ธฐ๋ฅ**: ๋ค๋จ๊ณ ๊ฐํ, ์ํ ๋ถ์, ์์
์์ง๋์ด๋ง ๋ณดํธ
#### 4. `prompt-injection-detector` ๐
OWASP LLM01:2025 ํจํด์ ๊ธฐ๋ฐ์ผ๋ก ํ๋กฌํํธ ์ธ์ ์
์๋๋ฅผ ๊ฐ์งํฉ๋๋ค.
```json
{
"name": "prompt-injection-detector",
"arguments": {
"text": "์ธ์ ์
ํจํด์ ๋ถ์ํ ํ
์คํธ",
"sensitivity": "low|medium|high"
}
}
```
**๊ธฐ๋ฅ**:
- 15๊ฐ ์ด์์ ์ธ์ ์
ํจํด ๊ฐ์ง (์ง์ ๋ฎ์ด์ฐ๊ธฐ, ์ญํ ์กฐ์, ํ์ฅ ์๋)
- ์ฌ๊ฐ๋ ํ๊ฐ๋ฅผ ํตํ ์ํ ์ ์ (0-100)
- OWASP LLM01:2025 ์ค์
- ๊ตฌ์ฑ ๊ฐ๋ฅํ ๋ฏผ๊ฐ๋ ์์ค
- ์์ธํ ์ํ ๋ณด๊ณ
#### 5. `credential-scanner` ๐
API ํค, ๋น๋ฐ๋ฒํธ, ํ ํฐ ๋ฐ SSH ํค๋ฅผ ํฌํจํ ๋
ธ์ถ๋ ์๊ฒฉ ์ฆ๋ช
์ ๋ํ ํ
์คํธ ๊ฒ์.
```json
{
"name": "credential-scanner",
"arguments": {
"text": "์๊ฒฉ ์ฆ๋ช
์ ๊ฒ์ํ ํ
์คํธ",
"mask_findings": true
}
}
```
**๊ธฐ๋ฅ**:
- 50๊ฐ ์ด์์ ์๊ฒฉ ์ฆ๋ช
ํจํด (AWS, GitHub, Google, OpenAI, Stripe, JWT, SSH ํค)
- ์๋ ์๊ฒฉ ์ฆ๋ช
๋ง์คํน
- ์ํ ์์ค ํ๊ฐ
- ํ๋ซํผ๋ณ ๊ฐ์ง (AWS, GitHub, Slack, ๋ฐ์ดํฐ๋ฒ ์ด์ค)
- ์คํ ๊ฐ๋ฅํ ๋ณด์ ๊ถ์ฅ ์ฌํญ
#### 6. `url-security-validator` ๐
ํผ์ฑ, ์
์ฑ์ฝ๋ ๋ฐ ๋ณด์ ๋ฌธ์ ์ ๋ํ URL ์์ ์ฑ ๊ฒ์ฆ.
```json
{
"name": "url-security-validator",
"arguments": {
"url": "๊ฒ์ฆํ URL",
"strict_mode": false
}
}
```
**๊ธฐ๋ฅ**:
- 10๊ฐ ์ด์์ ๋ณด์ ๊ฒ์ฌ (ํ๋กํ ์ฝ, TLD, IP ์ฃผ์, ํธ๋ชจ๊ทธ๋ํ ๊ณต๊ฒฉ)
- ํผ์ฑ ๋๋ฉ์ธ ๊ฐ์ง
- URL ๋จ์ถ๊ธฐ ์๋ณ
- ์์ฌ์ค๋ฌ์ด ๋งค๊ฐ๋ณ์ ๊ฐ์ง
- HTTPS ์ ์ฉ ๊ฒ์ฆ
### ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์์ค ๐
๋ฆฌ์์ค๋ URI ์คํค๋ง๋ฅผ ํตํด ์ ๊ทผ ๊ฐ๋ฅํ ์ฝ๊ธฐ ์ ์ฉ ๋ณด์ ๋ฌธ์ ๋ฐ ์ ์ฑ
์ ์ ๊ณตํฉ๋๋ค.
#### ๋ณด์ ์ฒดํฌ๋ฆฌ์คํธ
`security-checklist://[type]`๋ฅผ ํตํด ์ ๊ทผ
- `security-checklist://database` - ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์
์ฒดํฌ๋ฆฌ์คํธ
- `security-checklist://email` - ์ด๋ฉ์ผ ์์
์ฒดํฌ๋ฆฌ์คํธ
- `security-checklist://slack` - ์ฑํ
/๋ฉ์์ง ์์
์ฒดํฌ๋ฆฌ์คํธ
- `security-checklist://file` - ํ์ผ ์์
์ฒดํฌ๋ฆฌ์คํธ
- `security-checklist://web` - ์น ์์ฒญ ์ฒดํฌ๋ฆฌ์คํธ
- `security-checklist://general` - ์ผ๋ฐ MCP ์์
์ฒดํฌ๋ฆฌ์คํธ
**๊ฐ ์ฒดํฌ๋ฆฌ์คํธ ํฌํจ ๋ด์ฉ**:
- ์์
์ ํ์ธ ์ฌํญ
- ์์
์ค ๊ฐ์ด๋๋ผ์ธ
- ์์
ํ ๊ฒ์ฆ
- ์์
์ค๋จ์ ์ํ ์ํ ์ ํธ
#### ๋ณด์ ์ ์ฑ
`security-policy://[type]`๋ฅผ ํตํด ์ ๊ทผ
- `security-policy://data-classification` - ๋ฐ์ดํฐ ๋ถ๋ฅ ์์ค ๋ฐ ์ฒ๋ฆฌ ์๊ตฌ ์ฌํญ
- `security-policy://access-control` - ์ ๊ทผ ์ ์ด ์์น ๋ฐ ์ธ์ฆ ์๊ตฌ ์ฌํญ
- `security-policy://incident-response` - ์ฌ๊ณ ๋์ ์ ์ฐจ ๋ฐ ์ฌ๊ฐ๋ ์์ค
### ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋กฌํํธ ๐
ํ๋กฌํํธ๋ ๋ณต์กํ ๋ณด์ ์์
์ ์ํ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ํฌํ๋ก์ฐ ํ
ํ๋ฆฟ์ ์ ๊ณตํฉ๋๋ค.
#### 1. `security-review`
์ฝ๋, ๋ฐ์ดํฐ ๋๋ ๊ตฌ์ฑ์ ๋ํ ํฌ๊ด์ ์ธ ๋ณด์ ๊ฒํ ์ํฌํ๋ก์ฐ.
```json
{
"name": "security-review",
"arguments": {
"target_type": "code|data|configuration",
"context": "์ถ๊ฐ ์ปจํ
์คํธ (์ ํ ์ฌํญ)"
}
}
```
**์ํฌํ๋ก์ฐ**:
1. ์๊ฒฉ ์ฆ๋ช
์ค์บ
2. ํ๋กฌํํธ ์ธ์ ์
๊ฐ์ง (ํด๋นํ๋ ๊ฒฝ์ฐ)
3. ๋ณด์ ์ฒดํฌ๋ฆฌ์คํธ ์ฐธ์กฐ
4. ์ ์ฑ
์ค์ ๊ฒํ
5. ์ํ ๋ถ์
6. ์ํ ํ๊ฐ ๋ฐ ๊ถ์ฅ ์ฌํญ
7. **์์ฝ ํ
์ด๋ธ** - ์ฌ๊ฐ๋๋ณ ๋ชจ๋ ๊ฒฐ๊ณผ์ ์๊ฐ์ ๊ฐ์
**์์ฝ ์ถ๋ ฅ ์์**:
```
๐ ์์ฝ
| ์ฌ๊ฐ๋ | ๊ฐ์ | ํ์ผ/์์น |
|-------------|-----|------------------------|
| ๐ด CRITICAL | 1 | resources/handler.ts |
| ๐ HIGH | 2 | textGuard.ts |
| ๐ก MEDIUM | 3 | prompts/handler.ts |
| ๐ข LOW | 5 | credentialScanner.ts |
```
#### 2. `threat-analysis`
STRIDE ๋ฐฉ๋ฒ๋ก ์ ์ฌ์ฉํ์ฌ ์ ์ฌ์ ๋ณด์ ์ํ์ ๋ถ์ํฉ๋๋ค.
```json
{
"name": "threat-analysis",
"arguments": {
"scenario": "๋ถ์ํ ๋ณด์ ์๋๋ฆฌ์ค",
"sensitivity_level": "public|internal|confidential|restricted"
}
}
```
**ํ๋ ์์ํฌ**:
1. ์์ฐ ์๋ณ
2. STRIDE ์ํ ๋ชจ๋ธ๋ง (์คํธํ, ๋ณ์กฐ, ๋ถ์ธ ๋ฐฉ์ง, ์ ๋ณด ๊ณต๊ฐ, DoS, ๊ถํ ์์น)
3. ์ํ ํ๊ฐ (๊ฐ๋ฅ์ฑ ร ์ํฅ)
4. ๊ณต๊ฒฉ ๋ฒกํฐ ๋ถ์
5. ์ ์ด ๊ฒฉ์ฐจ ์๋ณ
6. ์ํ ์ ๋ต
7. ๊ท์ ์ค์ ๊ณ ๋ ค ์ฌํญ
8. ์ฌ๊ณ ๋์ ๊ณํ
9. **์์ฝ ํ
์ด๋ธ** - ์ฌ๊ฐ๋๋ณ ๋ชจ๋ ์ํ์ ์๊ฐ์ ๊ฐ์
**์์ฝ ์ถ๋ ฅ ์์**:
```
๐ ์์ฝ
| ์ฌ๊ฐ๋ | ๊ฐ์ | ์ํ ์ ํ |
|-------------|-----|---------------------------------|
| ๐ด CRITICAL | 2 | Information Disclosure, Spoofing |
| ๐ HIGH | 1 | Elevation of Privilege |
| ๐ก MEDIUM | 3 | Tampering, DoS |
| ๐ข LOW | 1 | Repudiation |
```
## ๋ณด์ ๊ธฐ๋ฅ
### ๐ก๏ธ AI ์์ด์ ํธ ๋ณดํธ
- **MCP ์ํธ ์์ฉ ์์ **: ๋ค์ํ MCP ์ ํ์ ๋ํ ๋งฅ๋ฝ์ ๊ฐ์ด๋๋ผ์ธ
- **์์
๊ฒ์ฆ**: ์ฝ๊ธฐ/์ฐ๊ธฐ/์คํ ์์
์ ๋ํ ํน์ ์ฃผ์ ์ฌํญ
- **๋ฐ์ดํฐ ๋ฏผ๊ฐ๋ ์ฒ๋ฆฌ**: ๋ฐ์ดํฐ ๋ถ๋ฅ ์์ค์ ๊ธฐ๋ฐํ ํ๋กํ ์ฝ
### ๐ ์ฝํ
์ธ ๋ถ์
- **์ค์๊ฐ ์ํ ๊ฐ์ง**: ์ ํดํ ํจํด์ ๋ํ ์ฝํ
์ธ ๋ถ์
- **ํ๋กฌํํธ ์ธ์ ์
๊ฐ์ง**: OWASP LLM01:2025 ์ค์ ํจํด ๋งค์นญ
- **์๊ฒฉ ์ฆ๋ช
๋
ธ์ถ ๋ฐฉ์ง**: 50๊ฐ ์ด์์ ๋
ธ์ถ๋ ์ํฌ๋ฆฟ ์ ํ ๊ฒ์
- **API ๊ธฐ๋ฐ ๋ถ์**: ๊ณ ๊ธ AI ๊ธฐ๋ฐ ์ฝํ
์ธ ์์ ์ฑ ํ๊ฐ
### ๐ URL ๋ณด์
- **ํผ์ฑ ๊ฐ์ง**: ์์ฌ์ค๋ฌ์ด ๋๋ฉ์ธ ๋ฐ ํธ๋ชจ๊ทธ๋ํ ๊ณต๊ฒฉ ์๋ณ
- **HTTPS ์ ์ฉ**: ์์ ํ ํ๋กํ ์ฝ ์ฌ์ฉ ๊ฒ์ฆ
- **์
์ฑ URL ์ฐจ๋จ**: ์๋ ค์ง ์ํ ์งํ ํ์ธ
### ๐ ์ ์ฑ
๋ฐ ์ค์
- **๋ณด์ ์ฒดํฌ๋ฆฌ์คํธ**: ๋ชจ๋ MCP ์ ํ์ ๋ํ ์ฌ์ ๊ตฌ์ถ๋ ์ฒดํฌ๋ฆฌ์คํธ
- **๋ฐ์ดํฐ ๋ถ๋ฅ**: ๋ฏผ๊ฐํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ช
ํํ ์ ์ฑ
- **์ ๊ทผ ์ ์ด**: ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ ๊ฐ์ด๋๋ผ์ธ
- **์ฌ๊ณ ๋์**: ๋ณด์ ์ฌ๊ณ ์ ๋ํ ๊ตฌ์กฐํ๋ ์ ์ฐจ
### ๐ ์ํฌํ๋ก์ฐ ์ค์ผ์คํธ๋ ์ด์
- **๋ณด์ ๊ฒํ ํ๋กฌํํธ**: ๋ค๋จ๊ณ ๊ฒํ ์ํฌํ๋ก์ฐ
- **์ํ ๋ถ์**: STRIDE ๊ธฐ๋ฐ ์ํ ๋ชจ๋ธ๋ง
- **์๋ํ๋ ๊ฐ์ฌ**: ํฌ๊ด์ ์ธ ๊ฒ์ฌ๋ฅผ ์ํ ์ฌ๋ฌ ๋๊ตฌ ๊ฒฐํฉ
## ๊ฐ๋ฐ
```bash
# ์ ์ฅ์ ๋ณต์
git clone https://github.com/AIM-Intelligence/AIM-MCP.git
cd AIM-MCP
# ์์กด์ฑ ์ค์น
pnpm install
# ํ๋ก์ ํธ ๋น๋
pnpm run build
# ๊ฐ๋ฐ ๋ชจ๋๋ก ์คํ
pnpm run dev
# ํ
์คํธ ์คํ
pnpm test
```
## ๋ฐฐํฌ
์ด ํ๋ก์ ํธ๋ NPM์ ์ํํ๊ฒ ๋ฐฐํฌํ๊ธฐ ์ํ ์๋ํ๋ CI/CD ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํฉ๋๋ค.
### ์๋ ๋ฐฐํฌ
`main` ๋ธ๋์น์ ํธ์ํ๋ฉด GitHub Actions๊ฐ ์๋์ผ๋ก:
1. **๋น๋ ๋ฐ ํ
์คํธ**: TypeScript ์ปดํ์ผ ๋ฐ ํ
์คํธ ์คํ
2. **๋ฒ์ ํ์ธ**: ํ์ฌ ๋ฒ์ ๊ณผ ๊ฒ์๋ ๋ฒ์ ๋น๊ต
3. **NPM์ ๊ฒ์**: ๋ฒ์ ์ด ๋ณ๊ฒฝ๋๋ฉด ์๋์ผ๋ก ๊ฒ์
4. **๋ฆด๋ฆฌ์ค ์์ฑ**: ๋ฒ์ ํ๊ทธ์ ํจ๊ป GitHub ๋ฆด๋ฆฌ์ค ์์ฑ
### ์๋ ๋ฒ์ ๊ด๋ฆฌ
```bash
# ํจ์น ๋ฒ์ ์ฆ๊ฐ (1.0.0 -> 1.0.1)
pnpm run release:patch
# ๋ง์ด๋ ๋ฒ์ ์ฆ๊ฐ (1.0.0 -> 1.1.0)
pnpm run release:minor
# ๋ฉ์ด์ ๋ฒ์ ์ฆ๊ฐ (1.0.0 -> 2.0.0)
pnpm run release:major
```
### NPM ํ ํฐ ์ค์
์๋ ๋ฐฐํฌ๋ฅผ ํ์ฑํํ๋ ค๋ฉด GitHub Secrets์ NPM ํ ํฐ์ ์ถ๊ฐํ์ธ์:
1. [npmjs.com](https://www.npmjs.com)์ผ๋ก ์ด๋ํ์ฌ ์๋ํ ํ ํฐ ์์ฑ
2. GitHub ์ ์ฅ์์์ Settings > Secrets and variables > Actions๋ก ์ด๋
3. NPM ํ ํฐ ๊ฐ์ผ๋ก `NPM_TOKEN`์ด๋ผ๋ ์ ์ํฌ๋ฆฟ ์ถ๊ฐ
### ๋ฐฐํฌ ์ํฌํ๋ก์ฐ
```mermaid
graph LR
A[main์ ํธ์] --> B[GitHub Actions]
B --> C[๋น๋ & ํ
์คํธ]
C --> D[๋ฒ์ ํ์ธ]
D --> E{๋ฒ์ ๋ณ๊ฒฝ?}
E -->|์| F[NPM์ ๊ฒ์]
E -->|์๋์ค| G[๋ฐฐํฌ ๊ฑด๋๋ฐ๊ธฐ]
F --> H[GitHub ๋ฆด๋ฆฌ์ค ์์ฑ]
F --> I[Git ํ๊ทธ ์์ฑ]
```
## ๊ธฐ์ฌํ๊ธฐ
1. ์ ์ฅ์ ํฌํฌ
2. ๊ธฐ๋ฅ ๋ธ๋์น ์์ฑ (`git checkout -b feature/amazing-feature`)
3. ๋ณ๊ฒฝ ์ฌํญ ์ปค๋ฐ (`git commit -m 'Add some amazing feature'`)
4. ๋ธ๋์น์ ํธ์ (`git push origin feature/amazing-feature`)
5. Pull Request ์ด๊ธฐ
## ๋ผ์ด์ ์ค
์ด ํ๋ก์ ํธ๋ ISC ๋ผ์ด์ ์ค๋ฅผ ๋ฐ๋ฆ
๋๋ค - ์์ธํ ๋ด์ฉ์ [LICENSE](LICENSE) ํ์ผ์ ์ฐธ์กฐํ์ธ์.
## ๋ฌธ์
- ๐ **[MCP ๊ตฌ์ฑ ์์ ๊ฐ์ด๋](./MCP_COMPONENTS_GUIDE.md)**: ๋๊ตฌ, ๋ฆฌ์์ค ๋ฐ ํ๋กฌํํธ์ ๋ํ ํฌ๊ด์ ์ธ ๊ฐ์ด๋
- ๐ **[GitHub Wiki](https://github.com/AIM-Intelligence/AIM-MCP/wiki)**: ์ถ๊ฐ ๋ฌธ์ ๋ฐ ์์
- ๐ **[MCP ์ฌ์](https://modelcontextprotocol.io/)**: ๊ณต์ Model Context Protocol ๋ฌธ์
## ์ง์
- ๐ง ์ด๋ฉ์ผ: support@aim-intelligence.com
- ๐ ์ด์: [GitHub Issues](https://github.com/AIM-Intelligence/AIM-MCP/issues)
- ๐ฌ ํ ๋ก : [GitHub Discussions](https://github.com/AIM-Intelligence/AIM-MCP/discussions)
---
[AIM Intelligence](https://github.com/AIM-Intelligence)๊ฐ โค๏ธ๋ฅผ ๋ด์ ์ ์ํ์ต๋๋ค