# Gopher & Gemini MCP Server

Hands the assistant two tools, gopher_fetch and gemini_fetch. They pull Gopher menus and Gemini pages and hand back JSON.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 16
- Author: cameronrye
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/cameronrye/gopher-mcp
- Updated: 2026-10-19
- HTML: https://affpapa.org/en/nevibecode/mcp/gopher-gemini-mcp-server

## What it does

Both protocols are read-only here. On the Gopher side the server parses RFC 1436 item types: menus and index-search servers become structured output, while text, HTML and info lines arrive as plain text. The fourteen binary types come back as metadata alone, and the three interactive ones are refused before any connection opens. Gemini gets gemtext parsing, TLS checks and status code handling.

Safety features include SSRF guards, a request cap for each host and an allowlist you set yourself. Gemini certificates are validated with TOFU, and dedicated tools let you inspect or recover them. Cached replies are labelled as such; pass `refresh` to skip the cache. When a menu or page hits the output limit, the server tells you where it stopped and an `offset` read continues from there.

Python 3.11+ and `uv` are required, and `uvx gopher-mcp` runs the package without a clone. Titan, Misfin, Spartan, Nex and Gopher+ sit outside the surface on purpose: the first two can publish and send mail on your behalf, the others would need separate parsers. Without an allowlist in your config, filtering falls back to the built-in rules.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add gopher-mcp -- uvx gopher-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from gopher-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add gopher-gemini-mcp-server -- uvx gopher-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from gopher-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "gopher-gemini-mcp-server": {
            "command": "uvx",
            "args": [
                "gopher-mcp"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from gopher-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "gopher-gemini-mcp-server": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "gopher-mcp"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from gopher-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add gopher-gemini-mcp-server uvx gopher-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from gopher-mcp <command>

## When to use it
- read a Gopher menu or text file from a live server
- fetch a Geminispace page and turn gemtext into plain text
- skip a stale cache entry and reload the page
- resume a long menu from the point where it was cut
- restrict which hosts the assistant may reach

## Example prompts
- Open the menu on that Gopher server and show me the protocol section
- Fetch this Gemini URL and summarise the page for me
- Reload the same page with `refresh`, the cache may be old

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
