ð NexusHub
ãªã¢ãŒãð NexusHub ã«ã€ããŠ
NexusHubã¯ãClaude AIã®ã¯ãŒã¯ãããŒåãã«ãã¡ã€ã«ãããŒã¿ããŒã¹ãDockerãæ€çŽ¢ã®ããŒã«ããŸãšããMCPãµãŒããŒã§ããHTTPãšstdioã«å¯Ÿå¿ãã管çããã·ã¥ããŒããåããŠããŸãã
äž»ãªæ©èœ
- 01HTTPãšstdioã®ã€ã³ã¿ãŒãã§ãŒã¹
- 02MemoryãGitHubãBrave Searchã®çµ±å
- 03ãã¡ã€ã«ãããŒã¿ããŒã¹ãDockerã®ããŒã«
- 04ããã¥ã¡ã³ãã®åã蟌ã¿ãšã»ãã³ãã£ãã¯æ€çŽ¢
- 05APIããŒãšãµãŒãã¹èšå®ã®ç®¡ç
- 06ãµãŒãã¹ç¶æ ã確èªããããã·ã¥ããŒã
掻çšã·ãŒã³
- 011ã€ã®ãµãŒãã¹ããè€æ°ã«ããŽãªã®ããŒã«ãåŒã³åºã
- 02ããŒã¿ããŒã¹ãæ€çŽ¢ããŠããŒãã«å®çŸ©ã確èª
- 03ããã¥ã¡ã³ããåã蟌ãã§æå³æ€çŽ¢
- 04ããã·ã¥ããŒãã§æ¥ç¶ãµãŒãã¹ã®ç¶æ ã確èª
MCP 察å¿
NexusHubã¯ãMCPãéããŠClaudeãªã©ã®ã¯ã©ã€ã¢ã³ãã«ãã¡ã€ã«ãããŒã¿ããŒã¹ãDockerãæ€çŽ¢ããã¯ãã«æ€çŽ¢ã®ããŒã«ãå ¬éããŸããHTTPãŸãã¯stdioã§æ¥ç¶ã§ããMemoryãGitHubãBrave Searchã®MCPãµãŒããŒãçµ±åããŸãã
èšå®
ãªã¢ãŒããµãŒããŒã¯ã€ã³ã¹ããŒã«äžèŠã§ããã¯ã©ã€ã¢ã³ããéžãã§èšå®ãã³ããŒããããã¯ã³ã¯ãªãã¯ã§å°å ¥ã§ããŸãã
http://localhost:8001/mcpclaude mcp add --transport http NexusHub http://localhost:8001/mcp{"mcpServers":{"NexusHub":{"type":"http","url":"http://localhost:8001/mcp"}}}Cursor ã§éã{"servers":{"NexusHub":{"type":"http","url":"http://localhost:8001/mcp"}}}VS Code ã§éã{"mcpServers":{"NexusHub":{"type":"http","url":"http://localhost:8001/mcp"}}}{"mcpServers":{"NexusHub":{"serverUrl":"http://localhost:8001/mcp"}}}ã³ãã³ãã¯ã¿ãŒããã«ã§å®è¡ããJSON ã¯åã¯ã©ã€ã¢ã³ãã® MCP èšå®ã«è²Œãä»ããŠåèµ·åããŸããèªå¯ãå¿ èŠãªãµãŒããŒã¯ååæ¥ç¶æã«ãã°ã€ã³ãæ±ããŸãã
ããŒã«
詳现
ð NexusHub
Claude AI ããŒã«åãã®çµ±å MCP ãµãŒããŒ
Model Context Protocol ãä»ããŠãClaude AI ãšå€éšãµãŒãã¹ãã€ãªã匷åãªããªããžã§ãã
ãã¡ã€ã«ã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãããŒã¿ããŒã¹æäœããã¯ãã«æ€çŽ¢ãGitHub 飿ºãªã©ãå©çšããŠãClaude Code ã匷åããŸãã
ã㢠⢠ããã¥ã¡ã³ã ⢠ãã°ãå ±å ⢠æ©èœããªã¯ãšã¹ã
âš æ©èœ
- ð¡ ãã¥ã¢ã«ã€ã³ã¿ãŒãã§ãŒã¹ - HTTP ãš stdio ã®äž¡æ¹ã® MCP ãããã³ã«ã«å¯Ÿå¿
- ð ã¢ãã³ããã·ã¥ããŒã - Protocol ãã¶ã€ã³ã·ã¹ãã ãæ¡çšããçŸãã管çã€ã³ã¿ãŒãã§ãŒã¹ãããã©ã«ãã§ããŒã¯ã¢ãŒãã§ã
- ð ãµãŒãã¹çµ±å - è€æ°ã® MCP ãµãŒããŒïŒMemoryãGitHubãBrave SearchïŒãçµ±å
- ð ãã¯ãã«ããŒã¿ããŒã¹ - ããã¥ã¡ã³ãã®åã蟌ã¿ãšã»ãã³ãã£ãã¯æ€çŽ¢ã«å¯Ÿå¿
- ð API 管ç - API ããŒãšãµãŒãã¹èšå®ãå®å šã«ç®¡ç
- ð³ Docker çµ±å - Docker ãš Docker Compose ã«ããç°¡åãªãããã€
- ð é«åºŠãªããã³ãã - 广ç㪠AI ãšã®ããåãã«äœ¿ããäºåèšå®æžã¿ããã³ãã
- ð ãªã¢ã«ã¿ã€ã ã¹ããŒã¿ã¹ - æ¥ç¶äžã®ãã¹ãŠã®ãµãŒãã¹ã®çšŒåç¶æ³ãç£èŠ
Protocol ãã¶ã€ã³ã·ã¹ãã ãæ¡çšãããæŽç·Žããã NexusHub ããã·ã¥ããŒãã€ã³ã¿ãŒãã§ãŒã¹
ðïž ã¢ãŒããã¯ãã£
NexusHub 㯠HTTP ã€ã³ã¿ãŒãã§ãŒã¹ã« Express ã䜿çšãã Node.js ããã¯ãšã³ããšãCLI ã€ã³ã¿ãŒãã§ãŒã¹åãã®ãã€ãã£ã㪠stdio åŠçã䜿çšããŸãããµãŒããŒã¯ã次ã®äž»èŠãªãµãŒãã¹ãšçµ±åãããŠããŸãã
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Claude Desktop â
âââââââââââââ¬ââââââââââââââââââ¬ââââââââââââ¬ââââââââââââ
â â â
⌠⌠âŒ
âââââââââââââââââââââ âââââââââââââââ âââââââââââââââ
â NexusHub MCP â â Memory MCP â â GitHub MCP â
â Server â â Server â â Server â
âââââââââââ¬ââââââââââ âââââââââââââââ âââââââââââââââ
â â² â²
⌠â â
âââââââââââââââââââ â â
â Vector Store â â â
âââââââââââââââââââ â â
â â â
⌠â â
âââââââââââââââââââ âââââââââââââââ âââââââââââââââââââ
â Filesystem API â â Database APIâ â Docker API â
âââââââââââââââââââ âââââââââââââââ âââââââââââââââââââ
ð ïž å©çšå¯èœãªããŒã«
NexusHub 㯠Claude AI ã«æ¬¡ã®ããŒã«ãæäŸããŸãã
| ã«ããŽãª | ããŒã« | 説æ |
|---|---|---|
| ãã¡ã€ã«ã·ã¹ãã | fs_list_files | ãã£ã¬ã¯ããªå ã®ãã¡ã€ã«ãäžèŠ§è¡šç€º |
fs_read_file | ãã¡ã€ã«ã®å 容ãèªã¿åã | |
fs_write_file | ãã¡ã€ã«ã«æžã蟌ã | |
| ããŒã¿ããŒã¹ | db_execute_query | èªã¿åãå°çšã® SQL ã¯ãšãªãå®è¡ |
db_list_tables | ããŒã¿ããŒã¹å ã®ãã¹ãŠã®ããŒãã«ãäžèŠ§è¡šç€º | |
db_describe_table | ããŒãã«ã¹ããŒããååŸ | |
db_insert_data | ããŒãã«ã«ããŒã¿ãæ¿å ¥ | |
| Docker | docker_list_containers | Docker ã³ã³ãããäžèŠ§è¡šç€º |
docker_start_container | ã³ã³ãããèµ·å | |
docker_stop_container | ã³ã³ããã忢 | |
docker_get_container_logs | ã³ã³ããã®ãã°ãååŸ | |
| æ€çŽ¢ | serper_search | Serper API çµç±ã§ãŠã§ãæ€çŽ¢ãå®è¡ |
| ãã¯ãã« DB | ingest_docs | ããã¥ã¡ã³ãããã¯ãã«ã¹ãã¢ã«åã蟌ã |
vector_search | é¡äŒŒããã¥ã¡ã³ããæ€çŽ¢ |
ð ã¯ããã«
åææ¡ä»¶
- Docker ãš Docker Compose
- Node.js 18+
- Python 3.8+ïŒãã¯ãã«åã蟌ã¿çšïŒ
ã€ã³ã¹ããŒã«
-
ãªããžããªãã¯ããŒã³ããŸãïŒ
git clone https://github.com/webdevtodayjason/NexusHub.git cd NexusHub -
ç°å¢å€æ°ãèšå®ããŸãïŒ
cp .env.example .env # Edit .env file with your API keys -
ãµãŒãã¹ãèµ·åããŸãïŒ
docker-compose up -d -
ããã·ã¥ããŒãã«ã¢ã¯ã»ã¹ããŸãïŒ ãã©ãŠã¶ãŒã§ http://localhost:8001/dashboard ãéããŸã
Claude Desktop ã®èšå®
NexusHub 㯠Claude Desktop ãšã®çµ±åã«ã次㮠2 ã€ã®æ¹æ³ããµããŒãããŠããŸãã
1. HTTP ã¢ãŒã
ãã®ã¢ãŒãã§ã¯ãHTTP ãšã³ããã€ã³ãçµç±ã§ NexusHub ã«æ¥ç¶ããŸããclaude_desktop_config.json ã«æ¬¡ã®èšå®ã远å ããŸãã
{
"mcpServers": {
"nexushub": {
"name": "NexusHub MCP Server",
"description": "Centralized MCP server with multiple capabilities",
"url": "http://localhost:8001/mcp",
"enabled": true
}
}
}
2. STDIO ã¢ãŒãïŒæšå¥šïŒ
ãã®ã¢ãŒãã§ã¯ãããã©ãŒãã³ã¹ãšä¿¡é Œæ§ãé«ããããã«ãããã»ã¹éã§çŽæ¥éä¿¡ããŸããNexusHub ã®ã³ãŒããããŒã«ã«ã§å©çšã§ããå¿ èŠããããŸãã
-
ã©ãããŒã¹ã¯ãªãããæºåããŸãïŒ
# Make the wrapper script executable chmod +x /path/to/nexushub/nexushub-mcp.sh chmod +x /path/to/nexushub/src/mcp/adapters/stdio-wrapper.js chmod +x /path/to/nexushub/src/mcp/stdio-adapter.js -
claude_desktop_config.jsonã«è¿œå ããŸãïŒ{ "mcpServers": { "nexushub": { "name": "NexusHub MCP Server", "description": "Centralized MCP server with multiple capabilities", "command": "/path/to/nexushub/nexushub-mcp.sh", "enabled": true }, "brave-search": { "name": "Brave Search MCP", "description": "Provides web search capabilities via Brave Search API.", "command": "docker", "args": ["exec", "-i", "mcp_brave_search", "node", "dist/index.js"], "enabled": true }, "github": { "name": "GitHub MCP", "description": "Provides GitHub repository interaction.", "command": "docker", "args": ["exec", "-i", "mcp_github", "node", "dist/index.js"], "enabled": true }, "memory": { "name": "Memory MCP", "description": "Persistent knowledge graph memory.", "command": "docker", "args": ["exec", "-i", "mcp_memory", "node", "dist/index.js"], "enabled": true } } }
æ³šïŒ /path/to/nexushub ããå®éã® NexusHub ã®ã€ã³ã¹ããŒã«ãã¹ã«çœ®ãæããŠãã ããã
Docker ã³ã³ãã
Claude Desktop ãèµ·åããåã«ããã¹ãŠã® Docker ã³ã³ãããå®è¡äžã§ããããšã確èªããŠãã ããã
cd /path/to/nexushub
docker-compose up -d
ããã«ãããå¿ èŠãªãã¹ãŠã® MCP ãµãŒããŒãèµ·åããŸãã
- NexusHubïŒãã¡ã€ã«ã·ã¹ãã ãããŒã¿ããŒã¹ãDocker ããŒã«ãåãããã©ã€ããªãµãŒããŒïŒ
- Brave Search MCPïŒãŠã§ãæ€çŽ¢æ©èœïŒ
- GitHub MCPïŒãªããžããªæäœïŒ
- Memory MCPïŒãã¬ããžã°ã©ãïŒæ°žç¶ã¡ã¢ãªïŒ
ð¡ 䜿çšäŸ
Claude AI ã§ NexusHub ã䜿çšããæ¹æ³ãããã€ã玹ä»ããŸãã
ãã¡ã€ã«æäœ
Please use fs_list_files to show me all the JavaScript files in the src directory,
then read the content of any interesting files you find.
ããŒã¿ããŒã¹ã¯ãšãª
Can you use db_execute_query to find all users in the database who joined
in the last month and have the "admin" role?
ãã¯ãã«æ€çŽ¢
Please use vector_search to find documentation related to "authentication flow"
and summarize the key points.
ããŒã«ã®çµã¿åãã
First, use brave_web_search to find the latest best practices for React error boundaries.
Then, use fs_read_file to examine our current implementation in ErrorBoundary.jsx,
and suggest improvements based on what you found.
ð§© ç¬èªã®ããŒã«ã远å ããæ¹æ³
/src/mcp/tools/ ãã£ã¬ã¯ããªã«æ°ããããŒã«å®çŸ©ã远å ããŠãNexusHub ãæ¡åŒµã§ããŸãã
// src/mcp/tools/my-custom-tools.js
export function getToolDefinitions() {
return {
my_custom_tool: {
name: 'my_custom_tool',
description: 'Description of what the tool does.',
inputSchema: {
type: 'object',
properties: {
param1: {
type: 'string',
description: 'Description of parameter 1'
}
// Add more parameters as needed
},
required: ['param1']
}
}
};
}
// Tool implementation
export async function myCustomTool(param1) {
// Your custom tool logic here
return { result: 'Success!' };
}
次ã«ã/src/mcp/tools/index.js ãš /src/mcp/tools/handler.js ã«ããŒã«ã远å ããŸãã
ð ããŒã«ã«éçº
-
äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããŸãïŒ
npm install -
éçºã¢ãŒãã§å®è¡ããŸãïŒ
npm run dev -
stdio ã¢ãŒãã®ãã¹ããè¡ããŸãïŒ
npm run stdio
𧪠ãã¹ãã®å®è¡
# Run all tests
npm test
# Run specific test suite
npm test -- --grep "API Keys"
ð§ ãã©ãã«ã·ã¥ãŒãã£ã³ã°
Claude Desktop ãšã®é£æºã«é¢ããåé¡
-
Claude Desktop ã®èµ·åæã«ãUnexpected tokenããšã©ãŒãçºçããïŒ
- ã©ãããŒã¹ã¯ãªããã«é©åãªæš©éãããããšã確èªããŠãã ããïŒ
chmod +x nexushub-mcp.sh - ãã¹ãŠã®ã¹ã¯ãªããã JSON 以å€ã®åºåãæ£ãããã£ã«ã¿ãªã³ã°ããŠããããšã確èªããŠãã ããã
- 詳现ã«ã€ããŠã¯ã
/tmp/nexushub-debug-*.logã®ãã°ãã¡ã€ã«ã確èªããŠãã ããã
- ã©ãããŒã¹ã¯ãªããã«é©åãªæš©éãããããšã確èªããŠãã ããïŒ
-
MCP ãµãŒããŒãèªã¿èŸŒãŸããªãããŸãã¯ããŒã«ã衚瀺ãããªãïŒ
- Docker ã³ã³ãããå®è¡äžã§ããããšã確èªããŠãã ããïŒ
docker ps | grep mcp - ã³ã³ããã®ãã°ã確èªããŠãã ããïŒ
docker logs mcp_brave_search - Claude Desktop ã®èšå®ã«æ£ãããã¹ïŒã³ãã³ããæå®ãããŠããããšã確èªããŠãã ããã
- 倿Žãå ããåŸãClaude Desktop ãåèµ·åããŠã¿ãŠãã ããã
- Docker ã³ã³ãããå®è¡äžã§ããããšã確èªããŠãã ããïŒ
-
Docker ã³ã³ããã«é¢ããåé¡ïŒ
- Docker ã®ãã°ã倧ãããªããããå Žåã¯ããã°ãæ¶å»ããŠãã ããïŒ
docker system prune - ã³ã³ãããåèµ·åããŠãã ããïŒ
docker-compose restart - ããŒãã®ç«¶åã確èªããŠãã ããïŒ
lsof -i :8001
- Docker ã®ãã°ã倧ãããªããããå Žåã¯ããã°ãæ¶å»ããŠãã ããïŒ
ãããããšã©ãŒã¡ãã»ãŒãž
| ãšã©ãŒ | 解決ç |
|---|---|
| "Method not found" | MCP ãµãŒããŒã¯ãã®ã¡ãœããããµããŒãããŠããŸãããæ£ããããŒã«åã䜿çšããŠããã確èªããŠãã ããã |
| "Socket hang up" | æ¥ç¶ã®åé¡ã§ããMCP ãµãŒããŒãå®è¡äžã確èªããŠãã ããã |
| "ENOENT" | ãã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªãèŠã€ãããŸãããèšå®å ã®ãã¹ã確èªããŠãã ããã |
| "Permission denied" | ãã¡ã€ã«æš©éã®åé¡ã§ããã¹ã¯ãªããã®æš©éã確èªããŠãã ããã |
| "Unexpected token" | JSON ã®è§£æãšã©ãŒã§ããMCP ãµãŒããŒã®æšæºåºåã確èªããŠãã ããã |
ð ããã¥ã¡ã³ã
ããŒã«éçºã¬ã€ã
- ã¯ã€ãã¯ã¹ã¿ãŒãã¬ã€ã - 5 åã§äœ¿ãå§ããããŸã
- ããŒã«éçºã¬ã€ã - ããŒã«äœæã®å æ¬çãªã¬ã€ã
- AI ããŒã«äœæããã³ãã - AI ãæŽ»çšããããŒã«äœæã«æé©åãããããã³ãã
飿ºã¬ã€ã
- Claude Desktop ãšã®é£æº - NexusHub ã Claude Desktop ã«æ¥ç¶ããŸã
- Claude CLI ãšã®é£æº - NexusHub ã Claude CLI ãšãšãã«äœ¿çšããŸã
MCP ãªãœãŒã¹
- Model Context Protocol å ¬åŒãµã€ã
- Claude Desktop ãŠãŒã¶ãŒåã MCP ã¯ã€ãã¯ã¹ã¿ãŒã
- Claude Code ããã¥ã¡ã³ã
ããã¥ã¡ã³ãã®å šæã¯ãNexusHub Wikiãã芧ãã ããã
ð€ è²¢ç®
ãªãŒãã³ãœãŒã¹ã³ãã¥ããã£ããåŠã³ãåºæ¿ãåããåµé ããããã®çŽ æŽãããå Žã«ããŠããã®ã¯ãçããŸããã®è²¢ç®ã§ããçããŸããã®è²¢ç®ãå¿ããæè¿ããŸãã
- ãããžã§ã¯ãããã©ãŒã¯ããŸã
- ãã£ãŒãã£ãŒãã©ã³ããäœæããŸãïŒ
git checkout -b feature/AmazingFeatureïŒ - 倿Žãã³ãããããŸãïŒ
git commit -m 'Add some AmazingFeature'ïŒ - ãã©ã³ãã«ããã·ã¥ããŸãïŒ
git push origin feature/AmazingFeatureïŒ - ãã«ãªã¯ãšã¹ããäœæããŸã
ð ã©ã€ã»ã³ã¹
MIT ã©ã€ã»ã³ã¹ã®äžã§é
åžãããŠããŸãã詳ãã㯠LICENSE ãã芧ãã ããã
ðšâð» äœè
ð è¬èŸ
- Claude AI - åªãã AI æ©èœãæäŸããŠãããããšã«æè¬ããŸã
- Model Context Protocol - ãããã³ã«ä»æ§ã«æè¬ããŸã
- Protocol Design System - ã¢ãã³ãª UI ãã¶ã€ã³èšèªã«æè¬ããŸã
- Tailwind CSS - ãŠãŒãã£ãªãã£ãã¡ãŒã¹ãã® CSS ãã¬ãŒã ã¯ãŒã¯ã«æè¬ããŸã
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã