mcp-builder
npx skills add https://github.com/yamato-snow/skills --skill mcp-builder
Agent 安装分布
Skill 文档
MCPãµã¼ãã¼éçºã¬ã¤ã
æ¦è¦
LLMãé©åã«è¨è¨ããããã¼ã«ãéãã¦å¤é¨ãµã¼ãã¹ã¨é£æºã§ããMCPï¼Model Context Protocolï¼ãµã¼ãã¼ã使ãMCPãµã¼ãã¼ã®å質ã¯ãLLMãå®ä¸çã®ã¿ã¹ã¯ãããã«ãã¾ãéæã§ãããã§æ¸¬å®ãããã
ããã»ã¹
ð ãã¤ã¬ãã«ã¯ã¼ã¯ããã¼
é«å質ãªMCPãµã¼ãã¼ã®ä½æã¯4ã¤ã®ä¸»è¦ãã§ã¼ãºãå«ãï¼
ãã§ã¼ãº1ï¼è©³ç´°ãªèª¿æ»ã¨è¨ç»
1.1 ææ°ã®MCPè¨è¨ãçè§£
APIã«ãã¬ã㸠vs ã¯ã¼ã¯ããã¼ãã¼ã«ï¼ å æ¬çãªAPIã¨ã³ããã¤ã³ãã«ãã¬ãã¸ã¨ç¹æ®åãããã¯ã¼ã¯ããã¼ãã¼ã«ã®ãã©ã³ã¹ãåããã¯ã¼ã¯ããã¼ãã¼ã«ã¯ç¹å®ã®ã¿ã¹ã¯ã§ãã便å©ãªå ´åããããå æ¬çãªã«ãã¬ãã¸ã¯ã¨ã¼ã¸ã§ã³ãã«æä½ãçµã¿åãããæè»æ§ãä¸ãããããã©ã¼ãã³ã¹ã¯ã¯ã©ã¤ã¢ã³ãã«ãã£ã¦ç°ãªãâåºæ¬ãã¼ã«ãçµã¿åãããã³ã¼ãå®è¡ã®æ©æµãåããã¯ã©ã¤ã¢ã³ããããã°ãããé«ã¬ãã«ã®ã¯ã¼ã¯ããã¼ã§ãã¾ãæ©è½ããã¯ã©ã¤ã¢ã³ãããããä¸ç¢ºããªå ´åã¯ãå æ¬çãªAPIã«ãã¬ãã¸ãåªå ã
ãã¼ã«ã®å½åã¨çºè¦å¯è½æ§ï¼
æç¢ºã§èª¬æçãªãã¼ã«åã¯ãã¨ã¼ã¸ã§ã³ããé©åãªãã¼ã«ãç´ æ©ãè¦ã¤ããã®ã«å½¹ç«ã¤ãä¸è²«ãããã¬ãã£ãã¯ã¹ï¼ä¾ï¼github_create_issueãgithub_list_reposï¼ã¨ã¢ã¯ã·ã§ã³æåã®å½åã使ç¨ã
ã³ã³ããã¹ã管çï¼ ã¨ã¼ã¸ã§ã³ãã¯ç°¡æ½ãªãã¼ã«èª¬æã¨çµæã®ãã£ã«ã¿ãªã³ã°/ãã¼ã¸ãã¼ã·ã§ã³æ©è½ã®æ©æµãåãããç¦ç¹ãçµã£ãé¢é£ãã¼ã¿ãè¿ããã¼ã«ãè¨è¨ãä¸é¨ã®ã¯ã©ã¤ã¢ã³ãã¯ã³ã¼ãå®è¡ããµãã¼ãããã¨ã¼ã¸ã§ã³ããå¹ççã«ãã¼ã¿ããã£ã«ã¿ãªã³ã°ããã³å¦çããã®ã«å½¹ç«ã¤ã
å®è¡å¯è½ãªã¨ã©ã¼ã¡ãã»ã¼ã¸ï¼ ã¨ã©ã¼ã¡ãã»ã¼ã¸ã¯ãå ·ä½çãªææ¡ã¨æ¬¡ã®ã¹ãããã§ã¨ã¼ã¸ã§ã³ããã½ãªã¥ã¼ã·ã§ã³ã«å°ãã¹ãã
1.2 MCPãããã³ã«ããã¥ã¡ã³ããå¦ç¿
MCP仿§ãããã²ã¼ãï¼
é¢é£ãã¼ã¸ãè¦ã¤ããããã«ãµã¤ããããããéå§ï¼https://modelcontextprotocol.io/sitemap.xml
次ã«ããã¼ã¯ãã¦ã³å½¢å¼ã§ç¹å®ã®ãã¼ã¸ã.mdãµãã£ãã¯ã¹ä»ãã§ãã§ããï¼ä¾ï¼https://modelcontextprotocol.io/specification/draft.mdï¼ã
ã¬ãã¥ã¼ãã¹ã主è¦ãã¼ã¸ï¼
- 仿§ã®æ¦è¦ã¨ã¢ã¼ããã¯ãã£
- ãã©ã³ã¹ãã¼ãã¡ã«ããºã ï¼streamable HTTPãstdioï¼
- ãã¼ã«ããªã½ã¼ã¹ãããã³ããã®å®ç¾©
1.3 ãã¬ã¼ã ã¯ã¼ã¯ããã¥ã¡ã³ããå¦ç¿
æ¨å¥¨ã¹ã¿ãã¯ï¼
- è¨èªï¼TypeScriptï¼é«å質ãªSDKãµãã¼ãã¨å¤ãã®å®è¡ç°å¢ã§ã®è¯å¥½ãªäºææ§ï¼ä¾ï¼MCPBï¼ãå ãã¦ãAIã¢ãã«ã¯TypeScriptã³ã¼ãçæã徿ã§ããã®åºã使ç¨ãéçåä»ããè¯å¥½ãªãªã³ãã£ã³ã°ãã¼ã«ã®æ©æµãåããï¼
- ãã©ã³ã¹ãã¼ãï¼ãªã¢ã¼ããµã¼ãã¼ã«ã¯Streamable HTTPã使ç¨ããã¹ãã¼ãã¬ã¹JSONï¼ã¹ãã¼ããã«ã»ãã·ã§ã³ãã¹ããªã¼ãã³ã°ã¬ã¹ãã³ã¹ãããã¹ã±ã¼ã«ã¨ä¿å®ãç°¡åï¼ããã¼ã«ã«ãµã¼ãã¼ã«ã¯stdioã
ãã¬ã¼ã ã¯ã¼ã¯ããã¥ã¡ã³ããèªã¿è¾¼ãï¼
- MCPãã¹ããã©ã¯ãã£ã¹ï¼ð ãã¹ããã©ã¯ãã£ã¹ãè¦ã – ã³ã¢ã¬ã¤ãã©ã¤ã³
TypeScriptç¨ï¼æ¨å¥¨ï¼ï¼
- TypeScript SDKï¼WebFetchã使ç¨ãã¦
https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.mdãèªã¿è¾¼ã - â¡ TypeScriptã¬ã¤ã – TypeScriptãã¿ã¼ã³ã¨ä¾
Pythonç¨ï¼
- Python SDKï¼WebFetchã使ç¨ãã¦
https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.mdãèªã¿è¾¼ã - ð Pythonã¬ã¤ã – Pythonãã¿ã¼ã³ã¨ä¾
1.4 å®è£ ãè¨ç»
APIãçè§£ï¼ ãµã¼ãã¹ã®APIããã¥ã¡ã³ããã¬ãã¥ã¼ãã主è¦ãªã¨ã³ããã¤ã³ããèªè¨¼è¦ä»¶ããã¼ã¿ã¢ãã«ãç¹å®ãå¿ è¦ã«å¿ãã¦Webæ¤ç´¢ã¨WebFetchã使ç¨ã
ãã¼ã«é¸æï¼ å æ¬çãªAPIã«ãã¬ãã¸ãåªå ãå®è£ ããã¨ã³ããã¤ã³ãããªã¹ãããæãä¸è¬çãªæä½ããéå§ã
ãã§ã¼ãº2ï¼å®è£
2.1 ããã¸ã§ã¯ãæ§é ã®ã»ããã¢ãã
ããã¸ã§ã¯ãã»ããã¢ããã«ã¤ãã¦ã¯è¨èªåºæã®ã¬ã¤ããåç §ï¼
- â¡ TypeScriptã¬ã¤ã – ããã¸ã§ã¯ãæ§é ãpackage.jsonãtsconfig.json
- ð Pythonã¬ã¤ã – ã¢ã¸ã¥ã¼ã«æ§æãä¾åé¢ä¿
2.2 ã³ã¢ã¤ã³ãã©ã¹ãã©ã¯ãã£ã®å®è£
å ±æã¦ã¼ãã£ãªãã£ã使ï¼
- èªè¨¼ä»ãAPIã¯ã©ã¤ã¢ã³ã
- ã¨ã©ã¼ãã³ããªã³ã°ãã«ãã¼
- ã¬ã¹ãã³ã¹ãã©ã¼ãããï¼JSON/Markdownï¼
- ãã¼ã¸ãã¼ã·ã§ã³ãµãã¼ã
2.3 ãã¼ã«ã®å®è£
åãã¼ã«ã«ã¤ãã¦ï¼
å ¥åã¹ãã¼ãï¼
- Zodï¼TypeScriptï¼ã¾ãã¯Pydanticï¼Pythonï¼ã使ç¨
- å¶ç´ã¨æç¢ºãªèª¬æãå«ãã
- ãã£ã¼ã«ã説æã«ä¾ã追å
åºåã¹ãã¼ãï¼
- å¯è½ãªå ´åã¯æ§é åãã¼ã¿ã®ããã«
outputSchemaãå®ç¾© - ãã¼ã«ã¬ã¹ãã³ã¹ã§
structuredContentã使ç¨ï¼TypeScript SDKæ©è½ï¼ - ã¯ã©ã¤ã¢ã³ãããã¼ã«åºåãçè§£ãå¦çããã®ãæ¯æ´
ãã¼ã«èª¬æï¼
- æ©è½ã®ç°¡æ½ãªè¦ç´
- ãã©ã¡ã¼ã¿èª¬æ
- æ»ãå¤ã®åã¹ãã¼ã
å®è£ ï¼
- I/Oæä½ã«ã¯async/await
- å®è¡å¯è½ãªã¡ãã»ã¼ã¸ä»ãã®é©åãªã¨ã©ã¼ãã³ããªã³ã°
- 該å½ããå ´åã¯ãã¼ã¸ãã¼ã·ã§ã³ããµãã¼ã
- ã¢ãã³SDKä½¿ç¨æã¯ããã¹ãã³ã³ãã³ãã¨æ§é åãã¼ã¿ã®ä¸¡æ¹ãè¿ã
ã¢ããã¼ã·ã§ã³ï¼
readOnlyHintï¼true/falsedestructiveHintï¼true/falseidempotentHintï¼true/falseopenWorldHintï¼true/false
ãã§ã¼ãº3ï¼ã¬ãã¥ã¼ã¨ãã¹ã
3.1 ã³ã¼ãå質
以ä¸ãã¬ãã¥ã¼ï¼
- éè¤ã³ã¼ããªãï¼DRYååï¼
- ä¸è²«ããã¨ã©ã¼ãã³ããªã³ã°
- å®å ¨ãªåã«ãã¬ãã¸
- æç¢ºãªãã¼ã«èª¬æ
3.2 ãã«ãã¨ãã¹ã
TypeScriptï¼
npm run buildãå®è¡ãã¦ã³ã³ãã¤ã«ã確èª- MCP Inspectorã§ãã¹ãï¼
npx @modelcontextprotocol/inspector
Pythonï¼
- æ§æã確èªï¼
python -m py_compile your_server.py - MCP Inspectorã§ãã¹ã
詳細ãªãã¹ãã¢ããã¼ãã¨å質ãã§ãã¯ãªã¹ãã«ã¤ãã¦ã¯è¨èªåºæã®ã¬ã¤ããåç §ã
ãã§ã¼ãº4ï¼è©ä¾¡ã®ä½æ
MCPãµã¼ãã¼ã®å®è£ å¾ããã®å¹æããã¹ãããå æ¬çãªè©ä¾¡ã使ã
å®å ¨ãªè©ä¾¡ã¬ã¤ãã©ã¤ã³ã«ã¤ãã¦ã¯â è©ä¾¡ã¬ã¤ããèªã¿è¾¼ãã
4.1 è©ä¾¡ã®ç®çãçè§£
è©ä¾¡ã使ç¨ãã¦ãLLMãMCPãµã¼ãã¼ã广çã«ä½¿ç¨ãã¦ç¾å®çã§è¤éãªè³ªåã«åçã§ãããããã¹ãã
4.2 10åã®è©ä¾¡è³ªåã使
广çãªè©ä¾¡ã使ããã«ã¯ãè©ä¾¡ã¬ã¤ãã«è¨è¼ããã¦ããããã»ã¹ã«å¾ãï¼
- ãã¼ã«æ¤æ»ï¼å©ç¨å¯è½ãªãã¼ã«ããªã¹ããããã®æ©è½ãçè§£
- ã³ã³ãã³ãæ¢ç´¢ï¼READ-ONLYæä½ã使ç¨ãã¦å©ç¨å¯è½ãªãã¼ã¿ãæ¢ç´¢
- 質åçæï¼10åã®è¤éã§ç¾å®çãªè³ªåã使
- åçæ¤è¨¼ï¼å質åãèªåã§è§£ãã¦åçã確èª
4.3 è©ä¾¡è¦ä»¶
å質åã以ä¸ãæºãããã¨ã確èªï¼
- ç¬ç«æ§ï¼ä»ã®è³ªåã«ä¾åããªã
- èªã¿åãå°ç¨ï¼éç ´å£çãªæä½ã®ã¿å¿ è¦
- è¤éãï¼è¤æ°ã®ãã¼ã«å¼ã³åºãã¨æ·±ãæ¢ç´¢ãå¿ è¦
- ç¾å®æ§ï¼äººéãé¢å¿ãæã¤å®éã®ã¦ã¼ã¹ã±ã¼ã¹ã«åºã¥ã
- æ¤è¨¼å¯è½æ§ï¼æå忝è¼ã§æ¤è¨¼ã§ããåä¸ã®æç¢ºãªåç
- å®å®æ§ï¼åçãæéã¨ã¨ãã«å¤åããªã
4.4 åºåå½¢å¼
ãã®æ§é ã§XMLãã¡ã¤ã«ã使ï¼
<evaluation>
<qa_pair>
<question>åç©ã®ã³ã¼ããã¼ã ãæã¤AIã¢ãã«ã®çºå£²ã«é¢ãããã£ã¹ã«ãã·ã§ã³ãè¦ã¤ãã¦ãã ãããããã¢ãã«ã¯ASL-Xã¨ããå½¢å¼ã使ç¨ããç¹å®ã®å®å
¨æå®ãå¿
è¦ã§ãããæç¹ã®ããéçã®ç«ã«ã¡ãªãã§åä»ããããã¢ãã«ã«ã¯ä½çªXãæ±ºå®ããã¦ãã¾ãããï¼</question>
<answer>3</answer>
</qa_pair>
<!-- ãã®ä»ã®qa_pair... -->
</evaluation>
ãªãã¡ã¬ã³ã¹ãã¡ã¤ã«
ð ããã¥ã¡ã³ãã©ã¤ãã©ãª
éçºä¸ã«å¿ è¦ã«å¿ãã¦ãããã®ãªã½ã¼ã¹ãèªã¿è¾¼ãï¼
ã³ã¢MCPããã¥ã¡ã³ãï¼æåã«èªã¿è¾¼ãï¼
- MCPãããã³ã«ï¼
https://modelcontextprotocol.io/sitemap.xmlã®ãµã¤ããããããéå§ãã.mdãµãã£ãã¯ã¹ä»ãã§ç¹å®ã®ãã¼ã¸ããã§ãã - ð MCPãã¹ããã©ã¯ãã£ã¹ – 以ä¸ãå«ãæ®éçãªMCPã¬ã¤ãã©ã¤ã³ï¼
- ãµã¼ãã¼ã¨ãã¼ã«ã®å½åè¦å
- ã¬ã¹ãã³ã¹å½¢å¼ã¬ã¤ãã©ã¤ã³ï¼JSON vs Markdownï¼
- ãã¼ã¸ãã¼ã·ã§ã³ã®ãã¹ããã©ã¯ãã£ã¹
- ãã©ã³ã¹ãã¼ã鏿ï¼streamable HTTP vs stdioï¼
- ã»ãã¥ãªãã£ã¨ã¨ã©ã¼ãã³ããªã³ã°åºæº
SDKããã¥ã¡ã³ãï¼ãã§ã¼ãº1/2ã§èªã¿è¾¼ãï¼
- Python SDKï¼
https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.mdãããã§ãã - TypeScript SDKï¼
https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.mdãããã§ãã
è¨èªåºæã®å®è£ ã¬ã¤ãï¼ãã§ã¼ãº2ã§èªã¿è¾¼ãï¼
-
ð Pythonå®è£ ã¬ã¤ã – å®å ¨ãªPython/FastMCPã¬ã¤ãï¼
- ãµã¼ãã¼åæåãã¿ã¼ã³
- Pydanticã¢ãã«ä¾
@mcp.toolã«ãããã¼ã«ç»é²- å®å ¨ãªåä½ä¾
- å質ãã§ãã¯ãªã¹ã
-
â¡ TypeScriptå®è£ ã¬ã¤ã – å®å ¨ãªTypeScriptã¬ã¤ãï¼
- ããã¸ã§ã¯ãæ§é
- Zodã¹ãã¼ããã¿ã¼ã³
server.registerToolã«ãããã¼ã«ç»é²- å®å ¨ãªåä½ä¾
- å質ãã§ãã¯ãªã¹ã
è©ä¾¡ã¬ã¤ãï¼ãã§ã¼ãº4ã§èªã¿è¾¼ãï¼
- â
è©ä¾¡ã¬ã¤ã – å®å
¨ãªè©ä¾¡ä½æã¬ã¤ãï¼
- 質å使ã¬ã¤ãã©ã¤ã³
- åçæ¤è¨¼æ¦ç¥
- XMLå½¢å¼ä»æ§
- 質åã¨åçã®ä¾
- æä¾ãããã¹ã¯ãªããã«ããè©ä¾¡ã®å®è¡