ðïž MongoDB MCP Server for LLMS
ããŒã«ã«ðïž MongoDB MCP Server for LLMS ã«ã€ããŠ
MongoDB MCP Serverã¯ãClaude DesktopãCursorãªã©ã®MCPã¯ã©ã€ã¢ã³ãã«ãã¹ããŒã確èªãã³ã¬ã¯ã·ã§ã³æ€çŽ¢ãã€ã³ããã¯ã¹ç®¡çãããã¥ã¡ã³ãæŽæ°ã®ããŒã«ãæäŸããŸããæ¥ç¶æååã§MongoDBã«æ¥ç¶ããå ¥åæ€èšŒãšãšã©ãŒåŠçãè¡ããŸãã
äž»ãªæ©èœ
- 01ã³ã¬ã¯ã·ã§ã³ã¹ããŒãã®ç¢ºèª
- 02ããã¥ã¡ã³ãã®æ€çŽ¢ãšãã£ã«ã¿ãªã³ã°
- 03ã€ã³ããã¯ã¹ã®äœæãäžèЧãåé€
- 04ããã¥ã¡ã³ãã®æ¿å ¥ãæŽæ°ãåé€
- 05å ¥åæ€èšŒãšãšã©ãŒåŠç
掻çšã·ãŒã³
- 01MongoDBã³ã¬ã¯ã·ã§ã³ãšã¹ããŒãã®ç¢ºèª
- 02ããŒã¿ããŒã¹ã¯ãšãªã«ããããã¥ã¡ã³ãã®çµã蟌ã¿
- 03ã€ã³ããã¯ã¹ãšããã¥ã¡ã³ãããŒã¿ã®ç®¡ç
MCP 察å¿
MongoDBã®ã³ã¬ã¯ã·ã§ã³ãã¯ãšãªãã€ã³ããã¯ã¹ãããã¥ã¡ã³ãæäœãMCPããŒã«ãšããŠClaude DesktopãCursorãªã©ã«å ¬éããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ãã®ãµãŒããŒã®ããã±ãŒãžããªã¢ãŒããšã³ããã€ã³ãã¯ãŸã ååŸã§ããŠããŸããããããžã§ã¯ãã® README ã®æé ã«åŸã£ãŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
ðïž LLM åã MongoDB MCP ãµãŒããŒ
LLM ã MongoDB ããŒã¿ããŒã¹ãšçŽæ¥ããåãã§ããããã«ãã Model Context ProtocolïŒMCPïŒãµãŒããŒã§ããèªç¶èšèªã䜿ã£ãŠãã³ã¬ã¯ã·ã§ã³ã®ã¯ãšãªãã¹ããŒãã®ç¢ºèªãããŒã¿ç®¡çãã·ãŒã ã¬ã¹ã«è¡ããŸãã
ð Model Context ProtocolïŒMCPïŒãšã¯ïŒ
Model Context ProtocolïŒMCPïŒã¯ãAI ã·ã¹ãã ãå€éšã®ããŒã¿ãœãŒã¹ãããŒã«ã«æ¥ç¶ããããã®æ±çšçãªæ¹æ³ãæäŸãããAnthropic ãéçºãããªãŒãã³æšæºã§ããMCP ã¯ã次ã®éã§æšæºåãããéä¿¡ãã£ãã«ã確ç«ããŸãã
- MCP ã¯ã©ã€ã¢ã³ãïŒããŒã¿ãå©çšãã Claude ã®ãã㪠AI ã¢ã·ã¹ã¿ã³ãïŒäŸïŒClaude DesktopãCursor.aiïŒ
- MCP ãµãŒããŒïŒããŒã¿ãšæ©èœãæäŸãããµãŒãã¹ïŒãã® MongoDB ãµãŒããŒãªã©ïŒ
MCP ã®äž»ãªã¡ãªããïŒ
- æ±çšçãªã¢ã¯ã»ã¹ïŒAI ã¢ã·ã¹ã¿ã³ããããŸããŸãªãœãŒã¹ã®ããŒã¿ãã¯ãšãªããããã®åäžã®ãããã³ã«ãæäŸããŸã
- æšæºåãããæ¥ç¶ïŒèªèšŒãå©çšããªã·ãŒãããŒã¿åœ¢åŒãäžè²«ããŠåŠçããŸã
- æç¶å¯èœãªãšã³ã·ã¹ãã ïŒè€æ°ã® LLM ã¯ã©ã€ã¢ã³ãã§åäœããåå©çšå¯èœãªã³ãã¯ã¿ãŒãä¿é²ããŸã
âš æ©èœ
- ð ã³ã¬ã¯ã·ã§ã³ã¹ããŒãã®ç¢ºèª
- ð ããã¥ã¡ã³ãã®ã¯ãšãªãšãã£ã«ã¿ãªã³ã°
- ð ã€ã³ããã¯ã¹ç®¡ç
- ð ããã¥ã¡ã³ãæäœïŒæ¿å ¥ãæŽæ°ãåé€ïŒ
- ð æ¥ç¶æååã«ããå®å šãªããŒã¿ããŒã¹ã¢ã¯ã»ã¹
- ð å æ¬çãªãšã©ãŒåŠçãšæ€èšŒ
ð åææ¡ä»¶
éå§ããåã«ã以äžãçšæããŠãã ããã
- Node.jsïŒv18 以äžïŒ
- MongoDB ã€ã³ã¹ã¿ã³ã¹ïŒããŒã«ã«ãŸãã¯ãªã¢ãŒãïŒ
- Claude Desktop ã Cursor.ai ãªã©ã® MCP ã¯ã©ã€ã¢ã³ã
次ã®ã³ãã³ããå®è¡ããŠãNode.js ã®ã€ã³ã¹ããŒã«ã確èªã§ããŸãã
node --version # Should show v18.0.0 or higher
ð ã¯ã€ãã¯ã¹ã¿ãŒã
éå§ããã«ã¯ãMongoDB ã®æ¥ç¶ URL ã確èªããæ¬¡ã®èšå®ã Claude Desktop ã®èšå®ãã¡ã€ã«ã«è¿œå ããŠãã ããã
MacOSïŒ~/Library/Application\ Support/Claude/claude_desktop_config.json
WindowsïŒ%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"mongo-mcp",
"mongodb://<username>:<password>@<host>:<port>/<database>?authSource=admin"
]
}
}
}
Smithery çµç±ã§ã®ã€ã³ã¹ããŒã«
Smithery.ai ã¯ãMCP ãµãŒããŒã®æ€çŽ¢ãšã€ã³ã¹ããŒã«ãç°¡åã«ããã¬ãžã¹ããªãã©ãããã©ãŒã ã§ããSmithery ã䜿ã£ãŠ Claude Desktop çšã® MongoDB MCP Server ãèªåçã«ã€ã³ã¹ããŒã«ããã«ã¯ïŒ
npx -y @smithery/cli install mongo-mcp --client claude
Cursor.ai ãšã®çµ±å
Cursor.ai ã§ MongoDB MCP ã䜿çšããã«ã¯ïŒ
- Cursor.ai ãéããSettings > Features ã«ç§»åããŸã
- æ©èœããã«ã§ãMCP Serversããæ¢ããŸã
- 次ã®èšå®ã§æ°ãã MCP ãµãŒããŒã远å ããŸãã
- NameïŒ
mongodb - CommandïŒ
npx - ArgsïŒ
mongo-mcp mongodb://<username>:<password>@<host>:<port>/<database>?authSource=admin
- NameïŒ
泚ïŒCursor ãçŸåšãµããŒãããŠãã MCP ããŒã«ã¯ãComposer ã® Agent æ©èœå ã§ã®ã¿äœ¿çšã§ããŸãã
ãã¹ãçšãµã³ãããã¯ã¹ã®ã»ããã¢ãã
æ¥ç¶å ã® MongoDB ãµãŒããŒããªãããµã³ãã«ã®ãµã³ãããã¯ã¹ãäœæãããå Žåã¯ãæ¬¡ã®æé ã«åŸã£ãŠãã ããã
- Docker Compose ã䜿ã£ãŠ MongoDB ãèµ·åããŸãã
docker-compose up -d
- ãã¹ãããŒã¿ãããŒã¿ããŒã¹ã«æå ¥ããŸãã
npm run seed
Claude Desktop ã®èšå®
次ã®èšå®ã Claude Desktop ã®èšå®ãã¡ã€ã«ã«è¿œå ããŸãã
MacOSïŒ~/Library/Application\ Support/Claude/claude_desktop_config.json
WindowsïŒ%APPDATA%/Claude/claude_desktop_config.json
ããŒã«ã«éçºã¢ãŒãïŒ
{
"mcpServers": {
"mongodb": {
"command": "node",
"args": [
"dist/index.js",
"mongodb://root:example@localhost:27017/test?authSource=admin"
]
}
}
}
ãã¹ãçšãµã³ãããã¯ã¹ã®ããŒã¿æ§é
ã·ãŒãã¹ã¯ãªããã¯ããµã³ãã«ããŒã¿ãå«ã 3 ã€ã®ã³ã¬ã¯ã·ã§ã³ãäœæããŸãã
Users
- å人æ å ±ïŒååãã¡ãŒã«ã¢ãã¬ã¹ã幎霢ïŒ
- 座æšãå«ããã¹ããããäœæ
- èå³ã»é¢å¿ã®é å
- äŒå¡ç»é²æ¥
Products
- ååã®è©³çްïŒååãSKUãã«ããŽãªïŒ
- ãã¹ãããã仿§
- äŸ¡æ Œãšåšåº«æ å ±
- ã¿ã°ãšè©äŸ¡
Orders
- ååæçްãå«ã泚æã®è©³çް
- ãŠãŒã¶ãŒåç §
- é éãšæ¯æãã®æ å ±
- ã¹ããŒã¿ã¹ã®è¿œè·¡
ð¯ ããã³ããã®äŸ
Claude ã§æ¬¡ã®ããã³ããã詊ããŠãæ©èœã確èªããŠãã ããã
åºæ¬æäœ
"What collections are available in the database?"
"Show me the schema for the users collection"
"Find all users in San Francisco"
é«åºŠãªã¯ãšãª
"Find all electronics products that are in stock and cost less than $1000"
"Show me all orders from the user [email protected]"
"List the products with ratings above 4.5"
ã€ã³ããã¯ã¹ç®¡ç
"What indexes exist on the users collection?"
"Create an index on the products collection for the 'category' field"
"List all indexes across all collections"
ããã¥ã¡ã³ãæäœ
"Insert a new product with name 'Gaming Laptop' in the products collection"
"Update the status of order with ID X to 'shipped'"
"Find and delete all products that are out of stock"
ð å©çšå¯èœãªããŒã«
ãµãŒããŒã¯ãããŒã¿ããŒã¹ãšã®ããåãã«æ¬¡ã®ããŒã«ãæäŸããŸãã
ã¯ãšãªããŒã«
listCollectionsïŒããŒã¿ããŒã¹å ã§å©çšå¯èœãªã³ã¬ã¯ã·ã§ã³ãäžèŠ§è¡šç€ºããŸãfindïŒãã£ã«ã¿ãªã³ã°ãšãããžã§ã¯ã·ã§ã³ãæå®ããŠããã¥ã¡ã³ããæ€çŽ¢ããŸãinsertOneïŒã³ã¬ã¯ã·ã§ã³ã«åäžã®ããã¥ã¡ã³ããæ¿å ¥ããŸãupdateOneïŒã³ã¬ã¯ã·ã§ã³å ã®åäžã®ããã¥ã¡ã³ããæŽæ°ããŸãdeleteOneïŒã³ã¬ã¯ã·ã§ã³ããåäžã®ããã¥ã¡ã³ããåé€ããŸã
ã€ã³ããã¯ã¹ããŒã«
createIndexïŒã³ã¬ã¯ã·ã§ã³ã«æ°ããã€ã³ããã¯ã¹ãäœæããŸãdropIndexïŒã³ã¬ã¯ã·ã§ã³ããã€ã³ããã¯ã¹ãåé€ããŸãindexesïŒã³ã¬ã¯ã·ã§ã³ã®ã€ã³ããã¯ã¹ãäžèŠ§è¡šç€ºããŸã
ð ïž éçº
ãã®ãããžã§ã¯ãã¯ãæ¬¡ã®æè¡ã䜿çšããŠæ§ç¯ãããŠããŸãã
- åå®å šãªéçºã®ããã® TypeScript
- ããŒã¿ããŒã¹æäœã®ããã® MongoDB Node.js driver
- ã¹ããŒãæ€èšŒã®ããã® Zod
- ãµãŒããŒå®è£ ã®ããã® Model Context Protocol SDK
éçºç°å¢ãã»ããã¢ããããã«ã¯ãæ¬¡ã®æé ãå®è¡ããŸãã
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run dev
# Run tests
npm test
ð ã»ãã¥ãªãã£ã«é¢ããèæ ®äºé
ãã® MCP ãµãŒããŒã MongoDB ããŒã¿ããŒã¹ã§äœ¿çšããå Žåã¯ã次ã®ç¹ã«æ³šæããŠãã ããã
- çšéã«å¿ èŠãªæå°éã®æš©éãä»äžããå°çšã® MongoDB ãŠãŒã¶ãŒãäœæããŸã
- æ¬çªç°å¢ã§ã¯ç®¡çè ã®èªèšŒæ å ±ã絶察ã«äœ¿çšããªãã§ãã ãã
- ç£æ»ã®ããã«ã¢ã¯ã»ã¹ãã°ãæå¹ã«ããŸã
- ã³ã¬ã¯ã·ã§ã³ã«é©åãªèªã¿åãïŒæžãèŸŒã¿æš©éãèšå®ããŸã
- æ¥ç¶æååã®ãã©ã¡ãŒã¿ãŒã䜿ã£ãŠã¢ã¯ã»ã¹ãå¶éããŸãïŒäŸïŒ
readPreference=secondaryïŒ - ããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ãå¶éãããããIP ã¢ãã¬ã¹ã®èš±å¯ãªã¹ãã®äœ¿çšãæ€èšããŸã
â ïž éèŠïŒããŒã¿ããŒã¹ã¢ã¯ã»ã¹ãèšå®ããéã¯ãåžžã«æå°æš©éã®ååã«åŸã£ãŠãã ããã
ð ä»çµã¿
MongoDB MCP ãµãŒããŒã¯ã次ã®åŠçãè¡ããŸãã
- æå®ãããæ¥ç¶æååã䜿çšã㊠MongoDB ããŒã¿ããŒã¹ã«æ¥ç¶ããŸã
- MCP 仿§ã«æºæ ããããŒã«ãšã㊠MongoDB ã®æäœãå ¬éããŸã
- åå®å šæ§ãšã»ãã¥ãªãã£ã®ããã« Zod ã䜿çšããŠå ¥åãæ€èšŒããŸã
- ã¯ãšãªãå®è¡ããæ§é åããŒã¿ã LLM ã¯ã©ã€ã¢ã³ãã«è¿ããŸã
- ã³ãã¯ã·ã§ã³ããŒãªã³ã°ãšé©åãªãšã©ãŒåŠçã管çããŸã
ãã¹ãŠã®æäœã¯ãã€ã³ãžã§ã¯ã·ã§ã³æ»æãªã©ã®ã»ãã¥ãªãã£åé¡ãé²ããããé©åãªæ€èšŒãè¡ã£ãŠããå®è¡ãããŸãã
ðŠ ãããã€
ãã® MCP ãµãŒããŒã¯ã次ã®ããããã®æ¹æ³ã§ãããã€ã§ããŸãã
- npx ã䜿ã£ãŠããŒã«ã«ã§å®è¡ããïŒã¯ã€ãã¯ã¹ã¿ãŒããåç §ïŒ
- ã°ããŒãã« npm ããã±ãŒãžãšããŠå®è¡ããïŒ
npm install -g @coderay/mongo-mcp-server - Docker ã³ã³ããã§å®è¡ããïŒãªããžããªå ã® Dockerfile ãåç §ïŒ
- HerokuãVercelãAWS ãªã©ã®ãã©ãããã©ãŒã ã§ãµãŒãã¹ãšããŠå®è¡ãã
â ãã©ãã«ã·ã¥ãŒãã£ã³ã°
ããããåé¡
-
æ¥ç¶ãšã©ãŒ
- MongoDB ã®æ¥ç¶æååãæ£ããããšã確èªããŸã
- MongoDB ãµãŒããŒãèµ·åããŠãããã¢ã¯ã»ã¹å¯èœã§ããããšã確èªããŸã
- ãããã¯ãŒã¯æš©éã§æ¥ç¶ãèš±å¯ãããŠããããšã確èªããŸã
-
èªèšŒã®åé¡
- ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããæ£ããããšã確èªããŸã
- èªèšŒããŒã¿ããŒã¹ãæå®ãããŠããããšã確èªããŸãïŒéåžžã¯
authSource=adminïŒ - MongoDB ã§ TLS/SSL æ¥ç¶ãå¿ èŠãã©ãã確èªããŸã
-
ããŒã«å®è¡æã®åé¡
- Claude Desktop ãŸã㯠Cursor.ai ãå®å šã«åèµ·åããŸã
- 詳现ãªãšã©ãŒã¡ãã»ãŒãžããã°ã§ç¢ºèªããŸãã
# macOS tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
-
ããã©ãŒãã³ã¹ã®åé¡
- é »ç¹ã«ã¯ãšãªãå®è¡ãããã£ãŒã«ãã«é©åãªã€ã³ããã¯ã¹ã远å ããããšãæ€èšããŸã
- ãããžã§ã¯ã·ã§ã³ã䜿çšããŠãã¯ãšãªã§è¿ãããããŒã¿ãå¶éããŸã
- ããŒãžããŒã·ã§ã³ã«ã¯ limit ããã³ skip ãã©ã¡ãŒã¿ãŒã䜿çšããŸã
ãã«ãã®å©çš
åé¡ãçºçããå Žåã¯ãæ¬¡ã®æ¹æ³ãã詊ããã ããã
- MCP ããã¥ã¡ã³ãã確èªããŸã
- GitHub ãªããžããªã§åé¡ãå ±åããŸã
ð€ è²¢ç®
è²¢ç®ãæè¿ããŸãããæ°è»œã«ãã«ãªã¯ãšã¹ããéä¿¡ããŠãã ããã
- ãªããžããªããã©ãŒã¯ããŸã
- æ©èœãã©ã³ããäœæããŸãïŒ
git checkout -b feature/amazing-featureïŒ - 倿Žãã³ãããããŸãïŒ
git commit -m 'Add some amazing feature'ïŒ - ãã©ã³ãã«ããã·ã¥ããŸãïŒ
git push origin feature/amazing-featureïŒ - ãã«ãªã¯ãšã¹ããäœæããŸã
ð ã©ã€ã»ã³ã¹
ãã®ãããžã§ã¯ã㯠MIT License ã®äžã§ã©ã€ã»ã³ã¹ãããŠããŸãã詳现㯠LICENSE ãã¡ã€ã«ãåç §ããŠãã ããã
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã