ð Dev.to MCP Server
ãªã¢ãŒãð Dev.to MCP Server ã«ã€ããŠ
Dev.to MCP Serverã¯ãAIããŒã«ããDev.toã®èšäºã®é²èŠ§ãæ€çŽ¢ãèªè§£ãåæã管çãè¡ããµãŒããŒã§ããSSE/MCPã«å ããREST/OpenAPIã¢ãŒããåããŠããŸãã
äž»ãªæ©èœ
- 01ææ°èšäºãšäººæ°èšäºã®é²èЧ
- 02ããŒã¯ãŒããã¿ã°ãèè ã§æ€çŽ¢
- 03èšäºãšãŠãŒã¶ãŒãããã£ãŒã«ã®é²èЧ
- 04èšäºãšãããã£ãŒã«ã®åæ
- 05èšäºã®äœæãæŽæ°ãå ¬é
- 06RESTãšOpenAPIã¢ãŒã
掻çšã·ãŒã³
- 01ãããã¯ãã¿ã°ããèšäºãæ¢ã
- 02èšäºããããã£ãŒã«ãèŠçŽãã
- 03äžæžããå ¬éæžã¿èšäºã管çãã
- 04RESTããŒã«çµç±ã§Dev.toã«ã¢ã¯ã»ã¹
MCP 察å¿
SSEçµç±ã§ãDev.toã®é²èŠ§ãæ€çŽ¢ãèªè§£ãåæãèªèšŒãå¿ èŠãªå ¬éæ©èœãMCPã¯ã©ã€ã¢ã³ãã«æäŸããŸããREST/OpenAPIã¢ãŒãã§ãåäœããŸãã
èšå®
ãªã¢ãŒããµãŒããŒã¯ã€ã³ã¹ããŒã«äžèŠã§ããã¯ã©ã€ã¢ã³ããéžãã§èšå®ãã³ããŒããããã¯ã³ã¯ãªãã¯ã§å°å ¥ã§ããŸãã
http://localhost:8000/sseclaude mcp add --transport http devtomcp http://localhost:8000/sse{"mcpServers":{"devtomcp":{"type":"http","url":"http://localhost:8000/sse"}}}Cursor ã§éã{"servers":{"devtomcp":{"type":"http","url":"http://localhost:8000/sse"}}}VS Code ã§éã{"mcpServers":{"devtomcp":{"type":"http","url":"http://localhost:8000/sse"}}}{"mcpServers":{"devtomcp":{"serverUrl":"http://localhost:8000/sse"}}}ã³ãã³ãã¯ã¿ãŒããã«ã§å®è¡ããJSON ã¯åã¯ã©ã€ã¢ã³ãã® MCP èšå®ã«è²Œãä»ããŠåèµ·åããŸããèªå¯ãå¿ èŠãªãµãŒããŒã¯ååæ¥ç¶æã«ãã°ã€ã³ãæ±ããŸãã
ããŒã«
詳现
ð Dev.to MCP ãµãŒããŒ
Dev.to API åãã® Model Context Protocol (MCP) ãµãŒããŒã®å®è£ ã§ããDev.to ã®ã³ã³ãã³ããæ€çŽ¢ãé²èЧãèªè§£ãäœæããæ©èœãæäŸããŸãã
âš æ©èœ
| æ©èœ | 説æ |
|---|---|
| ð Browse Latest Articles | Dev.to ã®ææ°èšäºãååŸããŸã |
| ð Browse Popular Articles | 人æ°èšäºãååŸããŸã |
| ð·ïž Browse by Tag | ç¹å®ã®ã¿ã°ãä»ããèšäºãååŸããŸã |
| ð Browse by Title | ç¹å®ã®ã¿ã€ãã«ã®èšäºãååŸããŸã |
| ð Read Article | ç¹å®ã®èšäºã®è©³çްæ å ±ãååŸããŸã |
| ð€ User Profile | Dev.to ãŠãŒã¶ãŒã®æ å ±ãååŸããŸã |
| ð Search Articles | ããŒã¯ãŒãã䜿ã£ãŠèšäºãæ€çŽ¢ããŸã |
| ð€ Search Articles by User | ç¹å®ã®ãŠãŒã¶ãŒã«ãããã¹ãŠã®èšäºãæ€çŽ¢ããŸã |
| ð Get Article by ID | ç¹å®ã®èšäºã®è©³çްæ å ±ãååŸããŸã |
| ð Get Article by Title | ç¹å®ã®èšäºã®è©³çްæ å ±ãååŸããŸã |
| ð§ Analyze Article | ç¹å®ã®èšäºãåæããŸãïŒããã³ããããŒã¹ãèŠçŽãåºåïŒ |
| ð§ Analyze User Profile | ç¹å®ã®ãŠãŒã¶ãŒãããã£ãŒã«ãåæããŸãïŒããã³ããããŒã¹ãèŠçŽãåºåïŒ |
| ð Create Article | æ°ããèšäºãäœæããŠå ¬éããŸã |
| âïž Update Article | æ¢åã®èšäºãæŽæ°ããŸã |
| ð Update Article by Title | ã¿ã€ãã«ã§æ¢åã®èšäºãæŽæ°ããŸãïŒID ã«è§£æ±ºïŒ |
| ð List My Articles | èªåãå ¬éããèšäºãäžèŠ§è¡šç€ºããŸã |
| ð List My Draft Articles | èªåã®äžæžãèšäºãäžèŠ§è¡šç€ºããŸã |
| ð List My Unpublished Articles | èªåã®æªå ¬éèšäºãäžèŠ§è¡šç€ºããŸã |
| ð List My Scheduled Articles | èªåã®äºçŽæžã¿èšäºãäžèŠ§è¡šç€ºããŸã |
| ð§âð» Publish Article by ID | ID ãæå®ããŠèªåã®èšäºãå ¬éããŸã |
| ð Publish Article by Title | ã¿ã€ãã«ãæå®ããŠèªåã®èšäºãå ¬éããŸã |
| ð§âð» Unpublish Article by ID | ID ãæå®ããŠèªåã®èšäºãéå ¬éã«ããŸã |
| ð Unpublish Article by Title | ã¿ã€ãã«ãæå®ããŠèªåã®èšäºãéå ¬éã«ããŸã |
| ð Delete Article | èªåã®èšäºãåé€ããŸã |
ð§ åæããŒã«
| æ©èœ | 説æ |
|---|---|
| ð§ Analyze Article | ç¹å®ã®èšäºãåæããŸãïŒããã³ããããŒã¹ãèŠçŽãåºåïŒ |
| ð§ Analyze User Profile | ç¹å®ã®ãŠãŒã¶ãŒãããã£ãŒã«ãåæããŸãïŒããã³ããããŒã¹ãèŠçŽãåºåïŒ |
æ³šïŒ åæããŒã«ã¯ãçããŒã¿ã§ã¯ãªããèªç¶èšèªã«ããèŠçŽãšæŽå¯ãæäŸããŸãã
ð ã©ã€ã»ã³ã¹
ãã®ãããžã§ã¯ãã¯ãGNU Affero General Public License v3.0 (AGPLv3) ã®äžã§ã©ã€ã»ã³ã¹ãããŠããŸãã
åçšå©çšã«é¢ããèŠå
ãã®ã³ãŒããäœããã®åœ¢ã§ä»è ã«æåãµãŒãã¹ãšããŠäœ¿çšãŸãã¯æäŸããå Žåãããšãã³ãŒãèªäœã«å¯ŸããŠæéãè«æ±ããªãå Žåã§ããç§ã«é£çµ¡ããŠèš±å¯ãåŸãå¿ èŠããããŸãïŒãã㯠YOU Smithery/GlamaããŸãã¯é¡äŒŒãããµãŒãã¹ãã¹ãŠã察象ãšããŸãïŒãèš±å¯ã¯ãé©åãªã©ã€ã»ã³ã¹æã®ãæ¯æãåŸã«ã®ã¿ä»äžãããŸããã³ãŒãèªäœã®äœ¿çšæãè«æ±ããŠããããã€ã³ãã©ãæäŸããŠããã ãã ãšããŠããMY ã³ãŒãã䜿ã£ãŠ YOUR ãµãŒãã¹ãå®çŸããŠããããšã«ãªããŸããããã¯æ¬è³ªçãªäŸåé¢ä¿ã§ãããå¿ ãã©ã€ã»ã³ã¹ãååŸããå¿ èŠããããŸãã
äŒæ¥ã»å人ãåãããã»ãã®çããŸã®ã圹ã«ç«ãŠãã°å¹žãã§ãããã²ã掻çšãã ããã
âïž ãµãŒããŒã®èšå®
ãµãŒããŒã¯ã次ã®ç°å¢å€æ°ã䜿çšããŠèšå®ã§ããŸãã
| ç°å¢å€æ° | 説æ | ããã©ã«ã |
|---|---|---|
PORT | ãµãŒããŒãå®è¡ããããŒã | 8000 |
LOG_LEVEL | ãã°ã¬ãã«ïŒINFOãDEBUG ãªã©ïŒ | INFO |
ð ã¯ã©ã€ã¢ã³ãèªèšŒ
èªèšŒãå¿ èŠãªæäœãè¡ãã«ã¯ãåã¯ã©ã€ã¢ã³ãããããã Dev.to API ããŒãçšæããå¿ èŠããããŸããã¯ã©ã€ã¢ã³ãã® MCP ãµãŒããŒèšå®ã§ãAPI ããŒãç°å¢å€æ°ãšããŠæå®ããããšã§å®å šã«èšå®ã§ããŸãã
æ³šïŒ ããŒã¯ãMCP ã¯ã©ã€ã¢ã³ãèšå®ã®ç°å¢å€æ°ã»ã¯ã·ã§ã³ã§
DEVTO_API_KEYãšããŠæå®ããŠãã ããã
ð ã¯ããã«
ð³ Docker ã§å®è¡ãã
- ãªããžããªãã¯ããŒã³ããŸãïŒ
git clone https://github.com/rawveg/devtomcp.git
cd devtomcp
- Docker Compose ã§ãã«ãããŠå®è¡ããŸãïŒ
docker-compose up --build
ãµãŒããŒã¯ http://localhost:8000 ã§å©çšã§ããSSE ãšã³ããã€ã³ã㯠http://localhost:8000/sse ã§ãã
ð ïž MCP ããŒã«
ã³ã³ãã³ãã®åæ
analyse_article- ç¹å®ã®èšäºãåæããŸãanalyse_user_profile- ç¹å®ã®ãŠãŒã¶ãŒãåæããŸã
ã³ã³ãã³ãã®é²èЧ
browse_latest_articles()- Dev.to ã®ææ°èšäºãååŸããŸãbrowse_popular_articles()- 人æ°ã®èšäºãååŸããŸãbrowse_articles_by_tag(tag)- ç¹å®ã®ã¿ã°ãä»ããèšäºãååŸããŸã
ã³ã³ãã³ãã®èªã¿åã
get_article(id)- ç¹å®ã®èšäºã®è©³çްæ å ±ãååŸããŸãget_user_profile(username)- Dev.to ãŠãŒã¶ãŒã®æ å ±ãååŸããŸã
ã³ã³ãã³ãã®æ€çŽ¢
search_articles(query, page=1)- ããŒã¯ãŒãã䜿ã£ãŠèšäºãæ€çŽ¢ããŸãsearch_articles_by_user(username, page=1)- ç¹å®ã®ãŠãŒã¶ãŒã«ãããã¹ãŠã®èšäºãæ€çŽ¢ããŸã
ã³ã³ãã³ãã®ç®¡çïŒèªèšŒãå¿ èŠïŒ
list_my_articles(page=1, per_page=30)- èªåãå ¬éããèšäºãäžèŠ§è¡šç€ºããŸãlist_my_draft_articles(page=1, per_page=30)- èªåã®äžæžãèšäºãäžèŠ§è¡šç€ºããŸãlist_my_unpublished_articles(page=1, per_page=30)- èªåã®æªå ¬éèšäºãäžèŠ§è¡šç€ºããŸãcreate_article(title, content, tags="", published=False)- æ°ããèšäºãäœæããŸãupdate_article(id, title=None, content=None, tags=None, published=None)- æ¢åã®èšäºãæŽæ°ããŸãdelete_article(id)- æ¢åã®èšäºãåé€ããŸãpublish_article_by_id(id)- ID ãæå®ããŠèªåã®èšäºãå ¬éããŸãpublish_article_by_title(title)- ã¿ã€ãã«ãæå®ããŠèªåã®èšäºãå ¬éããŸãunpublish_article_by_id(id)- ID ãæå®ããŠèªåã®èšäºãéå ¬éã«ããŸãunpublish_article_by_title(title)- ã¿ã€ãã«ãæå®ããŠèªåã®èšäºãéå ¬éã«ããŸãupdate_article_by_title(title, new_title=None, content=None, tags=None, published=None)- ã¿ã€ãã«ãæå®ããŠæ¢åã®èšäºãæŽæ°ããŸãïŒID ã«è§£æ±ºããŸãïŒ
ð REST API ãš OpenAPI ããŒã«ãµãŒããŒ
Dev.to MCP Server ã¯ããã¥ã¢ã«ã¢ãŒãã§ã®åäœã«å¯Ÿå¿ããŸããã
| ã¢ãŒã | 説æ |
|---|---|
| ð¢ SSE/MCP | Model Context ProtocolïŒMCPïŒã䜿çšãããLLMïŒãšãŒãžã§ã³ã飿ºåã |
| ðŠ REST/OpenAPI | çŽæ¥ HTTP ã¢ã¯ã»ã¹ãOpenAPI ããŒã«ã©ã³ããŒãOpenAI äºæããŒã«åã |
ðŠ ã¢ãŒãã®åãæ¿ã
.env ãã¡ã€ã«ã§ã¢ãŒããèšå®ããŸãã
SERVER_MODE=sse # For SSE/MCP (default)
# or
SERVER_MODE=rest # For REST API & OpenAPI toolserver
ð REST ã¢ãŒãã§ã®èªèšŒ
- Dev.to API ããŒã Bearer ããŒã¯ã³ãšããŠ
AuthorizationããããŒã«æå®ããŸããAuthorization: Bearer YOUR_DEVTO_API_KEY - REST ã¢ãŒãã§ã¯ã
.envã«DEVTO_API_KEYãèšå®ããå¿ èŠã¯ãããŸããã
ð OpenAPI ãš Swagger UI
- ã€ã³ã¿ã©ã¯ãã£ããªããã¥ã¡ã³ãïŒhttp://localhost:8000/docs
- OpenAPI ã¹ããŒãïŒhttp://localhost:8000/openapi.json
- OpenAI ã®é¢æ°åŒã³åºããLangChainããã®ä»ã® OpenAPI ããŒã«ã©ã³ããŒãšå®å šã«äºææ§ããããŸãã
ð§âð» äŸïŒèªåã®èšäºãäžèŠ§è¡šç€ºããïŒRESTïŒ
curl -X GET "http://localhost:8000/list_my_articles?page=1&per_page=30&max_pages=10" \
-H "Authorization: Bearer YOUR_DEVTO_API_KEY"
ð ïž REST ãšã³ããã€ã³ã
- äž»èŠãªããŒã«ã¯ãã¹ãŠ REST ãšã³ããã€ã³ããšããŠå©çšã§ããŸãïŒè©³çްã¯
/docsãåç §ããŠãã ããïŒã - åãšã³ããã€ã³ãã«ã¯ãèŠã€ããããããã«è©³çŽ°ãª OpenAPI ã¡ã¿ããŒã¿ã䜿çšäŸãã¿ã°ãå«ãŸããŠããŸãã
update_article_by_title- ã¿ã€ãã«ãæå®ããŠèªåã®èšäºãæŽæ°ããŸãïŒID ã解決ããŸãïŒã
ð€ ãããéèŠãªçç±
- 1 ã€ã®ã³ãŒãããŒã¹ã§ãåŸæ¥ã® REST APIãOpenAPI ããŒã«ãµãŒããŒãLLMïŒãšãŒãžã§ã³ãåãããŒã«ãããã€ããŒãšããŠå©çšã§ããŸãã
- OpenAIãLangChainãããã³ OpenAPI äºæã®ããããã¯ã©ã€ã¢ã³ãã«ãã©ã°ã¢ã³ããã¬ã€ã§æ¥ç¶ã§ããŸãã
- çŸããã€ã³ã¿ã©ã¯ãã£ããªããã¥ã¡ã³ããããã«å©çšã§ããŸãã
ð¥ïž ã¯ã©ã€ã¢ã³ãã®èšå®
Claude Desktop ã®èšå®
Claude Desktop ã® config.json ã« MCP ãµãŒããŒã远å ããŸãã
{
"mcpServers": {
"devto": {
"url": "http://localhost:8000/sse"
}
}
}
Cursor ã®èšå®
Cursor ã®èšå®ã« MCP ãµãŒããŒã远å ããŸãã
{
"mcpServers": {
"devto": {
"url": "http://localhost:8000/sse"
}
}
}
泚èš
Windsurf IDE by Codium ãªã©ãäžéšã®ã¯ã©ã€ã¢ã³ãã§ã¯ url ã®ä»£ããã« serverUrl ã䜿çšããå¿
èŠãããå ŽåããããŸãã
Python ã«ããããã°ã©ã ããã®ã¢ã¯ã»ã¹
import asyncio
import os
from fastmcp.client import Client
async def main():
# Set environment variable for authentication
os.environ["DEVTO_API_KEY"] = "your_dev_to_api_key_here"
# Connect to the MCP server
client = Client("http://localhost:8000/sse")
# Use the client
async with client:
# Get popular articles
results = await client.call_tool("browse_popular_articles", {})
print(results)
if __name__ == "__main__":
asyncio.run(main())
âïž Google Cloud Run ãžã®ãããã€
Google Cloud Run ã«ãããã€ããæé ïŒ
-
Google Cloud Run ã¯ã€ãã¯ã¹ã¿ãŒãã«åŸã£ãŠãç°å¢ãèšå®ããŸãã
-
Dev.to API ããŒãã·ãŒã¯ã¬ãããšããŠèšå®ããŸãã
gcloud secrets create devto-api-key --data-file=- <<< "your_api_key_here" -
ã·ãŒã¯ã¬ãããããŠã³ãããç¶æ ã§ SSE ã¢ãŒãã§ãããã€ããŸãã
gcloud run deploy devtomcp \ --source . \ --platform managed \ --allow-unauthenticated \ --region [REGION] \ --set-env-vars="LOG_LEVEL=<<LOG_LEVEL>>" \ --set-env-vars="DEVTO_API_KEY=<<DEVTO_API_KEY>>" \ --set-env-vars="SERVER_MODE=sse" \ --set-env-vars="DEVTO_API_BASE_URL=<<DEVTO_API_BASE_URL>>" \ --format="json"ç°å¢å€æ°
倿° 説æ ããã©ã«ã LOG_LEVELãã°ã¬ãã«ïŒINFOãDEBUG ãªã©ïŒ INFODEVTO_API_KEYDev.to API ã㌠NoneDEVTO_API_BASE_URLDev.to API ã®ããŒã¹ URL https://dev.to/apiSERVER_MODEãããã€ãããµãŒããŒã¢ãŒã sse.envãã¡ã€ã«ã¯ã³ã³ããã«ããŠã³ããããªãããããããã®å€æ°ã¯ gcloud run deploy ã®ã³ãã³ãã©ã€ã³ã§èšå®ããå¿ èŠããããŸããOpenAPI ããŒã«ã䜿çšã㊠REST ã¢ãŒãã§ãããã€ããå ŽåïŒ
gcloud run deploy devtomcp \ --source . \ --platform managed \ --allow-unauthenticated \ --region [REGION] \ --set-env-vars="LOG_LEVEL=<<LOG_LEVEL>>" \ --set-env-vars="SERVER_MODE=rest" \ --set-env-vars="DEVTO_API_BASE_URL=<<DEVTO_API_BASE_URL>>" \ --format="json"ç°å¢å€æ°
倿° 説æ ããã©ã«ã LOG_LEVELãã°ã¬ãã«ïŒINFOãDEBUG ãªã©ïŒ INFOSERVER_MODEãããã€ãããµãŒããŒã¢ãŒã restDEVTO_API_BASE_URLDev.to API ã®ããŒã¹ URL https://dev.to/api.envãã¡ã€ã«ã¯ã³ã³ããã«ããŠã³ããããªãããããããã®å€æ°ã¯ gcloud run deploy ã®ã³ãã³ãã©ã€ã³ã§èšå®ããå¿ èŠããããŸãã
ãªãŒãžã§ã³ã®éžæ ãªãŒãžã§ã³ã¯ãé¢é£ä»ãããããããžã§ã¯ãã®ãªãŒãžã§ã³ã«å¿ããŠéžæããŠãã ãããå©çšå¯èœãªãªãŒãžã§ã³ã®äžèЧã¯ãã¡ãã§ç¢ºèªã§ããŸãã
â ïž ã»ãã¥ãªãã£èŠå - SSE ã¢ãŒãïŒ
-
--allow-unauthenticatedãã©ã°ãæå®ãããšããµãŒããŒããããªãã¯ã«ã¢ã¯ã»ã¹å¯èœã«ãªããŸãã -
API ããŒã䜿çšããåäžãŠãŒã¶ãŒåããµãŒããŒã§ããããã远å ã®ã»ãã¥ãªãã£å¯Ÿçãå¿ ã宿œããŠãã ããã
- Cloud Run èªèšŒã䜿çšããŸãã
- Identity-Aware ProxyïŒIAPïŒãèšå®ããŸãã
- VPC Service Controlsãèšå®ããŸãã
- Ingress Controlsã䜿çšããŸãã
-
REST ã¢ãŒãã§ãããã€ããå ŽåïŒCloud Run ã§ã¯æšå¥šïŒããã®ã¢ãŒãã§ã¯ãµãŒããŒãžã®åãªã¯ãšã¹ãã« Authorization Bearer Token
Authorization: Bearer <<your_dev_to_api_key_here>>ãä»äžããå¿ èŠããããç Žå£çãªæäœãžã®ã¢ã¯ã»ã¹ããã ã¡ã«å¶éããããããäžèšã®ã»ãã¥ãªãã£äžã®èæ ®äºé ã¯è©²åœããŸããã
ã»ãã¥ãªãã£èšå®ã®è©³çŽ°ãªæé ã«ã€ããŠã¯ãGCP_DEPLOYMENT.mdãåç §ããŠãã ããã
â ïž ãšã©ãŒåŠç
ãµãŒããŒã¯æšæºã® MCP ãšã©ãŒã¬ã¹ãã³ã¹ãè¿ããŸãã
{
"status": "error",
"message": "Error description",
"code": 401
}
äžè¬çãªãšã©ãŒã³ãŒãïŒ
- 401ïŒèªèšŒã«å€±æããŸããïŒAPI ããŒããªãããŸãã¯ç¡å¹ã§ãïŒ
- 404ïŒãªãœãŒã¹ãèŠã€ãããŸãã
- 422ïŒãã©ã¡ãŒã¿ãŒãç¡å¹ã§ã
- 500ïŒãµãŒããŒãšã©ãŒ
ð ã»ãã¥ãªãã£ã«é¢ããèæ ®äºé
- ãµãŒããŒã§ã¯ API ããŒã®èšå®ã«ç°å¢å€æ°ã䜿çšããé©åãªã»ãã¥ãªãã£åé¢ãå®çŸããŠããŸã
- åã¯ã©ã€ã¢ã³ãæ¥ç¶ã§ã¯ãããããã«èšå®ããã API ããŒã䜿çšããŸã
- API èªèšŒæ å ±ã®åŠçã¯ãã¹ãŠãµãŒããŒåŽã§è¡ãããŸã
- æ¬çªç°å¢ã§ã¯ HTTPS ã䜿çšããŠãã ãã
- ã¯ã©ãŠãç°å¢ãžã®ãããã€ã§ã¯ãå®å šãªã·ãŒã¯ã¬ãã管çã䜿çšããŠãã ãã
ð€ è²¢ç®
çããŸããã®è²¢ç®ãæè¿ããŸãïŒãæ°è»œã«ãã«ãªã¯ãšã¹ããéä¿¡ããŠãã ããã
ð è¬èŸ
ð¬ ãåãåãã
質åãææ¡ããµããŒãã«ã€ããŠã¯ãã€ã·ã¥ãŒãäœæããŠãã ããã
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã