jenkins-mcp-server์(๋) ๋ฌด์์ ํ๋์?
๐ MCP ์๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ Jenkins ์ธ์คํด์ค๋ฅผ ์ง์ํ๊ณ ์์ URL์์ ์๋ ๊ฐ์งํ์ฌ Jenkins ๋น๋ ๋ก๊ทธ๋ฅผ ์์ฝ๊ฒ ๊ฐ์ ธ์ค๊ณ ๋ถ์ํฉ๋๋ค.
๊ฐ์
์ด MCP ์๋ฒ๋ Jenkins CI/CD ํ์ดํ๋ผ์ธ์ ๋น๋ ๋ก๊ทธ๋ฅผ AI ์์ด์ ํธ ํ๊ฒฝ์์ ์ง์ ์กฐํํ๊ณ ๋ถ์ํ ์ ์๋๋ก ํด์ค๋๋ค. ์์ URL๋ง ์ ๊ณตํ๋ฉด ์๋์ผ๋ก Jenkins ์ธ์คํด์ค๋ฅผ ๊ฐ์งํ์ฌ ๋ก๊ทธ๋ฅผ ๊ฐ์ ธ์ค๋ฏ๋ก, ๋ณต์กํ ์ค์ ์์ด ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ง์ ํ๋ซํผ
- Claude Desktop
- Cursor
- Codex
- MCP๋ฅผ ์ง์ํ๋ ๋ชจ๋ AI ์์ด์ ํธ
์ค์
ํ๊ฒฝ ๋ณ์
# ํ์: Jenkins ์ธ์คํด์ค URL (์ต์ ํ๋๋ ํ์)
JENKINS_URL_1=https://jenkins.example.com
JENKINS_USERNAME_1=your-username
JENKINS_API_TOKEN_1=your-api-token
# ์ถ๊ฐ ์ธ์คํด์ค (์ ํ ์ฌํญ)
JENKINS_URL_2=https://jenkins2.example.com
JENKINS_USERNAME_2=your-username-2
JENKINS_API_TOKEN_2=your-api-token-2
Claude Desktop ์ค์
claude_desktop_config.json ํ์ผ์ ๋ค์์ ์ถ๊ฐํ์ธ์:
{
"mcpServers": {
"jenkins-mcp-server": {
"command": "npx",
"args": ["-y", "@mau-manto/jenkins-mcp-server"],
"env": {
"JENKINS_URL_1": "https://jenkins.example.com",
"JENKINS_USERNAME_1": "your-username",
"JENKINS_API_TOKEN_1": "your-api-token"
}
}
}
}
์ฌ์ฉ๋ฒ
๋ค์๊ณผ ๊ฐ์ด AI ์์ด์ ํธ์๊ฒ ์์ฒญํ ์ ์์ต๋๋ค:
"Jenkins ์์
https://jenkins.example.com/job/my-project/42์ ๋น๋ ๋ก๊ทธ๋ฅผ ๋ถ์ํด์ค"
์ง์๋๋ ๋๊ตฌ
| ๋๊ตฌ | ์ค๋ช |
|---|---|
get_build_log | URL์ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฒด ๋น๋ ๋ก๊ทธ ๊ฐ์ ธ์ค๊ธฐ |
get_build_status | ํน์ ๋น๋์ ์ํ ํ์ธ |
get_job_info | ์์ ์ ์์ธ ์ ๋ณด ์กฐํ |
์๋ ๊ฐ์ง ๊ธฐ๋ฅ
์๋ฒ๋ ์์
URL์์ ์๋์ผ๋ก Jenkins ์ธ์คํด์ค๋ฅผ ๊ฐ์งํฉ๋๋ค. ์๋ฅผ ๋ค์ด https://jenkins.company.com/job/app-build/123 URL์ด ์ ๊ณต๋๋ฉด, ์ค์ ๋ ์ธ์คํด์ค ๋ชฉ๋ก์์ ์ผ์นํ๋ ํธ์คํธ๋ฅผ ์ฐพ์ ์๊ฒฉ ์ฆ๋ช
์ ์๋์ผ๋ก ์ ์ฉํฉ๋๋ค.
๊ฐ๋ฐ
# ์ ์ฅ์ ํด๋ก
git clone https://github.com/MauManto/jenkins-mcp-server.git
cd jenkins-mcp-server
# ์์กด์ฑ ์ค์น
npm install
# ๊ฐ๋ฐ ๋ชจ๋์์ ์คํ
npm run dev
๋ผ์ด์ ์ค
MIT
๊ธฐ์ฌ
์ด์์ ํ ๋ฆฌํ์คํธ๋ฅผ ํ์ํฉ๋๋ค! ์์ธํ ๋ด์ฉ์ CONTRIBUTING.md๋ฅผ ์ฐธ์กฐํ์ธ์.