# Gopher & Gemini MCP Server

Даёт ассистенту два инструмента: gopher_fetch и gemini_fetch. Через них он читает Gopher-меню и Gemini-страницы, отдавая результат в JSON.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 16
- Автор: cameronrye
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/cameronrye/gopher-mcp
- Обновлён: 2026-10-19
- HTML: https://affpapa.org/nevibecode/mcp/gopher-gemini-mcp-server

## Что делает

Сервер охватывает оба протокола только на чтение. В Gopher разбираются стандартные типы пунктов RFC 1436: меню и поисковые серверы приходят структурой, текстовые строки и HTML — как текст, двоичные типы отдаются одной метаинформацией. Интерактивные пункты сервер отказывается открывать вовсе. В Gemini работает разбор gemtext, проверка TLS и обработка кодов статуса.

Внутри есть защита от SSRF, лимит запросов на каждый хост и список разрешённых хостов. Для Gemini сертификаты проверяются по модели TOFU, к ним прилагаются отдельные инструменты просмотра и восстановления. Ответы кэшируются, у запроса есть флаг `refresh` для обхода кэша. Если меню или страница обрезаны по лимиту вывода, сервер сообщает место остановки, и остаток дочитывается параметром `offset`.

Нужен Python 3.11+ и `uv`; запуск идёт через `uvx gopher-mcp`, так что клонировать репозиторий не обязательно. Titan, Misfin, Spartan, Nex и Gopher+ в область работы не входят, потому что первые два умеют публиковать и рассылать от вашего имени, а остальным нужны собственные парсеры. Без списка разрешённых хостов в конфигурации фильтрация опирается на встроенные правила.

## Требования
- Нужно: Python и uv (команды через uvx)

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add gopher-mcp -- uvx gopher-mcp
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from gopher-mcp <команда>

### Codex

**Командой платформы**
```bash
codex mcp add gopher-gemini-mcp-server -- uvx gopher-mcp
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from gopher-mcp <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "gopher-gemini-mcp-server": {
            "command": "uvx",
            "args": [
                "gopher-mcp"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from gopher-mcp <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "gopher-gemini-mcp-server": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "gopher-mcp"
            ]
        }
    }
}
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from gopher-mcp <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add gopher-gemini-mcp-server uvx gopher-mcp
```
uvx запускает команду с именем пакета; если в README она другая — uvx --from gopher-mcp <команда>

## Когда брать
- прочитать текст и меню с Gopher-сервера по RFC 1436
- забрать страницу из Geminispace и разобрать gemtext
- обойти кэш и перечитать изменившуюся страницу
- дочитать длинное меню с места обрыва через `offset`
- ограничить, к каким хостам ассистент вообще ходит

## Примеры запросов агенту
- Покажи меню на gopher-сервере и найди раздел про протоколы
- Загрузи gemini-страницу по адресу из задачи и перескажи содержимое
- Сходи на ту же страницу ещё раз с `refresh`, кэш мог устареть

## Похожие
- [REA](https://affpapa.org/nevibecode/mcp/rea.md) — MCP-сервер · ★ 386989
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33918
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81115
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119160
- [Codebase Memory](https://affpapa.org/nevibecode/mcp/codebase-memory.md) — MCP-сервер · ★ 47392
- [mcp-server](https://affpapa.org/nevibecode/mcp/mcp-server.md) — MCP-сервер · ★ 43872

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
