๐ช ์ด๋ฏธ์ง์์๋ฆฌ MCP
AI ๋ณด์กฐ์์ ์ํ ComputerVision ๊ธฐ๋ฐ ์ด๋ฏธ์ง ์ธ์ ๋ฐ ํธ์ง ๋๊ตฌ์ ๋ง๋ฒ
โ ImageSorcery MCP ์์ด
AI ์ด์์คํดํธ๋ ์ด๋ฏธ์ง ์์ ์ ๋ค์๊ณผ ๊ฐ์ ์ ํ์ ๋ฐ์ต๋๋ค.
- โ ์ด๋ฏธ์ง๋ฅผ ์ง์ ์์ ํ๊ฑฐ๋ ๋ถ์ํ ์ ์์ต๋๋ค.
- โ ์ด๋ฏธ์ง ์๋ฅด๊ธฐ, ํฌ๊ธฐ ์กฐ์ ๋๋ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
- โ ์ผ๋ถ LLM์ ๊ฐ์ฒด๋ฅผ ๊ฐ์งํ๊ฑฐ๋ ์ด๋ฏธ์ง์์ ํ ์คํธ๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค.
- โ ์๊ฐ์ ์กฐ์ ์์ด ๊ตฌ๋ ์ค๋ช ์ผ๋ก๋ง ์ ํ๋จ
โ ImageSorcery MCP ์ฌ์ฉ
๐ช ImageSorcery
AI ๋ณด์กฐ์์๊ฒ ๊ฐ๋ ฅํ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- โ ์ ๋ฐํ๊ฒ ์ด๋ฏธ์ง๋ฅผ ์๋ฅด๊ณ , ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๊ณ , ํ์ ํ์ธ์
- โ ์ด๋ฏธ์ง์ ํ ์คํธ์ ๋ชจ์ ๊ทธ๋ฆฌ๊ธฐ
- โ ์ต์ฒจ๋จ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ๊ฐ์ง
- โ OCR์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์์ ํ ์คํธ ์ถ์ถ
- โ ์์ธํ ์ด๋ฏธ์ง ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ผ์ธ์
- โ ๊ฐ์ฒด ๊ฐ์ง, OCR ๋ฑ์ ์ํด ๋ค์ํ ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ์ฌ์ฉํ์ธ์
AI์๊ฒ ์ด๋ฏธ์ง ์์ ์ ๋์๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์.
"๋ฐ๋ ค๋๋ฌผ ์ฌ์ง์ frolder
photos
ํด๋์์pets
ํด๋๋ก ๋ณต์ฌ"
"photo.jpg์์ ๊ณ ์์ด๋ฅผ ์ฐพ์ ์ด๋ฏธ์ง์ ๋์ด์ ๋๋น๋ฅผ ๋ฐ์ผ๋ก ์๋ผ ๊ณ ์์ด๋ฅผ ์ค์์ ๋ฐฐ์นํ์ธ์."
๐ ํํธ: ํ์ผ์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ธ์.
"
foduucom/web-form-ui-field-detection
๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์ดform.jpg
์ ์์ ํ๋์ ๋ฒํธ๋ฅผ ๋งค๊ธฐ๊ณ ์ค๋ช ๋ ํ๋ ๋ชฉ๋ก์ผ๋กform.md
์ฑ์๋๋ค."๐ ํํธ: ๋ชจ๋ธ๊ณผ ์ ๋ขฐ๋๋ฅผ ์ง์ ํ์ธ์.
๐ ํํธ: "imagesorcery ์ฌ์ฉ"์ ์ถ๊ฐํ์ฌ ์ ์ ํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ธ์.
๊ทํ์ ๋๊ตฌ๋ ์๋ ๋์ด๋ ์ฌ๋ฌ ๋๊ตฌ๋ฅผ ๊ฒฐํฉํ์ฌ ๊ทํ์ ๋ชฉํ๋ฅผ ๋ฌ์ฑํฉ๋๋ค.
๐ ๏ธ ์ฌ์ฉ ๊ฐ๋ฅํ ๋๊ตฌ
๋๊ตฌ | ์ค๋ช | ์์ ํ๋กฌํํธ |
---|---|---|
crop | OpenCV์ NumPy ์ฌ๋ผ์ด์ฑ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ์๋ฆ ๋๋ค. | "๋ด ์ด๋ฏธ์ง 'input.png'๋ฅผ ์ขํ (10,10)์์ (200,200)๊น์ง ์๋ผ์ 'cropped.png'๋ก ์ ์ฅํฉ๋๋ค." |
resize | OpenCV๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ์กฐ์ ํฉ๋๋ค | "๋ด ์ด๋ฏธ์ง 'photo.jpg'์ ํฌ๊ธฐ๋ฅผ 800x600ํฝ์ ๋ก ์กฐ์ ํ๊ณ 'resized_photo.jpg'๋ผ๋ ์ด๋ฆ์ผ๋ก ์ ์ฅํฉ๋๋ค." |
rotate | imutils.rotate_bound ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ํ์ ํฉ๋๋ค. | "๋ด ์ด๋ฏธ์ง 'photo.jpg'๋ฅผ 45๋ ํ์ ํ์ฌ 'rotated_photo.jpg'๋ผ๋ ์ด๋ฆ์ผ๋ก ์ ์ฅํฉ๋๋ค." |
draw_texts | OpenCV๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์ ํ ์คํธ๋ฅผ ๊ทธ๋ฆฝ๋๋ค. | "๋ด ์ด๋ฏธ์ง 'photo.jpg'์ ์์น(50,50)์ 'Hello World'๋ผ๋ ํ ์คํธ๋ฅผ ์ถ๊ฐํ๊ณ ์ค๋ฅธ์ชฝ ํ๋จ์ 'Copyright 2023'์ด๋ผ๋ ํ ์คํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค." |
draw_rectangles | OpenCV๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์ ์ฌ๊ฐํ์ ๊ทธ๋ฆฝ๋๋ค. | "๋ด ์ด๋ฏธ์ง 'photo.jpg'์์ (50,50)์์ (150,100)๊น์ง ๋นจ๊ฐ์ ์ฌ๊ฐํ์ ๊ทธ๋ฆฌ๊ณ (200,150)์์ (300,250)๊น์ง ์ฑ์์ง ํ๋์ ์ฌ๊ฐํ์ ๊ทธ๋ฆฝ๋๋ค." |
get_metainfo | ์ด๋ฏธ์ง ํ์ผ์ ๋ํ ๋ฉํ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ต๋๋ค. | "๋ด ์ด๋ฏธ์ง 'photo.jpg'์ ๋ํ ๋ฉํ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ต๋๋ค." |
detect | Ultralytics์ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์์ ๊ฐ์ฒด๋ฅผ ๊ฐ์งํฉ๋๋ค. | "0.4์ ์ ๋ขฐ ์๊ณ๊ฐ์ผ๋ก ๋ด ์ด๋ฏธ์ง 'photo.jpg'์์ ๊ฐ์ฒด๋ฅผ ๊ฐ์งํฉ๋๋ค." |
find | ํ ์คํธ ์ค๋ช ์ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฏธ์ง์์ ๊ฐ์ฒด๋ฅผ ์ฐพ์ต๋๋ค. | "์ ๋ขฐ๋ ์๊ณ๊ฐ 0.4๋ก ๋ด ์ด๋ฏธ์ง 'photo.jpg'์ ์๋ ๋ชจ๋ ๊ฐ๋ฅผ ์ฐพ์ผ์ธ์" |
get_models | ๋ชจ๋ธ ๋๋ ํ ๋ฆฌ์ ์๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ชจ๋ธ์ ๋์ดํฉ๋๋ค. | "๋ชจ๋ธ ๋๋ ํ ๋ฆฌ์ ์๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ชจ๋ธ์ ๋์ดํฉ๋๋ค" |
ocr | EasyOCR์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์์ ๊ดํ ๋ฌธ์ ์ธ์(OCR)์ ์ํํฉ๋๋ค. | "OCR์ ์ฌ์ฉํ์ฌ ์์ด ์ด๋ฏธ์ง 'document.jpg'์์ ํ ์คํธ๋ฅผ ์ถ์ถํฉ๋๋ค." |
๐ ํํธ: ๊ฐ ๋๊ตฌ์ ๋ํ ์์ธํ ์ ๋ณด์ ์ฌ์ฉ ์ง์นจ์ ๋๊ตฌ์ /src/imagesorcery_mcp/tools/README.md
์์ ํ์ธํ ์ ์์ต๋๋ค.
๐ ์์ํ๊ธฐ
์๊ตฌ ์ฌํญ
Python 3.10
์ด์Claude.app
,Cline
๋๋ ๋ค๋ฅธ MCP ํด๋ผ์ด์ธํธ
์ค์น
์ง์์คํผ1
- ๊ฐ์ ํ๊ฒฝ์ ๋ง๋ค๊ณ ํ์ฑํํฉ๋๋ค(๊ฐ๋ ฅํ ๊ถ์ฅ): ๋ชจ๋ ๊ตฌ์ฑ ์์, ํนํ
clip
ํจํค์ง(์ฌํ ์ค์น ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ์ค์น๋จ)๋ฅผ ์์ ์ ์ผ๋ก ์ค์นํ๋ ค๋ฉดuv venv
๋์ Python์ ๊ธฐ๋ณธ ์ ๊ณตvenv
๋ชจ๋์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค . - ํ์ฑํ๋ ๊ฐ์ ํ๊ฒฝ์ ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
pip
๋๋uv pip
์ฌ์ฉํ ์ ์์ต๋๋ค. - ์ค์น ํ ์คํฌ๋ฆฝํธ ์คํ: ์ด ๋จ๊ณ๋ ๋งค์ฐ ์ค์ํฉ๋๋ค. ํ์ํ ๋ชจ๋ธ์ ๋ค์ด๋ก๋ํ๊ณ GitHub์์ ํ์ฑํ๋ ๊ฐ์ ํ๊ฒฝ์ Python
clip
ํจํค์ง๋ฅผ ์ค์นํ๋ ค๊ณ ์๋ํฉ๋๋ค.
- ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ์ ์ฅํ๊ธฐ ์ํด
models
๋๋ ํ ๋ฆฌ(์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ ํ๊ฒฝ์ site-packages ๋๋ ํ ๋ฆฌ ๋ด ๋๋ ์ ์ญ์ผ๋ก ์ค์น๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ณ ์์น)๋ฅผ ๋ง๋ญ๋๋ค. - ์ฌ๊ธฐ์ ์ด๊ธฐ
models/model_descriptions.json
ํ์ผ์ด ์์ฑ๋ฉ๋๋ค. detect
๋๊ตฌ์ ํ์ํ ๊ธฐ๋ณธ YOLO ๋ชจ๋ธ(yoloe-11l-seg-pf.pt
,yoloe-11s-seg-pf.pt
,yoloe-11l-seg.pt
,yoloe-11s-seg.pt
)์ ์ดmodels
๋๋ ํ ๋ฆฌ์ ๋ค์ด๋ก๋ํฉ๋๋ค.- Ultralytics์ GitHub ์ ์ฅ์์์
clip
Python ํจํค์ง๋ฅผ ํ์ฑ Python ํ๊ฒฝ์ ์ง์ ์ค์นํ๋ ค๊ณ ํฉ๋๋ค . ์ด๋find
๋๊ตฌ์ ํ ์คํธ ํ๋กฌํํธ ๊ธฐ๋ฅ์ ํ์ํฉ๋๋ค. find
๋๊ตฌ์ ํ์ํ CLIP ๋ชจ๋ธ ํ์ผ์models
๋๋ ํ ๋ฆฌ์ ๋ค์ด๋ก๋ํฉ๋๋ค.
์ธ์ ๋ ์ง ์ด ํ๋ก์ธ์ค๋ฅผ ์คํํ์ฌ ๊ธฐ๋ณธ ๋ชจ๋ธ์ ๋ณต์ํ๊ณ clip
์ค์น๋ฅผ ์๋ํ ์ ์์ต๋๋ค.
uv venv
์ฌ์ฉํ์ฌ ๊ฐ์ ํ๊ฒฝ ์์ฑ: ํ ์คํธ ๊ฒฐ๊ณผ,uv venv
๋ก ์์ฑ๋ ๊ฐ์ ํ๊ฒฝ์๋imagesorcery-mcp --post-install
์คํฌ๋ฆฝํธ๊ฐ GitHub์์clip
ํจํค์ง๋ฅผ ์๋์ผ๋ก ์ค์นํ ์ ์๋๋กpip
ํฌํจ๋์ง ์์ ์ ์์ต๋๋ค(clip
์ค์น ๋จ๊ณ์์ "pip๋ผ๋ ์ด๋ฆ์ ๋ชจ๋์ด ์์ต๋๋ค" ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์).uv venv
์ฌ์ฉํ๋ ๊ฒฝ์ฐ:uv venv
์์ฑํ๊ณ ํ์ฑํํ์ธ์.imagesorcery-mcp
์ค์น :uv pip install imagesorcery-mcp
.- ํ์ฑ
uv venv
์clip
ํจํค์ง๋ฅผ ์๋์ผ๋ก ์ค์นํฉ๋๋ค. imagesorcery-mcp --post-install
์คํํ์ธ์. ๋ชจ๋ธ์ ๋ค์ด๋ก๋๋์ง๋งclip
Python ํจํค์ง ์ค์น์ ์คํจํ ์ ์์ต๋๋ค. ์ค์น ํ ์คํฌ๋ฆฝํธ๋ฅผ ํตํดclip
์๋์ผ๋ก ๋ ์ํํ๊ฒ ์ค์นํ๋ ค๋ฉด, ์์ 1๋จ๊ณ์์ ์ค๋ช ํ ๋๋กpython -m venv
์ฌ์ฉํ์ฌ ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
uvx imagesorcery-mcp --post-install
์ฌ์ฉ:uvx
์ฌ์ฉํ์ฌ ์ค์น ํ ์คํฌ๋ฆฝํธ๋ฅผ ์ง์ ์คํํ๋ฉด(์:uvx imagesorcery-mcp --post-install
)clip
Python ํจํค์ง ์ค์น์ ์คํจํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ด๋uvx
๊ฐ ์์ฑํ๋ ์์ ํ๊ฒฝ์ ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํ ์ ์๋pip
์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ชจ๋ธ์ ๋ค์ด๋ก๋๋์ง๋ง, ์ด ๋ช ๋ น์ผ๋ก๋clip
ํจํค์ง๊ฐ ์ค์น๋์ง ์์ต๋๋ค.uvx
์ฌ์ฉํ์ฌ ๊ธฐ๋ณธimagesorcery-mcp
์๋ฒ๋ฅผ ์คํํ๊ณclip
๊ธฐ๋ฅ์ด ํ์ํ ๊ฒฝ์ฐ,uvx
์ฐพ์ ์ ์๋ ์ ๊ทผ ๊ฐ๋ฅํ Python ํ๊ฒฝ์clip
ํจํค์ง๊ฐ ์ค์น๋์ด ์๋์ง ํ์ธํ๊ฑฐ๋,python -m venv
๋ก ์์ฑ๋ ์๊ตฌ ํ๊ฒฝ์imagesorcery-mcp
๋ฅผ ์ค์นํ๋ ๊ฒ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
โ๏ธ MCP ํด๋ผ์ด์ธํธ ๊ตฌ์ฑ
MCP ํด๋ผ์ด์ธํธ์ ๋ค์ ์ค์ ์ ์ถ๊ฐํ์ธ์. ์ค์น ํ imagesorcery-mcp
์์คํ
PATH์ ์์ผ๋ฉด imagesorcery-mcp
๋ช
๋ น์ผ๋ก ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์คํ ํ์ผ์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
๐ฆ ์ถ๊ฐ ๋ชจ๋ธ
์ผ๋ถ ๋๊ตฌ์ ๊ฒฝ์ฐ models
๋๋ ํ ๋ฆฌ์์ ํน์ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ชจ๋ธ์ ๋ค์ด๋ก๋ํ ๋ ์คํฌ๋ฆฝํธ๋ ์๋์ผ๋ก models/model_descriptions.json
ํ์ผ์ ์
๋ฐ์ดํธํฉ๋๋ค.
- Ultralytics ๋ชจ๋ธ์ ๊ฒฝ์ฐ: ์ค๋ช
์
src/imagesorcery_mcp/scripts/create_model_descriptions.py
์ ๋ฏธ๋ฆฌ ์ ์๋์ด ์์ผ๋ฉฐ ๊ฐ ๋ชจ๋ธ์ ๋ชฉ์ , ํฌ๊ธฐ, ํน์ฑ์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค. - Hugging Face ๋ชจ๋ธ์ ๊ฒฝ์ฐ: Hugging Face Hub์ ๋ชจ๋ธ ์นด๋์์ ์ค๋ช ์ด ์๋์ผ๋ก ์ถ์ถ๋ฉ๋๋ค. ์คํฌ๋ฆฝํธ๋ ๋ชจ๋ธ ์์ธ์ ๋ชจ๋ธ ์ด๋ฆ์ด๋ ์ค๋ช ์ ์ฒซ ์ค์ ์ฌ์ฉํ๋ ค๊ณ ํฉ๋๋ค.
๋ชจ๋ธ์ ๋ค์ด๋ก๋ํ ํ์๋ models/model_descriptions.json
์ ์ค๋ช
์ ํ์ธํ๊ณ ํ์ํ ๊ฒฝ์ฐ ๋ชจ๋ธ์ ๊ธฐ๋ฅ๊ณผ ์ฌ์ฉ ์ฌ๋ก์ ๋ํ ๋ณด๋ค ์ ํํ๊ณ ์์ธํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋๋ก ์กฐ์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๐ค ๊ธฐ์ฌํ๊ธฐ
๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
์ด ์ ์ฅ์๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
๊ฐ๋ฐ ์ค์
- ์ ์ฅ์๋ฅผ ๋ณต์ ํฉ๋๋ค.
- (๊ถ์ฅ) ๊ฐ์ ํ๊ฒฝ์ ๋ง๋ค๊ณ ํ์ฑํํ์ธ์.
- ๊ฐ๋ฐ ์ข ์์ฑ๊ณผ ํจ๊ป ํธ์ง ๊ฐ๋ฅํ ๋ชจ๋๋ก ํจํค์ง๋ฅผ ์ค์นํ์ธ์.
์ด๋ ๊ฒ ํ๋ฉด imagesorcery-mcp
์ [project.dependencies]
๋ฐ [project.optional-dependencies].dev
์ ๋ชจ๋ ์ข
์์ฑ( build
๋ฐ twine
ํฌํจ)์ด ์ค์น๋ฉ๋๋ค.
๊ท์น
์ด๋ฌํ ๊ท์น์ ๋ชจ๋ ์ฐธ์ฌ์, ์ฆ ์ธ๊ฐ๊ณผ AI์๊ฒ ์ ์ฉ๋ฉ๋๋ค.
- ํ๋ก์ ํธ์ ๋ชจ๋
README.md
ํ์ผ์ ์ฝ์ด๋ณด์ธ์. ํ๋ก์ ํธ ๊ตฌ์กฐ์ ๋ชฉ์ ์ ์ดํดํ๊ณ , ๊ธฐ์ฌ ์ง์นจ์ ์์งํ์ธ์. ์ด ์ง์นจ์ด ์์ ๊ณผ ์ด๋ค ๊ด๋ จ์ด ์๋์ง, ๊ทธ๋ฆฌ๊ณ ๊ทธ์ ๋ฐ๋ผ ์ด๋ป๊ฒ ์์ ํ ์ง ์๊ฐํด ๋ณด์ธ์. pyproject.toml
์ฝ์ด๋ณด์ธ์.[tool.ruff]
,[tool.ruff.lint]
,[project.optional-dependencies]
,[project]dependencies
์น์ ์ ์ฃผ์ํ์ธ์.pyproject.toml
์ ์ ์๋ ์ฝ๋ ์คํ์ผ์ ์๊ฒฉํ ์ค์ํ์ธ์.pyproject.toml
ํ์ผ dependencies์ ์ ์๋ ์คํ์ ๋ฐ๋ฅด๊ณ , ์ ๋นํ ์ด์ ์์ด ์๋ก์ด ์ข ์์ฑ์ ์ถ๊ฐํ์ง ๋ง์ธ์.- ์ ํ์ผ๊ณผ ๊ธฐ์กด ํ์ผ์ ์ฝ๋๋ฅผ ์์ฑํ์ธ์. ์๋ก์ด ์ข
์์ฑ์ด ํ์ํ ๊ฒฝ์ฐ
pyproject.toml
์ ๋ฐ์ดํธํ๊ณpip install -e .
๋๋pip install -e ".[dev]"
์ฌ์ฉํ์ฌ ์ค์นํ์ธ์.pip install
ํตํด ์ง์ ์ค์นํ์ง ๋ง์ธ์. ๊ธฐ์กด ์์ค ์ฝ๋(์:src/imagesorcery_mcp/server.py
,src/imagesorcery_mcp/tools/crop.py
)์์ ์์ ๋ฅผ ํ์ธํ์ธ์. ๊ธฐ์กด ์ฝ๋์ ์ฝ๋ ์คํ์ผ, ๋ช ๋ช ๊ท์น, ์ ์ถ๋ ฅ ๋ฐ์ดํฐ ํ์, ์ฝ๋ ๊ตฌ์กฐ, ์ํคํ ์ฒ ๋ฑ์ ์ค์ํ์ธ์. - ๊ด๋ จ
README.md
ํ์ผ์ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ์ ๋ฐ์ดํธํ์ธ์. ๊ธฐ์กดREADME.md
ํ์ผ์ ํ์๊ณผ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ์ ์งํ์ธ์. - ์ฝ๋์ ๋ํ ํ
์คํธ๋ฅผ ์์ฑํ์ธ์. ๊ธฐ์กด ํ
์คํธ์์ ์์๋ฅผ ํ์ธํ์ธ์(์:
tests/test_server.py
,tests/tools/test_crop.py
). ๊ธฐ์กด ํ ์คํธ์ ์ฝ๋ ์คํ์ผ, ๋ช ๋ช ๊ท์น, ์ ์ถ๋ ฅ ๋ฐ์ดํฐ ํ์, ์ฝ๋ ๊ตฌ์กฐ, ์ํคํ ์ฒ ๋ฑ์ ๊ทธ๋๋ก ๋ฐ๋ฅด์ธ์. - ํ ์คํธ์ ๋ฆฐํฐ๋ฅผ ์คํํ์ฌ ๋ชจ๋ ๊ฒ์ด ์ ๋๋ก ์๋ํ๋์ง ํ์ธํ์ธ์.
์คํจํ ๊ฒฝ์ฐ ์ฝ๋์ ํ ์คํธ๋ฅผ ์์ ํ์ธ์. ๋ชจ๋ ์ ์ฝ๋๋ linter ๊ท์น์ ์ค์ํ๊ณ ๋ชจ๋ ํ ์คํธ๋ฅผ ํต๊ณผ ํด์ผ ํฉ๋๋ค .
์ฝ๋ฉ ํํธ
- ์ ์ ํ ๊ฒฝ์ฐ ์ ํ ํํธ๋ฅผ ์ฌ์ฉํ์ธ์
- ๋ฐ์ดํฐ ๊ฒ์ฆ ๋ฐ ์ง๋ ฌํ๋ฅผ ์ํด Pydantic์ ์ฌ์ฉํ์ธ์
๐ ์ง๋ฌธ์ด ์์ผ์ ๊ฐ์?
์ด ํ๋ก์ ํธ์ ๊ดํ ์ง๋ฌธ, ๋ฌธ์ ์ ๋๋ ์ ์ ์ฌํญ์ด ์์ผ์๋ฉด ์ธ์ ๋ ์ง ๋ฌธ์ํด ์ฃผ์ธ์.
๋ฒ๊ทธ ๋ณด๊ณ ๋ ๊ธฐ๋ฅ ์์ฒญ์ ์ํด ์ ์ฅ์์์ ์ด์๋ฅผ ์ด ์๋ ์์ต๋๋ค.
๐ ๋ผ์ด์ผ์ค
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ผ์ด์ ์ค๊ฐ ๋ถ์ฌ๋ฉ๋๋ค. ์ฆ, MIT ๋ผ์ด์ ์ค์ ์ฝ๊ด์ ๋ฐ๋ผ ์ํํธ์จ์ด๋ฅผ ์์ ๋กญ๊ฒ ์ฌ์ฉ, ์์ ๋ฐ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
๐ช ์ด๋ฏธ์ง์์๋ฆฌ MCP
Related MCP Servers
- AsecurityAlicenseAqualityEnables AI assistants to download images from URLs and perform basic image optimization tasks.Last updated -24JavaScriptApache 2.0
- -securityAlicense-qualityA Cursor-compatible toolkit that provides intelligent coding assistance through custom AI tools for code architecture planning, screenshot analysis, code review, and file reading capabilities.Last updated -6022TypeScriptMIT License
- JavaScript
- -securityFlicense-qualityEnables searching for AI agents by keywords or categories, allowing users to discover tools like coding agents, GUI agents, or industry-specific assistants across marketplaces.Last updated -23Python