Skip to main content
Glama
michaeltrilford

Muibook Guidelines MCP Server

README.md
# Muibook Guidelines MCP Server

An MCP (Model Context Protocol) server that provides design system guidelines and component documentation to Cursor Desktop.

## Overview

This MCP server delivers comprehensive design system guidelines directly to Cursor, enabling it to provide accurate, consistent advice about UI components, patterns, and best practices from your design system.

## Features

- **Component Guidelines**: Detailed documentation for UI components (buttons, forms, navigation, etc.)
- **Visual References**: Direct links to component anatomy diagrams and examples
- **Accessibility Standards**: Built-in accessibility requirements and best practices
- **Design Tokens**: Access to color, typography, spacing, and other design tokens
- **Usage Patterns**: Real-world examples and usage guidelines

## Installation

### Prerequisites

- Node.js (v16 or higher)
- Cursor Desktop application

### Setup

1. **Clone this repository**

```bash
git clone https://github.com/your-org/muibook-guidelines-mcp.git
cd muibook-guidelines-mcp
```

2. **Install dependencies**

```bash
npm install
```

3. **Configure Cursor Desktop**

Edit your Cursor Desktop config file:

- **macOS**: `~/Library/Application Support/Cursor/mcp_config.json`
- **Windows**: `%APPDATA%\Cursor\mcp_config.json`

Add this server:

```json
{
  "mcpServers": {
    "muibook-guidelines": {
      "command": "node",
      "args": ["/absolute/path/to/muibook-guidelines-mcp/server.js"]
    }
  }
}
```

Replace `/absolute/path/to/muibook-guidelines-mcp/` with the actual path where you cloned this repository.

4. **Restart Cursor Desktop**

Completely quit and reopen Cursor Desktop to load the MCP server.

## Usage

Once installed, you can ask Cursor about design guidelines:

**Examples:**

- "Show me the button component guidelines"
- "What are the accessibility requirements for buttons?"
- "What button variants are available?"
- "How should I use primary vs secondary buttons?"

### Available Prompts

**`serve_guidelines`** - Returns comprehensive design system guidelines including component anatomy, usage patterns, accessibility requirements, and visual references.

## What's Included

### Button Component Guidelines

- Complete anatomy breakdown with visual diagrams
- Usage guidelines and best practices
- Five button variants (Primary, Secondary, Tertiary, Link, Icon)
- Accessibility requirements
- Component states and behaviors

Full documentation: [https://guides.muibook.com/button](https://guides.muibook.com/button)

## Troubleshooting

### Red indicator in Cursor Desktop

**The server isn't connecting. Try these steps:**

1. **Verify the path** in your config file is correct and absolute
2. **Check Node.js version**: Run `node --version` (needs v16+)
3. **Test the server manually**:
   ```bash
   cd /path/to/muibook-guidelines-mcp
   node server.js
   ```
4. **Check for errors** in the console output
5. **Restart Cursor** completely (quit and reopen)

### Guidelines not appearing

- Confirm the server shows as connected in Cursor (not red)
- Try asking explicitly: "Show me the serve_guidelines prompt"
- Check Cursor's MCP logs for errors

### Images not loading

- Ensure you have internet connectivity (images are hosted externally)
- Check that the URLs in the guidelines are accessible
- Try fetching an image URL directly in your browser

## Development

### Running the server locally

```bash
node server.js
```

### Making changes

1. Edit `server.js` to modify guidelines
2. Restart Cursor Desktop to reload changes
3. Test your prompts

### Adding new components

Edit the prompt content in `server.js`:

```javascript
if (request.params.name === "serve_guidelines") {
  return {
    messages: [
      {
        role: "user",
        content: {
          type: "text",
          text: `# Add your new component guidelines here`,
        },
      },
    ],
  };
}
```

## Project Structure

```
muibook-guidelines-mcp/
├── server.js            # MCP server implementation
├── package.json         # Dependencies and metadata
└── README.md           # This file
```

## Resources

- [MCP Documentation](https://modelcontextprotocol.io)
- [Cursor Documentation](https://cursor.sh)
- [Design System Guidelines](https://guides.muibook.com/)

## Contributing

We welcome contributions! To add or improve guidelines:

1. Fork this repository
2. Create a feature branch (`git checkout -b feature/new-component`)
3. Add or update component guidelines in `server.js`
4. Test with Cursor Desktop
5. Submit a pull request

## License

[Your License Here]

## Support

For issues or questions:

- Open an issue on GitHub
- Check the troubleshooting section above
- Contact the design system team

---

# NPM Package

## Versioning

- Follow **semantic versioning**: `major.minor.patch`
  - **Patch**: bug fixes, no API changes
  - **Minor**: new features, backward-compatible
  - **Major**: breaking changes, API changes
- Keep `package.json` and `server.json` versions synchronized.

## Bumping Versions

Patch:

```bash
npm version patch
```

Minor:

```bash
npm version minor
```

Major:

```bash
npm version major
```

This updates package.json version and creates a Git tag automatically.

## Publishing to NPM

Option A – Direct publish (NPM will prompt for credentials if needed):

```bash
npm publish --access public
```

Option B – Pre-login (recommended for repeated releases):

```bash
npm login
npm publish --access public
```

- --access public ensures the package is publicly available.
- Make sure package.json includes the MCP identifier:

```json
"mcpName": "io.github.YOURUSERNAME/muibook-guidelines-mcp"
```

⸻

## Optional MCP Registry Update

Ensure server.json matches the current version:

```json
"version": "1.0.0"
```

Publish to MCP Registry:

```bash
mcp-publisher publish
```

⸻

## GitHub Release (Optional)

Tag the release:

```bash
git tag v1.0.0
git push origin v1.0.0
```

Add release notes in GitHub for tracking changes.

⸻

## Local Development & Testing

Install dependencies:

```bash
npm install
```

Run locally:

```bash
npm start
```

Connect via MCP client (Cursor, Cline, etc.) or mcp.json:

```json
{
  "servers": {
    "muibook-guidelines-mcp": {
      "command": "node",
      "args": ["./node_modules/muibook-guidelines-mcp/server.js"]
    }
  }
}
```

## Release Checklist

• Test MCP server locally
• Update package.json and server.json versions
• Bump version (patch, minor, or major)
• Commit and push changes
• Publish to NPM (--access public)
• Optionally publish to MCP Registry (mcp-publisher publish)
• Optionally create GitHub release with notes

## References

• NPM Publishing Docs
• MCP Registry Docs
• Semantic Versioning

TDQS

B3.4/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion or overlap. The tool's purpose is clear and unique.

Naming Consistency5/5

The single tool name follows a clean verb_noun pattern (serve_guidelines), which is consistent and easily readable.

Tool Count3/5

With only one tool, the server feels minimal but not unreasonable for a narrowly scoped guideline-serving purpose. It sits at the thin end of acceptable.

Completeness3/5

The tool provides access to guidelines, but there are no options for searching, filtering, or retrieving specific sections. This may force agents to process a large blob of content, though it could suffice for very simple use cases.