Skip to main content
Glama
README.md
# Update Night MCP

[![Release](https://github.com/amajorai/updatenight-mcp/actions/workflows/release.yml/badge.svg)](https://github.com/amajorai/updatenight-mcp/actions/workflows/release.yml)

MCP server for the Update Night catalog. Gives AI assistants tools to search and explore AI dev tools, agent frameworks, skills, and MCP servers.

## Install

### Option 1 — cargo-binstall (pre-built binary, fastest)

```sh
cargo binstall updatenight-mcp
```

Installs the pre-built binary for your platform. Get `cargo-binstall` from [cargo-bins/cargo-binstall](https://github.com/cargo-bins/cargo-binstall) if you don't have it.

### Option 2 — Download binary

Go to [Releases](https://github.com/amajorai/updatenight-mcp/releases) and grab the archive for your platform:

| Platform | File |
|----------|------|
| macOS Apple Silicon | `updatenight-mcp-aarch64-apple-darwin.tar.gz` |
| macOS Intel | `updatenight-mcp-x86_64-apple-darwin.tar.gz` |
| Linux x86_64 | `updatenight-mcp-x86_64-unknown-linux-gnu.tar.gz` |
| Linux ARM64 | `updatenight-mcp-aarch64-unknown-linux-gnu.tar.gz` |
| Windows x86_64 | `updatenight-mcp-x86_64-pc-windows-msvc.zip` |

**macOS / Linux:**

```sh
# Replace <target> with your platform (e.g. aarch64-apple-darwin)
curl -fsSL https://github.com/amajorai/updatenight-mcp/releases/latest/download/updatenight-mcp-<target>.tar.gz \
  | tar xz -C /tmp
sudo mv /tmp/updatenight-mcp /usr/local/bin/updatenight-mcp
```

**Windows (PowerShell):**

```powershell
# Run as Administrator
$target = "x86_64-pc-windows-msvc"
$url = "https://github.com/amajorai/updatenight-mcp/releases/latest/download/updatenight-mcp-$target.zip"
Invoke-WebRequest $url -OutFile "$env:TEMP\updatenight-mcp.zip"
Expand-Archive "$env:TEMP\updatenight-mcp.zip" -DestinationPath "$env:TEMP\updatenight-mcp-bin"
Move-Item "$env:TEMP\updatenight-mcp-bin\updatenight-mcp.exe" "C:\Windows\System32\updatenight-mcp.exe"
```

### Option 3 — Build from source

```sh
git clone https://github.com/amajorai/updatenight-mcp
cd updatenight-mcp
cargo build --release
# binary at target/release/updatenight-mcp (or .exe on Windows)
sudo mv target/release/updatenight-mcp /usr/local/bin/updatenight-mcp
```

## Updating

Re-run whichever install method you used. For `cargo-binstall`:

```sh
cargo binstall updatenight-mcp
```

## Tools

**search** — search the catalog by query string. Optionally filter by kind (`tool`, `skill`, `mcp`) and set a result limit. Returns entries with name, tagline, pricing, and install snippets.

**get_entry** — fetch a single catalog entry by kind and slug. Returns full details including description, pricing, install snippet, and homepage URL.

**list_by_category** — list entries by kind and category slug (e.g. `agent-framework`, `llm`, `rag`, `vector-db`). Returns entries sorted by publish date.

**list_news** — fetch recent news items from the Update Night news timeline. Accepts a `days` parameter (default 7). Returns titles, summaries, sources, and timestamps.

## Authentication

On first run the server starts a device authorization flow, prints a verification URL and code to stderr, and opens your browser. Once approved, the token is saved and subsequent runs start immediately.

Token location: `~/.config/updatenight/mcp-config.json` (Linux/macOS) or `%APPDATA%\updatenight\mcp-config.json` (Windows).

## Installation by host

Replace `/usr/local/bin/updatenight-mcp` with the actual path to your binary in all configs below.

### Claude Desktop

Config file:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- Linux: `~/.config/claude-desktop/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "updatenight": {
      "command": "/usr/local/bin/updatenight-mcp"
    }
  }
}
```

Quit and relaunch Claude Desktop after editing.

### Claude Code

```bash
claude mcp add updatenight /usr/local/bin/updatenight-mcp
```

To add it at project scope (committed to `.mcp.json` for team sharing):

```bash
claude mcp add --scope project updatenight /usr/local/bin/updatenight-mcp
```

### Cursor

Config file:
- Project: `.cursor/mcp.json`
- Global: `~/.cursor/mcp.json`

```json
{
  "mcpServers": {
    "updatenight": {
      "command": "/usr/local/bin/updatenight-mcp"
    }
  }
}
```

Quit and reopen Cursor after editing.

### Windsurf

Config file:
- macOS/Linux: `~/.codeium/windsurf/mcp_config.json`
- Windows: `%USERPROFILE%\.codeium\windsurf\mcp_config.json`

```json
{
  "mcpServers": {
    "updatenight": {
      "command": "/usr/local/bin/updatenight-mcp"
    }
  }
}
```

### VS Code (GitHub Copilot)

Config file: `.vscode/mcp.json` in your project root (commit to share with your team).

Note: VS Code uses `servers` not `mcpServers`, and requires an explicit `"type"` field.

```json
{
  "servers": {
    "updatenight": {
      "type": "stdio",
      "command": "/usr/local/bin/updatenight-mcp"
    }
  }
}
```

MCP tools are only available in Agent mode in VS Code Copilot Chat.

### Cline (VS Code extension)

Open the Cline panel, click the MCP Servers icon, go to the Configure tab, and click "Configure MCP Servers". Add to the JSON that opens:

```json
{
  "mcpServers": {
    "updatenight": {
      "command": "/usr/local/bin/updatenight-mcp"
    }
  }
}
```

### Continue.dev

Config file: `~/.continue/config.yaml` (macOS/Linux) or `%USERPROFILE%\.continue\config.yaml` (Windows).

```yaml
mcpServers:
  - name: Update Night
    command: /usr/local/bin/updatenight-mcp
    type: stdio
```

Or drop a JSON file at `.continue/mcpServers/updatenight.json` in your project:

```json
{
  "mcpServers": {
    "updatenight": {
      "command": "/usr/local/bin/updatenight-mcp"
    }
  }
}
```

### Zed

Config file:
- macOS: `~/.zed/settings.json`
- Linux: `~/.config/zed/settings.json`
- Windows: `%APPDATA%\Zed\settings.json`
- Project: `.zed/settings.json`

Note: Zed uses `context_servers` not `mcpServers`.

```json
{
  "context_servers": {
    "updatenight": {
      "command": "/usr/local/bin/updatenight-mcp",
      "args": []
    }
  }
}
```

### Amazon Q Developer

Config file:
- Global: `~/.aws/amazonq/mcp.json`
- Project: `.amazonq/mcp.json`

```json
{
  "mcpServers": {
    "updatenight": {
      "command": "/usr/local/bin/updatenight-mcp"
    }
  }
}
```

### Gemini CLI

Config file:
- Global: `~/.gemini/settings.json`
- Project: `.gemini/settings.json`

```json
{
  "mcpServers": {
    "updatenight": {
      "command": "/usr/local/bin/updatenight-mcp"
    }
  }
}
```

### OpenAI Codex CLI

Config file: `~/.codex/config.toml` (global) or `.codex/config.toml` (project).

Note: Codex uses TOML, not JSON.

```toml
[mcp_servers.updatenight]
command = "/usr/local/bin/updatenight-mcp"
args = []
```

### Raycast

Open Raycast, run "Manage MCP Servers", press Cmd+N to add a new server, or open the config file directly at `~/Library/Application Support/com.raycast.macos/extensions/EvanZhouDev.mcp/mcp.json`:

```json
{
  "mcpServers": {
    "updatenight": {
      "command": "/usr/local/bin/updatenight-mcp"
    }
  }
}
```

## Configuration

`UPDATENIGHT_API_URL` — API host to connect to. Defaults to `https://server.updatenight.com` if not set.

For local development, set it to your local server (port 3000 by default). You can do this in the `.env` file next to the binary, or pass it via your host's MCP env config:

```json
{
  "mcpServers": {
    "updatenight": {
      "command": "/usr/local/bin/updatenight-mcp",
      "env": {
        "UPDATENIGHT_API_URL": "http://localhost:3000"
      }
    }
  }
}
```

The binary also loads a `.env` file from the working directory at startup if one is present.

## Related

- [Update Night CLI](https://github.com/amajorai/updatenight-cli) — terminal UI for browsing the catalog
- [Update Night Skill](https://github.com/amajorai/updatenight-skill) — Claude Code skill for browsing the catalog from any AI agent