mr-magic-mcp-server 0.1.18 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +69 -6
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/mr-magic-mcp-server.svg)](https://www.npmjs.com/package/mr-magic-mcp-server)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/mr-magic-mcp-server.svg)](https://www.npmjs.com/package/mr-magic-mcp-server)
5
+ [![Socket Badge](https://socket.dev/api/badge/npm/package/mr-magic-mcp-server)](https://socket.dev/npm/package/mr-magic-mcp-server)
5
6
 
6
7
  Mr. Magic bridges LRCLIB, Genius, Musixmatch, and Melon so MCP clients, JSON HTTP
7
8
  automations, and CLI aficionados can all request lyrics from a single toolchain.
@@ -567,14 +568,25 @@ Recommended presets:
567
568
 
568
569
  ## MCP Client Configuration
569
570
 
571
+ Mr. Magic supports two connection modes depending on where the MCP client runs:
572
+
573
+ | Mode | Transport | When to use |
574
+ | ---- | --------- | ----------- |
575
+ | **Local (stdio)** | `mcp-server` binary via stdin/stdout | Cline, Claude Desktop, and any client that runs locally on the same machine |
576
+ | **Remote (Streamable HTTP)** | `POST https://your-server/mcp` | TypingMind, browser-based clients, and any client connecting to a deployed server |
577
+
578
+ ---
579
+
580
+ ### Local clients (stdio)
581
+
570
582
  > ⚠️ **Stdio MCP clients:** Always invoke the server binary directly — never via
571
583
  > `npm run server:mcp`. The npm script preamble (`> mr-magic-mcp-server@x.x.x …`) is
572
584
  > written to stdout before Node starts, and stdio MCP clients try to parse every stdout
573
585
  > line as JSON-RPC, causing "Unexpected token '>'" errors on every connection.
574
586
 
575
- ### npx (recommended — no clone required)
587
+ #### npx (recommended — no clone required)
576
588
 
577
- Works with any MCP client that supports `command` / `args`:
589
+ Works with any local MCP client that supports `command` / `args`:
578
590
 
579
591
  ```json
580
592
  {
@@ -592,7 +604,7 @@ Works with any MCP client that supports `command` / `args`:
592
604
  }
593
605
  ```
594
606
 
595
- ### Global install
607
+ #### Global install
596
608
 
597
609
  After `npm install -g mr-magic-mcp-server`, the `mcp-server` binary is on `PATH`:
598
610
 
@@ -606,7 +618,7 @@ After `npm install -g mr-magic-mcp-server`, the `mcp-server` binary is on `PATH`
606
618
  }
607
619
  ```
608
620
 
609
- ### Local repo — Cline
621
+ #### Local repo — Cline
610
622
 
611
623
  Cline supports `cwd`, so you can invoke `node` directly:
612
624
 
@@ -625,9 +637,9 @@ Cline supports `cwd`, so you can invoke `node` directly:
625
637
  }
626
638
  ```
627
639
 
628
- ### Local repo — clients without `cwd` support
640
+ #### Local repo — clients without `cwd` support
629
641
 
630
- For clients like TypingMind that don't support `cwd`, use a shell wrapper:
642
+ For local clients that don't support a working-directory option, use a shell wrapper:
631
643
 
632
644
  ```json
633
645
  {
@@ -640,6 +652,57 @@ For clients like TypingMind that don't support `cwd`, use a shell wrapper:
640
652
  }
641
653
  ```
642
654
 
655
+ ---
656
+
657
+ ### Remote clients (Streamable HTTP)
658
+
659
+ When Mr. Magic is deployed on a remote host (Render, VPS, etc.), connect via the
660
+ Streamable HTTP MCP endpoint (`/mcp`). Credentials are configured server-side via
661
+ environment variables — no `env` block is needed in the client config.
662
+
663
+ #### TypingMind
664
+
665
+ TypingMind connects to remote MCP servers through its **MCP Connector** browser
666
+ extension (Chrome / Edge). Once your server is deployed:
667
+
668
+ 1. Open TypingMind → **Plugins** → **MCP Servers** → **Add MCP Server**.
669
+ 2. Set the endpoint URL to your deployed server's `/mcp` path, e.g.:
670
+ ```
671
+ https://your-app.onrender.com/mcp
672
+ ```
673
+ 3. Leave authentication blank (credentials are set server-side via environment
674
+ variables on the deployed instance).
675
+ 4. Save and enable the server.
676
+
677
+ > **"Update required. Please restart your MCP Connector…"**
678
+ >
679
+ > This message is displayed by the **TypingMind MCP Connector extension** itself —
680
+ > it is **not** a Mr. Magic error. It means the installed version of the extension
681
+ > predates remote MCP server support. Fix: restart the MCP Connector extension (click
682
+ > the extension icon → restart, or disable and re-enable it in your browser's
683
+ > Extensions settings). If the message persists, update the extension from the Chrome /
684
+ > Edge Web Store. No changes to Mr. Magic or your server configuration are required.
685
+
686
+ #### Legacy SSE clients
687
+
688
+ Some older MCP clients use the pre-Streamable HTTP SSE protocol instead of `POST /mcp`.
689
+ For those, use the legacy SSE endpoint:
690
+
691
+ ```
692
+ GET https://your-app.onrender.com/sse ← opens the event stream
693
+ POST https://your-app.onrender.com/messages ← sends JSON-RPC messages
694
+ ```
695
+
696
+ The server supports both protocols simultaneously — no restart or reconfiguration needed.
697
+
698
+ #### Generic remote client (URL-based config)
699
+
700
+ Any client that accepts a plain MCP endpoint URL:
701
+
702
+ ```
703
+ https://your-app.onrender.com/mcp
704
+ ```
705
+
643
706
  ## CLI
644
707
 
645
708
  A single CLI entrypoint (`mrmagic-cli`) is published with the package. Inside the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mr-magic-mcp-server",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "description": "Lyrics MCP server connecting LRCLIB, Genius, Musixmatch, and Melon",
5
5
  "type": "module",
6
6
  "main": "src/index.js",