raycast-mcp-server-manager

The MCP Server Manager is a tool that simplifies the management of Minecraft servers using Raycast. Users can intuitively start, stop, and modify server settings, achieving an efficient workflow. Developed in TypeScript, it also considers extensibility.

GitHub Stars

2

User Rating

Not Rated

Forks

1

Issues

1

Views

0

Favorites

0

README
MCP Server Manager

A Raycast extension for managing MCP (Model Context Protocol) servers across editors.

Demo

The code is functional but not particularly elegant. Fork, fix, open a PR and let's make it better.

Table of Contents
What it does
  • CRUD operations for MCP server configs across editors
  • Search and filter servers
  • Connection testing with timeout handling
  • Basic protection against deleting critical servers (UI only - raw config editing bypasses this)
  • Transport support: stdio, SSE, HTTP
Supported editors
  • Cursor: stdio, SSE
  • VS Code: stdio, SSE, HTTP (*includes input management for secrets)
  • Windsurf: stdio, SSE (uses /sse as transport type)
Installation

Raycast Store:

  1. Navigate to the Raycast Store.
  2. Search for MCP Server Manager
  3. Click Install

Manual:

git clone https://github.com/rmncldyo/raycast-mcp-server-manager.git
cd raycast-mcp-server-manager
npm install
npm run build
npm run dev
Development Requirements
  • Raycast ≥ 1.50.0
  • Node.js ≥ 18.0.0
  • At least one supported editor
Usage

Type MCP in Raycast:

  • List MCP Servers - View all servers
  • Add MCP Server - Create new server config
  • Search MCP Servers - Find servers across editors
  • Remove MCP Server - Delete servers (with protection)
  • View Raw Configs - Direct file editing
Editor Support
Cursor
  • Transports: stdio, SSE

  • Config:

    • Global: ~/.cursor/mcp.json
    • Workspace: .cursor/mcp.json
  • Configuration Example:

    {
      "mcpServers": {
        "server-name": {
          "command": "npx",
          "args": ["-y", "mcp-server"],
          "env": {
            "API_KEY": "your-api-key-here"
          }
        }
      }
    }
    
  • Features:

    • Automatic process management for stdio servers
    • Environment variable support for authentication
    • Tool approval system with optional auto-run
    • Image injection support via base64-encoded responses
  • Limitations:

    • Maximum of 40 tools across all MCP servers
    • May not work properly over SSH or remote development environments
    • No support for disabled state
    • Only supports tools (not resources)
  • Notes:

    • SSE servers must be accessible via URL (e.g., http://localhost:8000/sse)
    • Tool usage requires approval by default (can be set to auto-run)
VS Code
  • Transports: stdio, SSE, HTTP

  • Config:

    • User: ~/Library/Application Support/Code/User/settings.json
    • Workspace: .vscode/mcp.json or .vscode/settings.json
  • Configuration Example:

    {
      "inputs": [
        {
          "type": "promptString",
          "id": "api-key",
          "description": "API Key",
          "password": true
        }
      ],
      "servers": {
        "example-server": {
          "type": "stdio",
          "command": "npx",
          "args": ["-y", "mcp-server-example"],
          "env": {
            "API_KEY": "${input:api-key}"
          }
        }
      }
    }
    
  • Features:

    • Secure input management for secrets and API keys
    • Support for environment files via envFile
    • Automatic tool discovery and integration with GitHub Copilot's agent mode
    • Command palette integration for server management
    • Support for both local (stdio) and remote (SSE/HTTP) servers
  • Limitations:

    • MCP support requires VS Code 1.99 or later
    • Currently in preview status
    • Only supports tools (not resources)
  • Notes:

    • Use .vscode/mcp.json for workspace-specific configurations
    • Servers can be managed via Command Palette (MCP: List Servers)
    • Tools can be toggled on/off in the chat interface
    • Supports automatic discovery of MCP servers from other tools
    • Includes built-in troubleshooting and logging
Windsurf
  • Transports: stdio, /sse

  • Config:

    • Global: ~/.codeium/windsurf/mcp_config.json
    • Workspace: .windsurf/mcp.json
  • Configuration Example:

    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
          }
        }
      }
    }
    
  • Features:

    • Plugin Store integration for easy server management
    • Support for both stdio and SSE transport types
    • Environment variable support for authentication
    • Native MCP integration with Cascade
  • Limitations:

    • Maximum of 100 tools across all MCP servers
    • Only supports tools (not prompts)
    • Custom /sse transport type (not standard sse)
  • Notes:

    • For /sse servers, URL must end with /sse (e.g., https://server-url/sse)
    • Tools can be enabled/disabled individually via the UI
    • Refresh required after adding new plugins
    • Official plugins are verified with a blue checkmark
    • No liability assumed for MCP tool call failures
Transport Types
stdio

Local process execution. Command + args + environment variables.

{
  "name": "local-server",
  "transport": "stdio",
  "command": "python",
  "args": ["-m", "my_mcp_server"],
  "env": {"API_KEY": "your-key"}
}
SSE (Server-Sent Events)

Remote HTTP connection with event streaming.

{
  "name": "remote-service",
  "transport": "sse",
  "url": "https://api.example.com/mcp"
}
SSE (Windsurf) (/sse)

Windsurf's custom SSE implementation with these key differences:

  • Uses /sse as the transport type (instead of sse)
  • Requires serverUrl parameter (not url)
  • URL must end with /sse
{
  "name": "windsurf-service",
  "transport": "/sse",
  "serverUrl": "https://api.example.com/sse"
}
HTTP

Standard HTTP request/response.

{
  "name": "api-service",
  "transport": "http",
  "url": "http://localhost:8000/mcp"
}

Note: When adding a server through the MCP Server Manager, these differences are handled automatically based on the selected editor.

Server Protection

Prevents accidental deletion of critical servers through the UI only.

Protected by default: mcp-server-time and other system servers Protection scope: List/Search/Remove commands only Not protected: Raw config editor, manual file editing, external tools

Don't rely on this if you're editing configs directly. You break it, you own it.

Configuration Files
Editor Global Workspace
Cursor ~/.cursor/mcp.json .cursor/mcp.json
VS Code ~/Library/Application Support/Code/User/settings.json .vscode/settings.json
Windsurf ~/.codeium/windsurf/mcp_config.json .windsurf/mcp.json
Troubleshooting
  • Extension not loading: Check Raycast version ≥1.50.0, restart Raycast
  • Servers missing: Verify config files exist, check JSON syntax, verify permissions
  • Connection failures: Test server accessibility, verify commands work, check environment variables

Issues | Discussions

Contributing

Code works but could be much cleaner. PRs welcome.

Needs work:

  • Refactoring (it's messy)
  • Bug fixes
  • New editor support
  • Error handling
  • Tests

Fork, fix, PR.

License

MIT License - see LICENSE


Author Information
rmncldyo

Software Engineer

nyc

26

Followers

27

Repositories

1

Gists

63

Total Contributions

Top Contributors

Threads