README.md•3.9 kB
# Dieter Rams MCP Server
An MCP server that evaluates product designs against Dieter Rams' 10 principles of good design.
## Installation
```bash
npm install dieter-rams-mcp
```
### Prerequisites
- Node.js 16+
- Python 3.7+
Install Python dependencies:
```bash
pip install -r requirements.txt
```
## Usage
### As MCP Server
```bash
npx dieter-rams-mcp
```
### Programmatically
```javascript
const { startMCPServer } = require('dieter-rams-mcp');
startMCPServer();
```
### Claude Desktop Configuration
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"dieter-rams": {
"command": "npx",
"args": ["dieter-rams-mcp"]
}
}
}
```
### Other MCP Clients
For other MCP clients, use:
- **Command**: `npx dieter-rams-mcp`
- **Transport**: stdio
- **Environment**: Ensure Python 3.7+ and Node.js 16+ are available
## Tools
### `evaluate_design`
Complete evaluation against all 10 principles
```json
{
"description": "A minimalist smartphone with clean lines and intuitive interface",
"category": "consumer electronics"
}
```
### `principle_check`
Check specific principle with evidence
```json
{
"description": "Tesla Model S dashboard with single touchscreen",
"principle": 4,
"evidence": "All controls accessible through one interface"
}
```
### `get_principles`
List all 10 principles - no parameters needed
### `suggest_improvements`
Get improvement recommendations
```json
{
"description": "Overcomplicated smart home app with 50+ buttons",
"current_issues": ["Too many options", "Confusing navigation"]
}
```
## Example Outputs
### `evaluate_design` Response
```json
{
"overall_score": 7.2,
"principle_scores": {
"1": { "score": 8, "feedback": "Innovative use of gesture controls" },
"2": { "score": 9, "feedback": "Clearly serves user needs" },
"3": { "score": 7, "feedback": "Clean aesthetic but could be refined" }
},
"summary": "Strong functional design with room for aesthetic improvement",
"recommendations": ["Simplify color palette", "Reduce visual noise"]
}
```
### `principle_check` Response
```json
{
"principle": 4,
"score": 6,
"passes": false,
"feedback": "Interface requires too much learning",
"evidence_analysis": "Single touchscreen reduces physical complexity but cognitive load remains high",
"suggestions": ["Add voice commands", "Implement gesture shortcuts"]
}
## The 10 Principles
1. Good design is innovative
2. Good design makes a product useful
3. Good design is aesthetic
4. Good design makes a product understandable
5. Good design is unobtrusive
6. Good design is honest
7. Good design is long-lasting
8. Good design is thorough down to the last detail
9. Good design is environmentally-friendly
10. Good design is as little design as possible
*"Less, but better" - Weniger, aber besser*
### Learn More About Dieter Rams
- [Wikipedia: Dieter Rams](https://en.wikipedia.org/wiki/Dieter_Rams)
- [Vitsoe: Dieter Rams Principles](https://www.vitsoe.com/us/about/good-design)
- [Book: Less and More - The Design Ethos of Dieter Rams](https://www.amazon.com/Less-More-Design-Ethos-Dieter/dp/3931936651)
## Troubleshooting
### Python Dependencies Not Found
```bash
pip install -r requirements.txt
```
Or try:
```bash
python3 -m pip install -r requirements.txt
```
### Permission Errors on macOS/Linux
```bash
sudo pip install -r requirements.txt
```
### Python Command Not Found
- Ensure Python 3.7+ is installed
- Try `python` instead of `python3`
- On Windows, ensure Python is in PATH
### MCP Server Won't Start
1. Check Node.js version: `node --version` (requires 16+)
2. Verify Python imports: `python3 -c "import fastmcp"`
3. Check file permissions on `server.py`
## License
ISC License - see package.json for details.
## Contributing
Issues and pull requests welcome. This is an open-source project for evaluating designs against timeless design principles.