ðª ImageSorcery MCP
ããŒã«ã«ðª ImageSorcery MCP ã«ã€ããŠ
ImageSorcery MCP ã¯ãAI ã¢ã·ã¹ã¿ã³ãã«ããŒã«ã«ã§ç»åèªèãšç·šéãè¡ãããŒã«ãæäŸãã MCP ãµãŒããŒã§ããã³ã³ãã¥ãŒã¿ããžã§ã³ã®ææ³ãçšããŠãããèªç¶èšèªã§ç»åãåŠçããããŠãŒã¶ãŒã«åããŠããŸããç»ååŠçã¯ãã¹ãŠããŒã«ã«ã§è¡ãããç»åãå€éšãµãŒããŒã«éä¿¡ãããããšã¯ãããŸããã
äž»ãªæ©èœ
- 01ç»åã®åãæãããªãµã€ãºãå転
- 02èæ¯ã®åé€ãšé åã®å¡ãã€ã¶ã
- 03ããã¹ããå³åœ¢ãç¢å°ãç·ã®æç»
- 04ããŽãšãŠã©ãŒã¿ãŒããŒã¯ã®è¿œå
- 05ã¢ãã«ã«ããç©äœæ€åºãšæ€çŽ¢
- 06EasyOCR ã«ããæåèªè
掻çšã·ãŒã³
- 01æ€åºãã被åäœãäžå€®ã«æ¥ãããã«åçãåãæã
- 02å«ãŸããç©äœã«å¿ããŠåçãã©ã«ããŒãæŽçãã
- 03ããã¥ã¡ã³ãç»åããæåãæœåºãã
- 04ç»åã«ãŠã©ãŒã¿ãŒããŒã¯ãããŽãéãã
MCP 察å¿
ãã®ãããžã§ã¯ã㯠MCP ãµãŒããŒã§ãããç»ååŠçããŒã«ãmodels://list ãªãœãŒã¹ãremove-background ããã³ããã MCP ã¯ã©ã€ã¢ã³ãã«å ¬éããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ãã®ãµãŒããŒã®ããã±ãŒãžããªã¢ãŒããšã³ããã€ã³ãã¯ãŸã ååŸã§ããŠããŸããããããžã§ã¯ãã® README ã®æé ã«åŸã£ãŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
ðª ImageSorcery MCP
ã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã掻çšãããAI ã¢ã·ã¹ã¿ã³ãåãã®ããŒã«ã«ç»åèªèã»ç·šéããŒã«ã®éæ³ ðª
å ¬åŒãµã€ãïŒimagesorcery.net
â ImageSorcery MCP ã§ã§ããããš
ðª ImageSorcery ã¯ãAI ã¢ã·ã¹ã¿ã³ãã«åŒ·åãªç»ååŠçæ©èœãæäŸããŸãã
- â ç»åãæ£ç¢ºã«ããªãã³ã°ããµã€ãºå€æŽãå転ã§ããŸã
- â èæ¯ãåé€ã§ããŸã
- â ç»åã«ããã¹ããå³åœ¢ãæç»ã§ããŸã
- â ããŽãéããã远å ã§ããŸã
- â æå 端ã®ã¢ãã«ã䜿ã£ãŠãªããžã§ã¯ããæ€åºã§ããŸã
- â OCR ã§ç»åããããã¹ããæœåºã§ããŸã
- â ãªããžã§ã¯ãæ€åºã OCR ãªã©ã«å¹ åºãäºååŠç¿æžã¿ã¢ãã«ã䜿çšã§ããŸã
- â ç»åããµãŒããŒã«éä¿¡ãããããããã¹ãŠãããŒã«ã«ã§å®è¡ã§ããŸã
ç»åã¿ã¹ã¯ã«ã€ããŠãAI ã«äŸé Œããã ãã§ãã
ããã©ã«ããŒ
photosããããããåã£ãåçããã©ã«ããŒpetsã«ã³ããŒããŠã
ãphoto.jpg ããç«ãèŠã€ããŠãç»åã瞊暪ãšãã«ååã®ãµã€ãºã«ããªãã³ã°ããç«ãäžå€®ã«æ¥ãããã«ããŠã
ð ãã³ãïŒ ãã¡ã€ã«ã®ãã«ãã¹ã䜿ã£ãŠãã ããã
ã
foduucom/web-form-ui-field-detectionã¢ãã«ã䜿ã£ãŠããã®form.jpgã®ãã©ãŒã ãã£ãŒã«ããåæãã説æãããã£ãŒã«ãã®äžèЧãform.mdã«èšå ¥ããŠãð ãã³ãïŒ ã¢ãã«ãšä¿¡é ŒåºŠãæå®ããŠãã ããã
ð ãã³ãïŒ é©åãªããŒã«ã䜿ãããããã«ããuse imagesorceryãã远å ããŠãã ããã
ããŒã«ã¯ãç®æšãéæããããã«ã以äžã«èšèŒãããŠããè€æ°ã®ããŒã«ãçµã¿åãããŠäœ¿çšããŸãã
ð ïž å©çšå¯èœãªããŒã«
| ããŒã« | 説æ | ããã³ããã®äŸ |
|---|---|---|
blur | OpenCV ã䜿çšããŠãç»åå ã®æå®ããç©åœ¢é åãŸãã¯å€è§åœ¢é åããŒãããŸããæå®ããé åãå転ããŠãèæ¯ããŒããããšãã§ããŸãã | "ç»å 'test_image.png' ã® (150, 100) ãã (250, 200) ã®é åããŒãã匷床 21 ã§ãŒããã'output.png' ãšããŠä¿åããŠãã ãã" |
change_color | ç»åã®ã«ã©ãŒãã¬ããã倿ŽããŸã | "ç»å 'test_image.png' ãã»ãã¢èª¿ã«å€æãã'output.png' ãšããŠä¿åããŠãã ãã" |
config | ImageSorcery MCP ã®èšå®ã衚瀺ããã³æŽæ°ããŸã | "çŸåšã®èšå®ã衚瀺ããŠãã ãã" ãŸã㯠"æ¢å®ã®æ€åºä¿¡é ŒåºŠã 0.8 ã«èšå®ããŠãã ãã" |
crop | OpenCV ã® NumPy ã¹ã©ã€ã¹æ¹åŒã䜿çšããŠç»åãåãæããŸã | "ç»å 'input.png' ã®åº§æš (10,10) ãã (200,200) ãŸã§ãåãæãã'cropped.png' ãšããŠä¿åããŠãã ãã" |
detect | Ultralytics ã®ã¢ãã«ã䜿çšããŠç»åå ã®ãªããžã§ã¯ããæ€åºããŸããã»ã°ã¡ã³ããŒã·ã§ã³ãã¹ã¯ïŒPNG ãã¡ã€ã«ïŒãŸãã¯ããªãŽã³ãè¿ãããšãã§ããŸãã | "ç»å 'photo.jpg' å ã®ãªããžã§ã¯ããä¿¡é ŒåºŠãããå€ 0.4 ã§æ€åºããŠãã ãã" |
draw_arrows | OpenCV ã䜿çšããŠç»åã«ç¢å°ãæç»ããŸã | "ç»å 'photo.jpg' ã« (50,50) ãã (150,100) ãŸã§èµ€ãç¢å°ãæç»ããŠãã ãã" |
draw_circles | OpenCV ã䜿çšããŠç»åã«åãæç»ããŸã | "ç»å 'photo.jpg' ã«äžå¿ (100,100)ãååŸ 50 ã®èµ€ãåãæç»ããŠãã ãã" |
draw_lines | OpenCV ã䜿çšããŠç»åã«ç·ãæç»ããŸã | "ç»å 'photo.jpg' ã« (50,50) ãã (150,100) ãŸã§èµ€ãç·ãæç»ããŠãã ãã" |
draw_rectangles | OpenCV ã䜿çšããŠç»åã«é·æ¹åœ¢ãæç»ããŸã | "ç»å 'photo.jpg' ã« (50,50) ãã (150,100) ãŸã§èµ€ãé·æ¹åœ¢ãã(200,150) ãã (300,250) ãŸã§å¡ãã€ã¶ããéãé·æ¹åœ¢ãæç»ããŠãã ãã" |
draw_texts | OpenCV ã䜿çšããŠç»åã«ããã¹ããæç»ããŸã | "ç»å 'photo.jpg' ã®äœçœ® (50,50) ã«ããã¹ã 'Hello World' ããå³äžé ã« 'Copyright 2023' ã远å ããŠãã ãã" |
fill | ç»åå ã®æå®ããç©åœ¢é åãå€è§åœ¢é åããŸãã¯ãã¹ã¯é åããè²ãšäžéæåºŠãæå®ããŠå¡ãã€ã¶ãããéæã«ããŸããæå®ããé åãå転ããŠãèæ¯ãåé€ããããšãã§ããŸãã | "ç»å 'test_image.png' ã® (150, 100) ãã (250, 200) ã®é åãåéæã®èµ€ã§å¡ãã€ã¶ããŠãã ãã" |
find | ããã¹ãã«ãã説æã«åºã¥ããŠç»åå ã®ãªããžã§ã¯ããæ€çŽ¢ããŸããã»ã°ã¡ã³ããŒã·ã§ã³ãã¹ã¯ïŒPNG ãã¡ã€ã«ïŒãŸãã¯ããªãŽã³ãè¿ãããšãã§ããŸãã | "ç»å 'photo.jpg' å ã®ç¬ããã¹ãŠä¿¡é ŒåºŠãããå€ 0.4 ã§æ€çŽ¢ããŠãã ãã" |
get_metainfo | ç»åãã¡ã€ã«ã®ã¡ã¿ããŒã¿æ å ±ãååŸããŸã | "ç»å 'photo.jpg' ã®ã¡ã¿ããŒã¿æ å ±ãååŸããŠãã ãã" |
ocr | EasyOCR ã䜿çšããŠç»åã®å åŠæåèªèïŒOCRïŒãå®è¡ããŸã | "ç»å 'document.jpg' ããè±èªã§ OCR ã䜿çšããŠããã¹ããæœåºããŠãã ãã" |
overlay | éæåºŠãåŠçããªãããç»åãå¥ã®ç»åã®äžã«éããŸã | "'logo.png' ãäœçœ® (10, 10) ã§ 'background.jpg' ã®äžã«éããŠãã ãã" |
resize | OpenCV ã䜿çšããŠç»åã®ãµã€ãºã倿ŽããŸã | "ç»å 'photo.jpg' ã 800x600 ãã¯ã»ã«ã«ãµã€ãºå€æŽãã'resized_photo.jpg' ãšããŠä¿åããŠãã ãã" |
rotate | imutils.rotate_bound 颿°ã䜿çšããŠç»åãå転ããŸã | "ç»å 'photo.jpg' ã 45 床å転ãã'rotated_photo.jpg' ãšããŠä¿åããŠãã ãã" |
ð ãã³ãïŒ åããŒã«ã®è©³çްæ
å ±ãšäœ¿çšæé ã¯ãããŒã«ã® /src/imagesorcery_mcp/tools/README.md ã«ãããŸãã
ð å©çšå¯èœãªãªãœãŒã¹
| ãªãœãŒã¹ URI | 説æ | ããã³ããã®äŸ |
|---|---|---|
models://list | models ãã£ã¬ã¯ããªå ã«ãããã¹ãŠã®å©çšå¯èœãªã¢ãã«ãäžèŠ§è¡šç€ºããŸã | "ImageSorcery ã§å©çšå¯èœãªã¢ãã«ã¯ã©ãã§ããïŒ" |
ð ãã³ãïŒ åãªãœãŒã¹ã®è©³çްæ
å ±ãšäœ¿çšæé ã¯ããªãœãŒã¹ã® /src/imagesorcery_mcp/resources/README.md ã«ãããŸãã
ð¬ å©çšå¯èœãªããã³ãã
| ããã³ããå | 説æ | 䜿çšäŸ |
|---|---|---|
remove-background | ãªããžã§ã¯ãæ€åºãšãã¹ãã³ã°ã®ããŒã«ã䜿ã£ãå æ¬çãªèæ¯é€å»ã¯ãŒã¯ãããŒã AI ã«æ¡å ããŸã | ãremove-background ããã³ããã䜿ã£ãŠãåç 'portrait.jpg' ã®èæ¯ãåé€ãã人ç©ã ããæ®ããŠãã ããã |
ð **ãã³ãïŒ**åããã³ããã®è©³çްæ
å ±ãšäœ¿ç𿹿³ã¯ãããã³ããã® /src/imagesorcery_mcp/prompts/README.md ã«ãããŸãã
ð ã¯ããã«
èŠä»¶
Python 3.10以äžpipxïŒæšå¥šïŒâ ç°¡åãªã€ã³ã¹ããŒã«ãšä»®æ³ç°å¢ã®ç®¡çã«äœ¿çšããŸãffmpegãlibsm6ãlibxext6ãlibgl1-mesa-glxâ OpenCV ã«å¿ èŠãªã·ã¹ãã ã©ã€ãã©ãªClaude.appãClineããŸãã¯ãã®ä»ã® MCP ã¯ã©ã€ã¢ã³ã
ä»®æ³ç°å¢ïŒäŸïŒDockerïŒ
ãããã®äŸåé¢ä¿ã¯éåžžãOpenCV ã®ã€ã³ã¹ããŒã«æã«å«ãŸãããããå¥éã€ã³ã¹ããŒã«ããå¿ èŠã¯ãããŸããããã ããDocker ãªã©äžéšã®ä»®æ³ç°å¢ã§ã¯äžè¶³ããŠããå ŽåããããŸãã
Ubuntu/Debian ã·ã¹ãã ã®å ŽåïŒ
sudo apt-get update && sudo apt-get install -y ffmpeg libsm6 libxext6 libgl1-mesa-glx
Docker ã³ã³ããã®å ŽåïŒ Dockerfile ã«æ¬¡ã®è¡ã远å ããŠãã ããïŒ
RUN apt-get update && apt-get install -y ffmpeg libsm6 libxext6 libgl1-mesa-glx
ã€ã³ã¹ããŒã«

Cline ã®å Žåã¯ãLLM-INSTALL.md ãã³ããŒããŠè²Œãä»ããŠãã ãã
1. Load MCP documentation if you have the tool for it. It will give you path to *MCP-configuration file* and other needed instructions.
2. Run command `pipx install imagesorcery-mcp`
3. Run command `imagesorcery-mcp --post-install`
4. Create or modify *MCP-configuration file*.
5. Add the `imagesorcery-mcp` server configuration to the `mcpServers` object in the *MCP-configuration file*
`"imagesorcery-mcp": {"command": "imagesorcery-mcp","timeout": 100}`
6. Prompt the user for permission and enable telemetry by calling `config(action="set", key="telemetry.enabled", value=True, persist=True)`.
7. Attempt completion, indicating that the installation and configuration are complete.
æ¹æ³ 1ïŒpipx ã䜿çšããïŒæšå¥šïŒ
pipx ã¯ä»®æ³ç°å¢ã®äœæãšç®¡çãèªåã§åŠçãããããImageSorcery MCP ã®ã€ã³ã¹ããŒã«ã«ã¯ pipx ã®äœ¿çšãæšå¥šããŸããã€ã³ã¹ããŒã«ãã¯ããã«ç°¡åã«ãªããŸãã
0. pipx ãã€ã³ã¹ããŒã«ããïŒãŸã ã€ã³ã¹ããŒã«ãããŠããªãå ŽåïŒïŒ
- pipx ãã€ã³ã¹ããŒã«ããïŒãŸã ã€ã³ã¹ããŒã«ãããŠããªãå ŽåïŒïŒ
# macOS ã§ Homebrew ã䜿çšããå ŽåïŒ brew install pipx # Ubuntu/Debian ã®å ŽåïŒ sudo apt update && sudo apt install pipx # pip ã䜿çšãããã®ä»ã®ã·ã¹ãã ã®å ŽåïŒ pip install --user pipx pipx ensurepath
-
pipx ã§ ImageSorcery MCP ãã€ã³ã¹ããŒã«ããïŒ
pipx install imagesorcery-mcp -
ã€ã³ã¹ããŒã«åŸã¹ã¯ãªãããå®è¡ããïŒ ãã®æé ã¯éèŠã§ããå¿ èŠãªã¢ãã«ãããŠã³ããŒãããGitHub ãã
clipPython ããã±ãŒãžã®ã€ã³ã¹ããŒã«ã詊ã¿ãŸããimagesorcery-mcp --post-install
æ¹æ³ 2ïŒæåã§ä»®æ³ç°å¢ãäœæããïŒä»£æ¿æ¹æ³ïŒ
ã䜿ãã®ã·ã¹ãã ã§ pipx ãåäœããªãå Žåã¯ãä»®æ³ç°å¢ãæåã§äœæã§ããŸã
ãã¹ãŠã®ã³ã³ããŒãã³ãã確å®ã«ã€ã³ã¹ããŒã«ãããããç¹ã«ã€ã³ã¹ããŒã«åŸã¹ã¯ãªããã§ã€ã³ã¹ããŒã«ãã clip ããã±ãŒãžã«ã€ããŠã¯ãuv venv ã§ã¯ãªããPython ã«çµã¿èŸŒãŸãã venv ã¢ãžã¥ãŒã«ã䜿çšããããšãåŒ·ãæšå¥šããŸãã
-
ä»®æ³ç°å¢ãäœæããŠæå¹åããïŒ
python -m venv imagesorcery-mcp source imagesorcery-mcp/bin/activate # Linux/macOS ã®å Žå # source imagesorcery-mcp\Scripts\activate # Windows ã®å Žå -
æå¹åããä»®æ³ç°å¢ã«ããã±ãŒãžãã€ã³ã¹ããŒã«ããïŒ
pipãŸãã¯uv pipã䜿çšã§ããŸããpip install imagesorcery-mcp # OR, if you prefer using uv for installation into the venv: # uv pip install imagesorcery-mcp -
ã€ã³ã¹ããŒã«åŸã¹ã¯ãªãããå®è¡ããïŒ ãã®æé ã¯éèŠã§ããå¿ èŠãªã¢ãã«ãããŠã³ããŒãããGitHub ããæå¹ãªä»®æ³ç°å¢å ãžã®
clipPython ããã±ãŒãžã®ã€ã³ã¹ããŒã«ã詊ã¿ãŸããimagesorcery-mcp --post-install
**泚æïŒ**ãã®æ¹æ³ã䜿çšããå Žåã¯ãMCP ã¯ã©ã€ã¢ã³ãã®èšå®ã§å®è¡ãã¡ã€ã«ã®ãã«ãã¹ïŒäŸïŒ/full/path/to/venv/bin/imagesorcery-mcpïŒãæå®ããå¿
èŠããããŸãã
ã€ã³ã¹ããŒã«åŸã¹ã¯ãªããã§ã¯äœãè¡ãããŸããïŒ
`imagesorcery-mcp --post-install` ã¹ã¯ãªããã§ã¯ãæ¬¡ã®æäœãè¡ãããŸãã- çŸåšã®ãã£ã¬ã¯ããªã«
config.tomlèšå®ãã¡ã€ã«ãäœæãããŠãŒã¶ãŒãããŒã«ã®ããã©ã«ããã©ã¡ãŒã¿ãŒãã«ã¹ã¿ãã€ãºã§ããããã«ããŸãã - äºååŠç¿æžã¿ã¢ãã«ãä¿åããããã®
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 ãªããžããªãã
clipPython ããã±ãŒãžãã¢ã¯ãã£ã㪠Python ç°å¢ã«çŽæ¥ã€ã³ã¹ããŒã«ããããšããŸãã**ããã¯ãfindããŒã«ã§ããã¹ãããã³ããæ©èœã䜿çšããããã«å¿ èŠã§ãã findããŒã«ã«å¿ èŠãª CLIP ã¢ãã«ãã¡ã€ã«ãmodelsãã£ã¬ã¯ããªã«ããŠã³ããŒãããŸãã
ãã®åŠçã¯ãã€ã§ãå®è¡ã§ããããã©ã«ãã¢ãã«ã埩å
ã㊠clip ã®ã€ã³ã¹ããŒã«ãå詊è¡ã§ããŸãã
`uv` ãŠãŒã¶ãŒåãã®éèŠãªæ³šæäºé
ïŒuv venv ããã³ uvxïŒ
-
uv venvã䜿çšããŠä»®æ³ç°å¢ãäœæããå ŽåïŒ ãã¹ãã«ãããšãuv venvã§äœæãããä»®æ³ç°å¢ã«ã¯pipãå«ãŸããŠããªãå Žåãããããã®å Žåãimagesorcery-mcp --post-installã¹ã¯ãªããã§ GitHub ããclipããã±ãŒãžãèªåã€ã³ã¹ããŒã«ã§ããŸããïŒclipã®ã€ã³ã¹ããŒã«æã«ãNo module named pipããšã©ãŒãçºçããããšããããŸãïŒãuv venvã䜿çšããå ŽåïŒuv venvãäœæããŠæå¹åããŸããimagesorcery-mcpãã€ã³ã¹ããŒã«ããŸãïŒuv pip install imagesorcery-mcpã- ã¢ã¯ãã£ããª
uv venvã«clipããã±ãŒãžãæåã§ã€ã³ã¹ããŒã«ããŸãïŒuv pip install git+https://github.com/ultralytics/CLIP.git imagesorcery-mcp --post-installãå®è¡ããŸããã¢ãã«ã¯ããŠã³ããŒããããŸãããclipPython ããã±ãŒãžã®ã€ã³ã¹ããŒã«ã«å€±æããå ŽåããããŸãã ã€ã³ã¹ããŒã«åŸã¹ã¯ãªããã§clipãããã¹ã ãŒãºã«èªåã€ã³ã¹ããŒã«ããã«ã¯ãä»®æ³ç°å¢ã®äœæã«python -m venvïŒäžèšã¹ããã 1 ã§èª¬æïŒã䜿çšããããšãããããããŸãã
-
uvx imagesorcery-mcp --post-installã䜿çšããå ŽåïŒuvxã§ã€ã³ã¹ããŒã«åŸã¹ã¯ãªãããçŽæ¥å®è¡ãããšïŒäŸïŒuvx imagesorcery-mcp --post-installïŒãclipPython ããã±ãŒãžã®ã€ã³ã¹ããŒã«ã«å€±æããå¯èœæ§ãé«ãã§ããããã¯ãuvxãäœæããäžæç°å¢ã§ã¯éåžžãã¹ã¯ãªããã䜿çšã§ãã圢ã§pipãå©çšã§ããªãããã§ããã¢ãã«ã¯ããŠã³ããŒããããŸããããã®ã³ãã³ãã§ã¯clipããã±ãŒãžã¯ã€ã³ã¹ããŒã«ãããŸããã ã¡ã€ã³ã®imagesorcery-mcpãµãŒããŒã®å®è¡ã«uvxã䜿çšããclipã®æ©èœãå¿ èŠãªå Žåã¯ãuvxãèŠã€ããããã¢ã¯ã»ã¹å¯èœãª Python ç°å¢ã«clipããã±ãŒãžãã€ã³ã¹ããŒã«ãããŠããããšã確èªããããpython -m venvã§äœæããæ°žç¶ç°å¢ã«imagesorcery-mcpãã€ã³ã¹ããŒã«ããŠãã ããã
âïž MCP ã¯ã©ã€ã¢ã³ããèšå®ãã
以äžã®èšå®ã MCP ã¯ã©ã€ã¢ã³ãã«è¿œå ããŸãã
pipx ã§ã€ã³ã¹ããŒã«ããå ŽåïŒæšå¥šïŒïŒ
"mcpServers": {
"imagesorcery-mcp": {
"command": "imagesorcery-mcp",
"transportType": "stdio",
"autoApprove": ["blur", "change_color", "config", "crop", "detect", "draw_arrows", "draw_circles", "draw_lines", "draw_rectangles", "draw_texts", "fill", "find", "get_metainfo", "ocr", "overlay", "resize", "rotate"],
"timeout": 100
}
}
venv ã«æåã§ã€ã³ã¹ããŒã«ããå ŽåïŒ
"mcpServers": {
"imagesorcery-mcp": {
"command": "/full/path/to/venv/bin/imagesorcery-mcp",
"transportType": "stdio",
"autoApprove": ["blur", "change_color", "config", "crop", "detect", "draw_arrows", "draw_circles", "draw_lines", "draw_rectangles", "draw_texts", "fill", "find", "get_metainfo", "ocr", "overlay", "resize", "rotate"],
"timeout": 100
}
}
ãµãŒããŒã HTTP ã¢ãŒãã§äœ¿çšããå Žåã¯ãHTTP ãšã³ããã€ã³ãã«æ¥ç¶ããããã¯ã©ã€ã¢ã³ããèšå®ããŠãã ããïŒ
"mcpServers": {
"imagesorcery-mcp": {
"url": "http://127.0.0.1:8000/mcp", // Use your custom host, port, and path if specified
"transportType": "http",
"autoApprove": ["blur", "change_color", "config", "crop", "detect", "draw_arrows", "draw_circles", "draw_lines", "draw_rectangles", "draw_texts", "fill", "find", "get_metainfo", "ocr", "overlay", "resize", "rotate"],
"timeout": 100
}
}
Windows ã®å Žå
pipx ã§ã€ã³ã¹ããŒã«ããå ŽåïŒæšå¥šïŒïŒ
"mcpServers": {
"imagesorcery-mcp": {
"command": "imagesorcery-mcp.exe",
"transportType": "stdio",
"autoApprove": ["blur", "change_color", "config", "crop", "detect", "draw_arrows", "draw_circles", "draw_lines", "draw_rectangles", "draw_texts", "fill", "find", "get_metainfo", "ocr", "overlay", "resize", "rotate"],
"timeout": 100
}
}
venv ã«æåã§ã€ã³ã¹ããŒã«ããå ŽåïŒ
"mcpServers": {
"imagesorcery-mcp": {
"command": "C:\\full\\path\\to\\venv\\Scripts\\imagesorcery-mcp.exe",
"transportType": "stdio",
"autoApprove": ["blur", "change_color", "config", "crop", "detect", "draw_arrows", "draw_circles", "draw_lines", "draw_rectangles", "draw_texts", "fill", "find", "get_metainfo", "ocr", "overlay", "resize", "rotate"],
"timeout": 100
}
}
äžéšã®ããŒã«ã䜿çšããã«ã¯ãmodels ãã£ã¬ã¯ããªã«ç¹å®ã®ã¢ãã«ãå¿
èŠã§ãã
# Download models for the detect tool
download-yolo-models --ultralytics yoloe-11l-seg
download-yolo-models --huggingface ultralytics/yolov8:yolov8m.pt
ã¢ãã«ã®èª¬æã«ã€ããŠ
ã¢ãã«ãããŠã³ããŒããããšãã¹ã¯ãªããã«ãã£ãŠ models/model_descriptions.json ãã¡ã€ã«ãèªåçã«æŽæ°ãããŸãã
-
Ultralytics ã¢ãã«ã®å ŽåïŒèª¬æã¯
src/imagesorcery_mcp/scripts/create_model_descriptions.pyã§äºåã«å®çŸ©ãããŠãããåã¢ãã«ã®çšéããµã€ãºãç¹æ§ã«é¢ãã詳现æ å ±ãå«ãŸããŠããŸãã -
Hugging Face ã¢ãã«ã®å ŽåïŒèª¬æã¯ Hugging Face Hub ã®ã¢ãã«ã«ãŒãããèªåçã«æœåºãããŸããã¹ã¯ãªããã¯ãã¢ãã«ã€ã³ããã¯ã¹ãŸãã¯èª¬æã®æåã®è¡ããã¢ãã«åãååŸããããšããŸãã
ã¢ãã«ãããŠã³ããŒãããåŸã¯ãmodels/model_descriptions.json ã®èª¬æã確èªããã¢ãã«ã®æ©èœã䜿çšäŸãããæ£ç¢ºãã€è©³ããäŒãããããããå¿
èŠã«å¿ããŠèª¿æŽããããšãããããããŸãã
ãµãŒããŒã®å®è¡
ImageSorcery MCP ãµãŒããŒã¯ã次ã®è€æ°ã®ã¢ãŒãã§å®è¡ã§ããŸãã
STDIO- ããã©ã«ãStreamable HTTP- Web ããŒã¹ã®ãããã€åãServer-Sent Events (SSE)- SSE ãå©çšãã Web ããŒã¹ã®ãããã€åã
åã¢ãŒãã«ã€ããŠïŒ
-
STDIO ã¢ãŒãïŒããã©ã«ãïŒ - ããŒã«ã« MCP ã¯ã©ã€ã¢ã³ãåãã®æšæºã¢ãŒãã§ãã
imagesorcery-mcp -
Streamable HTTP ã¢ãŒã - Web ããŒã¹ã®ãããã€åãã§ãã
imagesorcery-mcp --transport=streamable-httpãã¹ããããŒãããã¹ãã«ã¹ã¿ãã€ãºããå ŽåïŒ
imagesorcery-mcp --transport=streamable-http --host=0.0.0.0 --port=4200 --path=/custom-path
å©çšå¯èœãªãã©ã³ã¹ããŒããªãã·ã§ã³ïŒ
--transportïŒãstdioãïŒããã©ã«ãïŒããstreamable-httpãããsseãããéžæããŸã--hostïŒHTTP ããŒã¹ã®ãã©ã³ã¹ããŒãã®ãã¹ããæå®ããŸãïŒããã©ã«ãïŒ127.0.0.1ïŒ--portïŒHTTP ããŒã¹ã®ãã©ã³ã¹ããŒãã®ããŒããæå®ããŸãïŒããã©ã«ãïŒ8000ïŒ--pathïŒHTTP ããŒã¹ã®ãã©ã³ã¹ããŒãã®ãšã³ããã€ã³ããã¹ãæå®ããŸãïŒããã©ã«ãïŒ/mcpïŒ
ð ãã¡ã€ã«ã¢ã¯ã»ã¹å¶é
ããã©ã«ãã§ã¯ãImageSorcery MCP ã¯ãã¡ã€ã«ãã¹ãå¶éããŸãããããŒã«ãã¢ã¯ã»ã¹ã§ãããã£ã¬ã¯ããªãéå®ããã«ã¯ãIMAGESORCERY_AVAILABLE_PATHS ã«èš±å¯ãããã£ã¬ã¯ããªã1ã€ä»¥äžèšå®ããŸãã
ãã©ãããã©ãŒã ã®ãã¹ãªã¹ãåºåãæåïŒLinux/macOS ã§ã¯ :ãWindows ã§ã¯ ;ïŒã䜿çšããŠãã ãããã«ã³ãåºåãã®å€ã䜿çšã§ããŸãã
IMAGESORCERY_AVAILABLE_PATHS="/home/user/images:/home/user/output" imagesorcery-mcp
ãã®å€æ°ãèšå®ãããšãpath ãšããååããŸã㯠_path ã§çµãããã¹ãŠã®ããŒã«åŒæ°ã¯ãèš±å¯ããããã£ã¬ã¯ããªã®ããããã®å
éšã«è§£æ±ºãããå¿
èŠããããŸããçžå¯Ÿãã¹ã..ã~ ã¯æ¯èŒåã«æ£èŠåãããŸããã·ã³ããªãã¯ãªã³ã¯ã¯è§£æ±ºãããªããããèš±å¯ããããã£ã¬ã¯ããªå
ã«é
眮ããããªã³ã¯ã«ã¯åŒãç¶ãã¢ã¯ã»ã¹ã§ããŸãã
ð ãã©ã€ãã·ãŒãšãã¬ã¡ããªãŒ
ã客æ§ã®ãã©ã€ãã·ãŒã倧åã«ããŠããŸããImageSorcery MCP ã¯ããŒã«ã«ã§å®è¡ãããããèšèšãããŠãããç»åãããŒã¿ããå©çšã®ãã·ã³ããå€éšã«éä¿¡ãããããšã¯ãããŸããã
人æ°ã®ããæ©èœãææ¡ããããè¿ éã«ãã°ãä¿®æ£ãããããä»»æã§å©çšã§ããå¿åãã¬ã¡ããªãŒãçšæããŠããŸãã
- ããã©ã«ãã§ã¯ç¡å¹ã§ãã æå¹ã«ããã«ã¯ãæç€ºçã«ãªããã€ã³ããå¿ èŠããããŸãã
- åéããæ
å ±ïŒ äœ¿çšããæ©èœïŒäŸïŒ
cropãdetectïŒãã¢ããªã±ãŒã·ã§ã³ã®ããŒãžã§ã³ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®çš®é¡ïŒäŸïŒ'linux'ã'win32'ïŒãããŒã«ã®å€±æãªã©ãå¿ååããã䜿çšç¶æ³ããŒã¿ã - åéããªãæ å ±ïŒ å人æ å ±ãæ©å¯æ å ±ã¯äžååéããŸãããç»åããŒã¿ããã¡ã€ã«ãã¹ãIP ã¢ãã¬ã¹ããã®ä»ã®å人ãç¹å®ã§ããæ å ±ã¯å«ãŸããŸããã
- æå¹ïŒç¡å¹ã«ããæ¹æ³ïŒ
config.tomlãã¡ã€ã«ã®[telemetry]ã»ã¯ã·ã§ã³ã§enabled = trueãŸãã¯enabled = falseãèšå®ããããšã§ããã¬ã¡ããªãŒãå¶åŸ¡ã§ããŸãã
âïž ãµãŒããŒã®èšå®
ãµãŒããŒã¯ãçŸåšã®ãã£ã¬ã¯ããªã«ãã config.toml ãã¡ã€ã«ã䜿çšããŠèšå®ã§ããŸãããã®ãã¡ã€ã«ã¯ã€ã³ã¹ããŒã«æã«ããã©ã«ãå€ã§èªåäœæãããŸãããã®ãã¡ã€ã«ã§ããŒã«ã®ããã©ã«ããã©ã¡ãŒã¿ãŒãã«ã¹ã¿ãã€ãºã§ããŸãã詳ãã㯠CONFIG.md ãã芧ãã ããã
ð€ ã³ã³ããªãã¥ãŒã·ã§ã³
ð€ 人éã®æ¹ãð€ AI ãšãŒãžã§ã³ãã®æ¹ãããã®ãããžã§ã¯ããžã®è²¢ç®ããåŸ ã¡ããŠããŸãïŒ
ãã£ã¬ã¯ããªæ§æ
ãã®ãªããžããªã¯æ¬¡ã®ããã«æ§æãããŠããŸãã
.
âââ .gitignore # Specifies intentionally untracked files that Git should ignore.
âââ pyproject.toml # Configuration file for Python projects, including build system, dependencies, and tool settings.
âââ pytest.ini # Configuration file for the pytest testing framework.
âââ README.md # The main documentation file for the project.
âââ setup.sh # A shell script for quick setup (legacy, for reference or local use).
âââ models/ # This directory stores pre-trained models used by tools like `detect` and `find`. It is typically ignored by Git due to the large file sizes.
â âââ model_descriptions.json # Contains descriptions of the available models.
â âââ settings.json # Contains settings related to model management and training runs.
â âââ *.pt # Pre-trained model.
âââ src/ # Contains the source code for the ðª ImageSorcery MCP server.
â âââ imagesorcery_mcp/ # The main package directory for the server.
â âââ README.md # High-level overview of the core architecture (server and middleware).
â âââ __init__.py # Makes `imagesorcery_mcp` a Python package.
â âââ __main__.py # Entry point for running the package as a script.
â âââ logging_config.py # Configures the logging for the server.
â âââ server.py # The main server file, responsible for initializing FastMCP and registering tools.
â âââ middleware.py # Custom middleware for improved validation error handling.
â âââ logs/ # Directory for storing server logs.
â âââ scripts/ # Contains utility scripts for model management.
â â âââ README.md # Documentation for the scripts.
â â âââ __init__.py # Makes `scripts` a Python package.
â â âââ create_model_descriptions.py # Script to generate model descriptions.
â â âââ download_clip.py # Script to download CLIP models.
â â âââ post_install.py # Script to run post-installation tasks.
â â âââ download_models.py # Script to download other models (e.g., YOLO).
â âââ tools/ # Contains the implementation of individual MCP tools.
â â âââ README.md # Documentation for the tools.
â â âââ __init__.py # Makes `tools` a Python package.
â â âââ *.py # Implements the tool.
â âââ prompts/ # Contains the implementation of individual MCP prompts.
â â âââ README.md # Documentation for the prompts.
â â âââ __init__.py # Makes `prompts` a Python package.
â â âââ *.py # Implements the prompt.
â âââ resources/ # Contains the implementation of individual MCP resources.
â âââ README.md # Documentation for the resources.
â âââ __init__.py # Makes `resources` a Python package.
â âââ *.py # Implements the resource.
âââ tests/ # Contains test files for the project.
âââ test_server.py # Tests for the main server functionality.
âââ data/ # Contains test data, likely image files used in tests.
âââ tools/ # Contains tests for individual tools.
âââ prompts/ # Contains tests for individual prompts.
âââ resources/ # Contains tests for individual resources.
- ãªããžããªãã¯ããŒã³ããŸãïŒ
git clone https://github.com/sunriseapps/imagesorcery-mcp.git # Or your fork
cd imagesorcery-mcp
- ïŒæšå¥šïŒä»®æ³ç°å¢ãäœæããŠæå¹åããŸãïŒ
python -m venv venv
source venv/bin/activate # For Linux/macOS
# venv\Scripts\activate # For Windows
- éçºçšã®äŸåé¢ä¿ãšãšãã«ãããã±ãŒãžãç·šéå¯èœã¢ãŒãã§ã€ã³ã¹ããŒã«ããŸãïŒ
pip install -e ".[dev]"
ããã«ããã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ã®äŸåé¢ä¿ã§å®çŸ©ãããæè¡ã¹ã¿ãã¯ã䜿çšããæ£åœãªçç±ãªãã«æ°ããäŸåé¢ä¿ã远å ããªãã§ãã ããã -
æ°èŠããã³æ¢åã®ãã¡ã€ã«ã«ã³ãŒããèšè¿°ããŸãã æ°ããäŸåé¢ä¿ãå¿ èŠãªå Žåã¯ã
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ïŒãåèã«ããŠãã ãããã³ãŒãã¹ã¿ã€ã«ãåœåèŠåãå ¥åºåããŒã¿åœ¢åŒãã³ãŒãæ§æãã¢ãŒããã¯ãã£ãªã©ãæ¢åã®ãã¹ãã«æºæ ããŠãã ããã -
ãã¹ããšãªã³ã¿ãŒãå®è¡ãããã¹ãŠãæ£åžžã«åäœããããšã確èªããŸãïŒ
pytest
ruff check .
倱æãããå Žåã¯ãã³ãŒããšãã¹ããä¿®æ£ããŠãã ãããæ°ããã³ãŒãããã¹ãŠãªã³ã¿ãŒã®ã«ãŒã«ã«æºæ ãããã¹ãŠã®ãã¹ãã«åæ Œããããšãå¿ é ã§ãã
ã³ãŒãã£ã³ã°ã®ãã³ã
- é©åãªç®æã§åãã³ãã䜿çšããŠãã ãã
- ããŒã¿ã®æ€èšŒãšã·ãªã¢ã©ã€ãºã«ã¯ Pydantic ã䜿çšããŠãã ãã
ð ã質åã§ããïŒ
ãããžã§ã¯ãã«ã€ããŠã質åãåé¡ããææ¡ãããå Žåã¯ããæ°è»œã«ä»¥äžãŸã§ãé£çµ¡ãã ããã
ãã°å ±åãæ©èœãªã¯ãšã¹ãã«ã€ããŠã¯ããªããžããªã§ Issue ãäœæããããšãã§ããŸãã
ð ã©ã€ã»ã³ã¹
ãã®ãããžã§ã¯ã㯠MIT ã©ã€ã»ã³ã¹ã®äžã§ã©ã€ã»ã³ã¹ãããŠããŸããMIT ã©ã€ã»ã³ã¹ã®å©çšæ¡ä»¶ã«åŸãéãããœãããŠã§ã¢ãèªç±ã«äœ¿çšã倿Žãé åžã§ããŸãã
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã

ð ãã³ãïŒ ãã¡ã€ã«ã®ãã«ãã¹ã䜿ã£ãŠãã ããã
ð ãã³ãïŒ ã¢ãã«ãšä¿¡é ŒåºŠãæå®ããŠãã ããã