|
254 | 254 | <div class="container"> |
255 | 255 | <header> |
256 | 256 | <h1>MCP Manager</h1> |
257 | | - <div class="tagline">Model Context Protocol Manager</div> |
| 257 | + <div class="tagline">Open source, community-driven, forever free.</div> |
258 | 258 | <div class="terminal-animation"> |
259 | 259 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 100"> |
260 | 260 | <!-- Terminal background --> |
@@ -284,110 +284,110 @@ <h1>MCP Manager</h1> |
284 | 284 | </header> |
285 | 285 |
|
286 | 286 | <div class="coming-soon"> |
287 | | - <h2>🚀 Quick Installation</h2> |
| 287 | + <h2>Quick Installation</h2> |
288 | 288 | <p>Install MCPM with a single command:</p> |
289 | 289 | <div class="code-block"> |
290 | 290 | <code><span class="command-prompt">$</span> curl -sSL https://mcpm.sh/install | bash</code> |
291 | | - <button class="copy-button" data-command="curl -sSL https://mcpm.sh/install | bash">📋</button> |
| 291 | + <button class="copy-button" data-command="curl -sSL https://mcpm.sh/install | bash"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button> |
292 | 292 | </div> |
293 | 293 | <p>Model Context Protocol Manager (MCPM) is a Homebrew-like service for managing Model Context Protocol (MCP) servers across clients.</p> |
294 | 294 | </div> |
295 | 295 |
|
296 | 296 | <h2>Available Features</h2> |
297 | 297 | <div class="features"> |
298 | 298 | <div class="feature"> |
299 | | - <h3><span>👥</span> Client Management</h3> |
| 299 | + <h3><span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg></span> Client Management</h3> |
300 | 300 | <p>Easily switch between and manage MCP clients:</p> |
301 | 301 | <div class="code-block"> |
302 | 302 | <code><span class="command-prompt">$</span> mcpm client claude-desktop</code> |
303 | | - <button class="copy-button" data-command="mcpm client claude-desktop">📋</button> |
| 303 | + <button class="copy-button" data-command="mcpm client claude-desktop"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button> |
304 | 304 | </div> |
305 | 305 | </div> |
306 | 306 |
|
307 | 307 | <div class="feature"> |
308 | | - <h3><span>📋</span> Server Listing</h3> |
| 308 | + <h3><span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line></svg></span> Server Listing</h3> |
309 | 309 | <p>View all your installed MCP servers:</p> |
310 | 310 | <div class="code-block"> |
311 | 311 | <code><span class="command-prompt">$</span> mcpm list</code> |
312 | | - <button class="copy-button" data-command="mcpm list">📋</button> |
| 312 | + <button class="copy-button" data-command="mcpm list"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button> |
313 | 313 | </div> |
314 | 314 | </div> |
315 | 315 |
|
316 | 316 | <div class="feature"> |
317 | | - <h3><span>🔍</span> Server Discovery</h3> |
| 317 | + <h3><span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg></span> Server Discovery</h3> |
318 | 318 | <p>Find available Model Context Protocol servers:</p> |
319 | 319 | <div class="code-block"> |
320 | 320 | <code><span class="command-prompt">$</span> mcpm search</code> |
321 | | - <button class="copy-button" data-command="mcpm search">📋</button> |
| 321 | + <button class="copy-button" data-command="mcpm search"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button> |
322 | 322 | </div> |
323 | 323 | </div> |
324 | 324 |
|
325 | 325 | <div class="feature"> |
326 | | - <h3><span>➕</span> Add Servers</h3> |
| 326 | + <h3><span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></span> Add Servers</h3> |
327 | 327 | <p>Add MCP servers directly to your client:</p> |
328 | 328 | <div class="code-block"> |
329 | 329 | <code><span class="command-prompt">$</span> mcpm add my-server</code> |
330 | | - <button class="copy-button" data-command="mcpm add my-server">📋</button> |
| 330 | + <button class="copy-button" data-command="mcpm add my-server"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button> |
331 | 331 | </div> |
332 | 332 | </div> |
333 | 333 | </div> |
334 | 334 |
|
335 | 335 | <h2>More Powerful Features</h2> |
336 | 336 | <div class="features"> |
337 | 337 | <div class="feature"> |
338 | | - <h3><span>🗑️</span> Remove Servers</h3> |
| 338 | + <h3><span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg></span> Remove Servers</h3> |
339 | 339 | <p>Remove installed MCP servers when no longer needed:</p> |
340 | 340 | <div class="code-block"> |
341 | 341 | <code><span class="command-prompt">$</span> mcpm remove my-server</code> |
342 | | - <button class="copy-button" data-command="mcpm remove my-server">📋</button> |
| 342 | + <button class="copy-button" data-command="mcpm remove my-server"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button> |
343 | 343 | </div> |
344 | 344 | </div> |
345 | 345 |
|
346 | 346 | <div class="feature"> |
347 | | - <h3><span>⚙️</span> Configuration</h3> |
| 347 | + <h3><span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg></span> Configuration</h3> |
348 | 348 | <p>Edit and manage your MCPM configuration:</p> |
349 | 349 | <div class="code-block"> |
350 | 350 | <code><span class="command-prompt">$</span> mcpm config</code> |
351 | | - <button class="copy-button" data-command="mcpm config">📋</button> |
| 351 | + <button class="copy-button" data-command="mcpm config"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button> |
352 | 352 | </div> |
353 | 353 | </div> |
354 | 354 |
|
355 | 355 | <div class="feature"> |
356 | | - <h3><span>🔎</span> Inspector</h3> |
| 356 | + <h3><span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg></span> Inspector</h3> |
357 | 357 | <p>Launch the UI to examine installed servers:</p> |
358 | 358 | <div class="code-block"> |
359 | 359 | <code><span class="command-prompt">$</span> mcpm inspector</code> |
360 | | - <button class="copy-button" data-command="mcpm inspector">📋</button> |
| 360 | + <button class="copy-button" data-command="mcpm inspector"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button> |
361 | 361 | </div> |
362 | 362 | </div> |
363 | 363 |
|
364 | 364 | <div class="feature"> |
365 | | - <h3><span>📝</span> Edit Configuration</h3> |
| 365 | + <h3><span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg></span> Edit Configuration</h3> |
366 | 366 | <p>View or edit your client's configuration:</p> |
367 | 367 | <div class="code-block"> |
368 | 368 | <code><span class="command-prompt">$</span> mcpm edit</code> |
369 | | - <button class="copy-button" data-command="mcpm edit">📋</button> |
| 369 | + <button class="copy-button" data-command="mcpm edit"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button> |
370 | 370 | </div> |
371 | 371 | </div> |
372 | 372 | </div> |
373 | 373 |
|
374 | 374 | <h2>Save & Restore Configurations</h2> |
375 | 375 | <div class="features"> |
376 | 376 | <div class="feature"> |
377 | | - <h3><span>💾</span> Stash Servers</h3> |
| 377 | + <h3><span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg></span> Stash Servers</h3> |
378 | 378 | <p>Temporarily store server configurations:</p> |
379 | 379 | <div class="code-block"> |
380 | 380 | <code><span class="command-prompt">$</span> mcpm stash my-server</code> |
381 | | - <button class="copy-button" data-command="mcpm stash my-server">📋</button> |
| 381 | + <button class="copy-button" data-command="mcpm stash my-server"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button> |
382 | 382 | </div> |
383 | 383 | </div> |
384 | 384 |
|
385 | 385 | <div class="feature"> |
386 | | - <h3><span>♻️</span> Restore Servers</h3> |
| 386 | + <h3><span><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="1 4 1 10 7 10"></polyline><polyline points="23 20 23 14 17 14"></polyline><path d="M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15"></path></svg></span> Restore Servers</h3> |
387 | 387 | <p>Restore previously stashed configurations:</p> |
388 | 388 | <div class="code-block"> |
389 | 389 | <code><span class="command-prompt">$</span> mcpm pop my-server</code> |
390 | | - <button class="copy-button" data-command="mcpm pop my-server">📋</button> |
| 390 | + <button class="copy-button" data-command="mcpm pop my-server"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button> |
391 | 391 | </div> |
392 | 392 | </div> |
393 | 393 | </div> |
@@ -434,12 +434,13 @@ <h2>Supported Clients</h2> |
434 | 434 |
|
435 | 435 | // Visual feedback that copy was successful |
436 | 436 | const originalText = this.textContent; |
| 437 | + const iconHTML = this.innerHTML; |
437 | 438 | this.textContent = 'Copied!'; |
438 | 439 | this.classList.add('copy-success'); |
439 | 440 |
|
440 | 441 | // Reset button after a delay |
441 | 442 | setTimeout(() => { |
442 | | - this.textContent = originalText; |
| 443 | + this.innerHTML = iconHTML; |
443 | 444 | this.classList.remove('copy-success'); |
444 | 445 | }, 2000); |
445 | 446 | }); |
|
0 commit comments