Skip to content

Refactor Electron setup and improve MCP server management #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Dec 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"rules": {
"@typescript-eslint/no-require-imports": "off"
}
}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ node_modules
dist
dist-ssr
dist-electron
electron/dist/
*.local

# Editor directories and files
Expand All @@ -30,4 +31,4 @@ dist-electron
**/claude_desktop_config.json

# Build directories
.tmp
.tmp
58 changes: 40 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<h1 align="center">MCP Manager for Claude Desktop</h1>

<p align="center">A simple web GUI to manage Model Context Protocol (MCP) servers for the Claude Desktop app on MacOS easily. Just follow the instructions and paste a few commands to give your Claude app instant superpowers. </p>
<p align="center">A desktop application to manage Model Context Protocol (MCP) servers for the Claude Desktop app on MacOS. Just follow the instructions and paste a few commands to give your Claude app instant superpowers.</p>

![MCP Manager for Claude Desktop](https://assets.zue.ai/mcp-manager-hero.png)

Expand All @@ -13,8 +13,8 @@ The Model Context Protocol (MCP) enables Claude to access private data, APIs, an

## Features

- 🚀 Easy-to-use interface for managing MCP servers
- 🔒 Runs entirely client-side - your data never leaves your computer
- 🚀 Easy-to-use desktop interface for managing MCP servers
- 🔒 Runs locally - your data never leaves your computer
- ⚡️ Quick setup for popular MCP servers:
- Apple Notes - Access and search your Apple Notes
- AWS Knowledge Base - Access and query AWS Knowledge Base for information retrieval
Expand Down Expand Up @@ -43,14 +43,21 @@ The Model Context Protocol (MCP) enables Claude to access private data, APIs, an

## Tech Stack

- **Frontend Framework**: React 18 with TypeScript
- **Build Tool**: Vite
- **Styling**:
- TailwindCSS for utility-first CSS
- DaisyUI for component styling
- Tiempos Font to match the Anthropic Design Language
- **Desktop Framework**:
- Electron 29.1.4 with React 18.3.1
- TypeScript 5.6.2
- **Build Tool**:
- Vite 6.0.1
- Electron Builder 25.1.8
- **UI Components**:
- TailwindCSS 3.4.16
- DaisyUI 4.12.14
- Lucide React 0.468.0 for icons
- Tiempos Font
- **Code Quality**:
- Biome 1.9.4
- ESLint 9.15.0
- **Package Manager**: Bun
- **Deployment**: Cloudflare Pages for <60s build times

## Project Structure

Expand All @@ -63,32 +70,47 @@ src/
├── App.tsx # Main application component
├── server-configs.ts # MCP server configurations
└── utils.ts # Utility functions
electron/
├── main.ts # Electron main process
└── tsconfig.json # TypeScript config for Electron
```

## Development

1. Install dependencies:

```bash
bun install
```

2. Start the dev server:

2. Start development:
```bash
bun dev
bun electron:dev
```

3. Build for production:
3. Build for MacOS:
```bash
rm -rf dist dist-electron # When rebuilding
bun electron:build # Creates .dmg installer
```

4. Additional commands:
```bash
bun run build
bun check # Run TypeScript checks and Biome formatting
bun lint # Run ESLint
```

## Work to be done

Add preset MCPs:
- Fetch
- Time-related
- Sentry

Contributions to resolve these are welcome!

## Contributing

Contributions are extremely welcome! Please open a PR with new MCP servers or any other improvements to the codebase.
PS. I wasnt able to get fetch, time, and sentry working, if you can help me out, that would be great!

## Disclaimer

Expand All @@ -112,4 +134,4 @@ MIT

<p align="center">
<a href="https://zue.ai/talk-to-us">Contact us</a> for custom AI automation solutions and product development.
</p>
</p>
6 changes: 5 additions & 1 deletion biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
"rules": {
"recommended": true,
"suspicious": {
"noArrayIndexKey": "off"
"noArrayIndexKey": "off",
"noAssignInExpressions": "off"
},
"style": {
"noCommaOperator": "off"
}
},
"ignore": ["**/*.md", "**/*.css"]
Expand Down
Binary file modified bun.lockb
Binary file not shown.
99 changes: 0 additions & 99 deletions dist-electron/main.js

This file was deleted.

1 change: 0 additions & 1 deletion dist-electron/main.js.map

This file was deleted.

9 changes: 0 additions & 9 deletions dist-electron/preload.js

This file was deleted.

1 change: 0 additions & 1 deletion dist-electron/preload.js.map

This file was deleted.

Loading