A desktop application for managing MCP (Model Context Protocol) servers, tools, prompts, and resources. Built with Electron, React, TypeScript, and Python.
- Node.js 18+ and npm
- Python 3.8+
- Git
-
Clone the repository
git clone <repository-url> cd context-forge-electron
-
Install Node dependencies
npm install
-
Build the Python backend
cd python # On macOS/Linux: ./build.sh # On Windows: build.bat
-
Start the application
# From the root directory npm start
That's it! The app will launch with the Python backend integrated.
# Package the application
npm run package
# Create distributable installers
npm run makeBuilt applications will be in the out/ directory.
context-forge-electron/
βββ src/
β βββ components/ # React components
β β βββ ui/ # Reusable UI components (Radix UI)
β β βββ *.tsx # Feature components
β βββ hooks/ # Custom React hooks
β βββ context/ # React contexts (Theme, Team)
β βββ lib/ # Utilities and libraries
β β βββ api/ # API client layer
β β βββ contextforge-client-ts/ # Generated API client
β βββ types/ # TypeScript type definitions
β βββ services/ # Application services
β βββ main.ts # Electron main process
β βββ preload.ts # Electron preload script
β βββ app.tsx # React app root
βββ python/ # Python backend
β βββ build.sh # Build script (macOS/Linux)
β βββ build.bat # Build script (Windows)
β βββ dist/ # Built backend executable
βββ assets/ # Static assets (icons, images)
βββ docs/ # Documentation
βββ forge.config.ts # Electron Forge configuration
- View, create, edit, and delete MCP servers
- Toggle server status (active/inactive)
- Filter by tags, visibility, and team
- Grid and table view modes
- Manage virtual server configurations
- Associate tools, resources, and prompts
- Configure transport and authentication
- Browse and manage available tools
- Test tools with custom parameters
- Bulk import from JSON
- Filter by annotations, types, and methods
- Create and manage prompt templates
- Define template variables
- Execute prompts with arguments
- Track execution metrics
- Browse and manage MCP resources
- View resource metadata and content
- Filter and search capabilities
- Browse MCP server catalog
- Install servers from catalog
- View server details and documentation
- Interactive chat interface
- Test prompts and tools
- Multiple LLM provider support
- Conversation history
- Multi-profile support with OAuth
- User management with RBAC
- Team management
- API token generation
- Permission management
- Real-time metrics dashboard
- Performance monitoring
- Activity tracking
- Security insights
The Python backend is automatically managed by the application:
- Auto-start: Backend starts when the app launches
- Tray control: Start/stop from system tray menu
- Status monitoring: View PID and uptime
- Graceful shutdown: Automatic cleanup on app quit
The backend provides:
- MCP server catalog management
- Server configuration validation
- Plugin system support
- Local API endpoints
See python/README.md for backend-specific documentation.
Create a .env file in the root directory (optional):
# API Configuration
VITE_API_URL=http://localhost:4444
# Development
VITE_LOG_LEVEL=info
VITE_ENABLE_DEVTOOLS=trueThe application can connect to an external backend API at http://localhost:4444 by default. This is optional - the built-in Python backend provides core functionality.
npm start- Start development server with hot reloadnpm run package- Package the app for distributionnpm run make- Create platform-specific installersnpm run publish- Publish the appnpm run lint- Run ESLintnpm run lint -- --fix- Fix linting issues
- Frontend: React 19, TypeScript, Tailwind CSS
- UI Components: Radix UI, Lucide Icons, shadcn/ui
- Desktop: Electron 39, Electron Forge
- Build: Vite 7
- Backend: Python 3.8+ with FastAPI
- State Management: React Context + Hooks
- Python Backend
- Python Backend Integration
- Toast & Tray Integration
- Multi-Profile Authentication
- LLM Playground Design
- Prompts Page Design
- Metrics Dashboard
# Run linter
npm run lint
# Fix linting issues
npm run lint -- --fixNote: Comprehensive test suite to be added
- Profile credentials stored securely using Electron's safeStorage API
- OAuth 2.0 support for authentication
- HTTPS recommended for production API endpoints
- Input validation on all user inputs
- Role-based access control (RBAC)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Apache License 2.0 - see LICENSE file for details
Rynne Whitnah ([email protected])
- Add comprehensive test coverage
- Implement error boundaries
- Upgrade to TypeScript 5.7+
- Add CI/CD pipeline
- Enhanced plugin system
- Advanced metrics and analytics
- Component library/Storybook
- Mobile companion app
For issues and questions, please open an issue on GitHub.