Server data from the Official MCP Registry
MCP server for creating, validating, and exporting Oh My Posh terminal prompt configurations.
About
MCP server for creating, validating, and exporting Oh My Posh terminal prompt configurations.
Security Report
The Oh My Posh Configurator MCP server is a well-structured developer tool for creating terminal prompts. The codebase demonstrates good practices with proper TypeScript typing, no obvious credential exfiltration, and permissions aligned with its purpose (file I/O, network access for configuration assets). Minor issues include broad exception handling and some code quality concerns that don't significantly impact security. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 1 high severity). Package verification found 1 issue.
3 files analyzed Β· 9 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-jamesmontemagno-ohmyposh-configurator": {
"args": [
"-y",
"ohmyposh-configurator"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
Oh My Posh Visual Configurator β¨
Design beautiful terminal prompts without touching configuration files
π Launch App β’ π Documentation β’ π¬ Discussions

π― What is Oh My Posh Configurator?
The Oh My Posh Visual Configurator is a modern, intuitive web application that lets you design and customize your terminal prompt visually. No more manual JSON editing or trial-and-error configurationβjust drag, drop, customize, and export!
Perfect for developers, DevOps engineers, and anyone who wants a beautiful, informative terminal prompt for PowerShell, Bash, Zsh, Fish, or any shell supported by Oh My Posh.
β¨ Features
- π¨ 103+ Segments: Browse comprehensive segment library organized in 8 categories with detailed properties and options
- π±οΈ Drag & Drop Interface: Intuitive visual editor with real-time updates
- β‘ Live Preview: See your prompt instantly with sample data and powerline/diamond styles
- ποΈ Full Customization: Configure colors, templates, styles, and alignment with inline documentation
- π Progressive Disclosure: Advanced features hidden by default with settings dialog to show/hide complexity as needed
- π― Smart Defaults: Auto-applied cache settings, intelligent feature detection on import
- π‘ Command Tooltips: Configure command-triggered custom prompts (e.g., show git status when typing
git) - π Segment Documentation: Built-in properties and options reference for every segment
- π¦ Import & Export: Support for JSON, YAML, and TOML formats
- πΎ Auto-Save: Never lose your work with automatic browser storage
- π― Sample Configs: Start quickly with 6 pre-built professional templates
- π₯ Community Themes: Browse and share community-contributed configurations
- π€ Easy Sharing: Submit your own themes via GitHub PR with built-in tools
- π 100% Client-Side: Your configurations never leave your browser
- π± Responsive Design: Works on desktop, tablet, and mobile devices
- π¨ Smart Color Schemes: Category-based default colors for quick setup
- π€ MCP Server: Use AI assistants like Claude to create and manage configurations through natural language (Learn more)
ποΈ Segment Categories
- System: Path, OS, Shell, Session, Battery, Time, Execution Time, Status, and more
- Version Control: Git, Mercurial, SVN, Fossil, Plastic SCM, Sapling, Jujutsu
- Languages: Node.js, Python, Go, Rust, Java, .NET, PHP, Ruby, Swift, and 20+ more
- Cloud & Infrastructure: AWS, Azure, GCP, Kubernetes, Terraform, Docker, Pulumi
- CLI Tools: NPM, Yarn, PNPM, Angular, React, Flutter, and many more
- Web: IP Address, Weather, HTTP requests
- Music: Spotify, YouTube Music, Last.fm
- Health: Nightscout, Strava, Withings
π Getting Started
π Use Online (Recommended)
No installation required! Visit the hosted version:
π https://configurator.ohmyposh.dev/
π» Local Development
# Clone the repository
git clone https://github.com/jamesmontemagno/ohmyposh-configurator.git
cd ohmyposh-configurator
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production (includes JSON minification)
npm run build
# Preview production build locally
npm run preview
π§ Development Scripts
npm run dev: Start Vite development servernpm run build: Build for production and minify all JSON assetsnpm run build:mcp: Build the MCP servernpm run mcp: Run the MCP servernpm run preview: Serve the production build fromdist/npm run minify: Manually minify JSON files in thepublic/directorynpm run format:json: Expand/format JSON files inpublic/for easier editingnpm run validate: Validate all configuration files and manifestsnpm run lint: Run ESLint checknpm run test: Run tests
π€ MCP Server (AI-Powered Configuration)
Want to create Oh My Posh configurations using natural language with AI assistants? The Oh My Posh Configurator includes a Model Context Protocol (MCP) server that works with VS Code and GitHub Copilot.
Quick Setup for VS Code:
-
Add to your workspace
.vscode/mcp.json:{ "servers": { "ohmyposh-configurator": { "type": "stdio", "command": "node", "args": ["/path/to/ohmyposh-configurator/dist/mcp/index.js"] } } } -
Build the MCP server:
npm run build:mcp -
Open GitHub Copilot Chat in VS Code and start creating prompts with AI!
Example Requests:
- "Create me a developer prompt with git and Python"
- "Add caching to all language segments"
- "Apply the Dracula color theme"
- "Help optimize my slow prompt"
π Full MCP Server Documentation
π Usage
Quick Start Guide
-
π― Choose a Starting Point
- Start from scratch, or
- Load a sample configuration, or
- Browse community themes, or
- Import your existing Oh My Posh config
-
β Add Segments
- Browse categories in the left sidebar
- Click segments to add them to your prompt
- Or drag them directly to desired positions
-
π¨ Customize
- Click any segment to edit properties
- Adjust colors, styles, and templates
- Configure powerline, diamond, or plain styles
-
π Preview
- See changes instantly in the preview panel
- Toggle between dark and light backgrounds
- View powerline arrows and diamond shapes
-
πΎ Export or Share
- Choose your format: JSON, YAML, or TOML
- Download and use with Oh My Posh
- Or share your creation with the community!
π€ Contributing Your Theme
Love your configuration? Share it with the community!
- Click the "Share" button in the header
- Fill in your theme details (name, description, author, tags)
- Select "Open Submission Issue" and submit the prefilled GitHub issue
- A maintainer reviews your theme and automatically generates a draft pull request when approved
- See your theme in the Community collection!
See CONTRIBUTING.md for detailed instructions.
π§ Using Your Configuration
After downloading your configuration file, follow the Oh My Posh installation guide to use it with your shell:
# PowerShell
oh-my-posh init pwsh --config ~/your-theme.json | Invoke-Expression
# Bash
eval "$(oh-my-posh init bash --config ~/your-theme.json)"
# Zsh
eval "$(oh-my-posh init zsh --config ~/your-theme.json)"
π οΈ Technology Stack
- βοΈ Framework: React 19 with TypeScript
- β‘ Build Tool: Vite 6.4
- π¨ Styling: Tailwind CSS 4.1
- π±οΈ Drag & Drop: @dnd-kit (sortable lists and cross-container support)
- πΎ State Management: Zustand with localStorage persistence
- π― Icons: Custom Nerd Font icon library (200+ icons) with unique IDs
- π Config Parsing: js-yaml, @iarna/toml
- π¦ Data Loading: Dynamic JSON-based lazy loading with request-deduplication and caching
β‘ Performance & Optimization
- JSON Minification: All JSON metadata and configuration files are automatically minified during the production build to reduce payload size.
- Smart Caching: The application implements a request-deduplication and caching layer for all JSON assets. Each file is fetched exactly once, even if requested by multiple components simultaneously.
- Lazy Loading: Segment metadata is loaded on-demand by category, keeping the initial bundle size small.
ποΈ Project Structure
βββ public/
β βββ configs/ # Sample and community configurations
β β βββ samples/ # 6 pre-built professional templates
β β β βββ manifest.json # Sample configs metadata
β β βββ community/ # User-contributed themes
β β βββ manifest.json # Community configs metadata
β βββ segments/ # Segment metadata organized by category (103+ segments)
β βββ system.json # 14 system segments (path, battery, time, etc.)
β βββ scm.json # 8 version control segments (git, svn, etc.)
β βββ languages.json # 26 programming language segments
β βββ cloud.json # 12 cloud provider segments
β βββ cli.json # 30 CLI tool segments
β βββ web.json # 7 web-related segments
β βββ music.json # 3 music player segments
β βββ health.json # 3 health tracker segments
β βββ README.md # Documentation for adding segments
βββ src/
β βββ components/ # React components
β β βββ Canvas/ # Drag-and-drop prompt builder with tooltips support
β β βββ SegmentPicker/ # Category browser with segments
β β βββ PropertiesPanel/ # Segment, block, tooltip, and global properties editor
β β βββ PreviewPanel/ # Live prompt preview with tooltip previews
β β βββ AdvancedSettingsDialog/ # Progressive disclosure settings for advanced features
β β βββ ExtraPromptsDialog/ # Secondary prompts configuration
β β βββ ConfirmDialog/ # Reusable confirmation dialog
β β βββ ...
β βββ data/ # Configuration data and color schemes
β βββ store/ # Zustand state management with persistence
β β βββ configStore.ts # Main config state (blocks, segments, tooltips, global settings)
β β βββ advancedFeaturesStore.ts # Feature toggles for progressive disclosure
β βββ types/ # TypeScript type definitions (SegmentMetadata, Tooltip, etc.)
β βββ utils/ # Utility functions
β β βββ segmentLoader.ts # Dynamic segment loading with caching
β β βββ configExporter.ts # Export to JSON/YAML/TOML
β β βββ configImporter.ts # Import with auto-feature detection
β β βββ unicode.ts # Unicode escape handling
β βββ constants/ # Nerd Font icons and other constants
β βββ hooks/ # Custom React hooks (useConfirm, etc.)
βββ docs/ # Comprehensive documentation
β βββ config-migration-guide.md # Guide for config structure updates
β βββ segment-json-migration.md # Segment refactoring documentation
β βββ quick-reference.md # Quick reference for contributors
β βββ nerd-font-icons-reference.md # 200+ icon documentation
βββ scripts/ # Build and validation scripts
βββ validate-configs.js # Config validation tool
βββ README.md # Scripts documentation
Adding New Segments
Segments are now stored in separate JSON files by category in public/segments/. This makes it easy to add or modify segments without touching the codebase:
- Open the appropriate category file (e.g.,
public/segments/languages.json) - Add your segment with the following structure:
{ "type": "segment-type", "name": "Display Name", "description": "Brief description", "icon": "lang-python", "defaultTemplate": " {{ .Property }} ", "properties": [ { "name": ".Property", "type": "string", "description": "Description of this template variable" } ], "options": [ { "name": "option_name", "type": "boolean", "default": true, "description": "What this option does" } ], "defaultCache": { "duration": "168h", "strategy": "folder" } } - Properties are template variables available in
{{ }}templates (e.g.,.Full,.Path) - Options are segment configuration settings (e.g.,
home_enabled,fetch_version) - defaultCache (optional) provides recommended caching for performance (see Cache Strategy Guide in
public/segments/README.md) - Segments are loaded dynamically on demand for better performance
- Colors are applied automatically from category-based color schemes
See public/segments/README.md for detailed instructions.
π SEO & Sharing
This project includes comprehensive SEO optimization:
- β Structured data (JSON-LD) for search engines
- β Open Graph tags for rich social media previews
- β Twitter Card support
- β PWA manifest for "Add to Home Screen"
- β Sitemap and robots.txt
- β Semantic HTML with proper meta tags
π Keywords
oh my posh, terminal customization, shell prompt, powerline, prompt theme, terminal theme, powershell prompt, zsh theme, bash prompt, terminal configurator, visual editor, drag and drop, oh-my-posh builder, prompt generator
π Documentation
User Documentation
Developer Documentation
- CONTRIBUTING.md - How to contribute themes and code
- docs/architecture.md - Complete architecture and technical overview
- docs/quick-reference.md - Quick reference for config structure
- docs/config-migration-guide.md - Migrate old config format
- docs/segment-json-migration.md - Segment refactoring details
- docs/nerd-font-icons-reference.md - 200+ Nerd Font icons
- docs/config-structure-update-summary.md - Config structure changes
- public/segments/README.md - How to add new segments
- scripts/README.md - Validation scripts documentation
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is open source and available under the MIT License.
Acknowledgments
- Oh My Posh by Jan De Dobbeleer
- All the Oh My Posh contributors and community
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Git
Freeby Modelcontextprotocol Β· Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno Β· Developer Tools
Toleno Network MCP Server β Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace Β· Developer Tools
Create, build, and publish Python MCP servers to PyPI β conversationally.
MarkItDown
Freeby Microsoft Β· Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
MCP Marketplace
Freeby mcp-marketplace Β· Developer Tools
Search and install MCP servers from inside your AI client.
FinAgent
Freeby mcp-marketplace Β· Finance
Free stock data and market news for any MCP-compatible AI assistant.
