Skip to content

Commit 3499ecb

Browse files
committed
Improve ascii art display
1 parent 35141e2 commit 3499ecb

File tree

2 files changed

+30
-19
lines changed

2 files changed

+30
-19
lines changed

README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
![PyPI - Version](https://img.shields.io/pypi/v/mcpm)
22
![GitHub Release](https://img.shields.io/github/v/release/pathintegral-institute/mcpm.sh)
33

4-
<div align="center">
5-
64
```
75
███╗ ███╗ ██████╗██████╗ ███╗ ███╗
86
████╗ ████║██╔════╝██╔══██╗████╗ ████║
@@ -16,8 +14,6 @@ Open Source. Forever Free.
1614
Built with ❤️ by Path Integral Institute
1715
```
1816

19-
</div>
20-
2117
# 🌟 MCPM - Model Context Protocol Manager
2218

2319
MCPM is a Homebrew-like service and command-line interface for managing Model Context Protocol (MCP) servers. It simplifies managing server configurations across various supported clients, allows grouping servers into profiles, and helps discover new servers via a registry.

src/mcpm/cli.py

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,6 @@ def main(ctx, help_flag):
6161
# Get active client
6262
active_client = client_config_manager.get_active_client()
6363

64-
# Create a nice ASCII art banner with proper alignment using Rich
65-
from rich.panel import Panel
66-
6764
# Create bold ASCII art with thicker characters for a more striking appearance
6865
logo = [
6966
" ███╗ ███╗ ██████╗██████╗ ███╗ ███╗ ",
@@ -74,23 +71,41 @@ def main(ctx, help_flag):
7471
" ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ",
7572
"",
7673
f"v{__version__}",
77-
"Model Context Protocol Manager",
7874
"Open Source. Forever Free.",
79-
"Built with ❤️ by [bold cyan]Path Integral Institute[/]",
75+
"Built with ❤️ by Path Integral Institute",
8076
]
8177

82-
# No need to convert to joined string since we're formatting directly in the panel
78+
# Define terminal width for centering
79+
terminal_width = 80 # Standard terminal width
80+
81+
# Print separator line
82+
console.print("[bold cyan]" + "=" * terminal_width + "[/]")
83+
84+
# Calculate base padding for ASCII art
85+
base_padding = " " * ((terminal_width - len(logo[0])) // 2)
86+
87+
# Center the ASCII art (except last line)
88+
for i in range(5): # First 5 lines of the ASCII art
89+
console.print(f"{base_padding}[bold green]{logo[i]}[/]")
90+
91+
# Print last line with version, using the same base padding
92+
version_text = f"v{__version__}"
93+
console.print(f"{base_padding}[bold green]{logo[5]}[/] [bold yellow]{version_text}[/]")
94+
95+
# Center the taglines
96+
tagline1 = logo[8] # "Open Source. Forever Free."
97+
tagline2 = logo[9] # "Built with ❤️ by Path Integral Institute"
98+
99+
# Calculate center padding for each tagline
100+
tagline1_padding = " " * ((terminal_width - len(tagline1)) // 2)
101+
tagline2_padding = " " * ((terminal_width - len(tagline2)) // 2)
83102

84-
# Create a panel with styled content
85-
panel = Panel(
86-
f"[bold green]{logo[0]}\n{logo[1]}\n{logo[2]}\n{logo[3]}\n{logo[4]}\n{logo[5]}[/]\n\n[bold yellow]{logo[7]}[/] [italic blue]{logo[8]}[/]\n[bold magenta]{logo[9]}[/]\n[bold cyan]{logo[10]}[/]",
87-
border_style="bold cyan",
88-
expand=False,
89-
padding=(0, 2),
90-
)
103+
# Print centered taglines
104+
console.print(tagline1_padding + "[bold magenta]" + tagline1 + "[/]")
105+
console.print(tagline2_padding + "[bold cyan]" + tagline2 + "[/]")
91106

92-
# Print the panel
93-
console.print(panel)
107+
# Print separator line
108+
console.print("[bold cyan]" + "=" * terminal_width + "[/]")
94109

95110
# Get information about installed clients
96111
from mcpm.clients.client_registry import ClientRegistry

0 commit comments

Comments
 (0)