cool-admin-mcp
v1.0.1
Published
MCP server for Cool Admin Midway - Manage menus, directories, permissions, and modules
Downloads
8
Maintainers
Readme
cool-admin-mcp
MCP (Model Context Protocol) server for Cool Admin Midway. Provides tools to manage menus, directories, permissions, and modules through AI assistants like Claude Desktop.
Features
- 📁 Menu Management: List, add, update, and delete menu structures
- 🎨 Icon Library: Access 70+ predefined icons for UI elements
- 📦 Module Management: List available system modules
- 🔐 Permission Control: Manage access control permissions
- 🌳 Tree Structure: Visual hierarchical menu display
- 🔄 Batch Operations: Support for bulk deletions
Installation
From npm
npm install -g cool-admin-mcpFrom source
git clone https://github.com/maxoyed/cool-admin-mcp.git
cd cool-admin-mcp
pnpm install
pnpm buildConfiguration
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cool-admin": {
"command": "npx",
"args": [
"cool-admin-mcp",
"--server",
"http://your-server:8001",
"--username",
"admin",
"--password",
"your-password"
]
}
}
}Command Line Arguments
--server: Backend API server URL (default:http://localhost:8001)--username: Admin username (default:admin)--password: Admin password (default:123456)
Available Tools
1. list-menus
Retrieve the menu structure from Cool Admin backend.
Parameters:
includeHidden(optional): Include hidden menustype(optional): Filter by type - "all", "directory", or "menu"
2. list-icons
List all available icons categorized by usage (User & Auth, System, Files, etc.).
3. list-modules
List all available modules in the system.
4. add-directory
Add a new directory to organize menus.
Parameters:
name(required): Directory nameparentId(optional): Parent menu IDisShow(optional): Display visibilityicon(optional): Icon nameorderNum(optional): Sort order
5. add-menu
Add a new menu (page/route) to the application.
Parameters:
name(required): Menu namerouter(required): Route pathviewPath(required): View file pathparentId(optional): Parent menu IDkeepAlive(optional): Enable route cachingisShow(optional): Display visibilityicon(optional): Icon nameorderNum(optional): Sort order
6. add-permission
Add a new permission for access control.
Parameters:
name(required): Permission nameperms(required): Permission identifiers (e.g., "user:info:delete")parentId(optional): Parent menu IDorderNum(optional): Sort order
7-9. update-directory, update-menu, update-permission
Update existing menu items. Same parameters as add-* tools plus required id field.
10. delete-menus
Delete one or more menu items (supports batch operations).
Parameters:
ids(required): Array of menu IDs to delete
Development
# Install dependencies
pnpm install
# Run in development mode with auto-reload
pnpm dev
# Run with custom configuration
pnpm dev -- --server http://192.168.1.100:8001 --username admin --password mypass
# Type check
pnpm typecheck
# Build
pnpm build
# Run production build
pnpm startArchitecture
src/
├── index.ts # Server initialization
├── config.ts # Configuration parsing
├── auth.ts # Authentication logic
├── types.ts # TypeScript definitions
├── constants.ts # Shared constants
└── tools/ # MCP tools
├── list-menus.ts
├── list-icons.ts
├── list-modules.ts
├── add-directory.ts
├── add-menu.ts
├── add-permission.ts
├── update-directory.ts
├── update-menu.ts
├── update-permission.ts
└── delete-menus.tsLicense
MIT
Author
maxoyed [email protected]
