Skip to content

Project

Gopher MCP Server

Bridges AI assistants with vintage internet protocols, preserving access to retro web content

Gives AI assistants a window into the small internet: browse menus, fetch documents, and navigate both Gopher and Gemini protocols safely.

Python MCP Gopher Gemini
Screenshot of Gopher MCP Server

The Problem

The 'small internet' movement maintains thousands of Gopher and Gemini servers with unique content not available on the modern web. AI assistants have no way to access this ecosystem of minimalist, text-focused content created by enthusiasts preserving internet history.

The Solution

Built a dual-protocol MCP server supporting both Gopher (1991) and Gemini (2019). The server enables AI assistants to browse menus, fetch documents, and navigate the hierarchical structure of these alternative internet protocols.

The Results

  • Dual protocol support for Gopher and Gemini
  • Safe browsing with content type validation
  • Menu parsing and navigation support
  • Cross-platform Python implementation

The small internet never went away. Enthusiasts still run thousands of Gopher and Gemini servers full of curated, text-first content — university archives, technical documentation, historical collections — that the modern web simply does not index. This MCP server hands that world to an AI assistant directly: request a menu, follow a selector, fetch a document, no HTML parsing required.

Gopherspace Browser

gopher://demo.server/
=== Welcome to Gopherspace ===
Click a menu item to view its content. Directories [DIR] open submenus, documents [TXT] show content here.
GopherGemini

The MCP server provides AI access to both Gopher and Gemini protocols - the "small internet" movement.

Key Features

  • Dual Protocol Support: Access both Gopher and Gemini resources
  • Cross-Platform: Works on Windows, macOS, and Linux
  • Safe Browsing: Secure interaction with protocol resources
  • MCP Integration: Standard Model Context Protocol interface

The Small Internet

Gopher and Gemini represent alternatives to the modern web:

  • Gopher (1991): Hierarchical, menu-driven protocol predating HTTP
  • Gemini (2019): Modern minimalist protocol with TLS encryption

Both protocols focus on text content and simple navigation, offering a distraction-free reading experience that many enthusiasts prefer to the modern web.

What was hard

The key design decision was treating Gopher and Gemini as one protocol family behind a shared handler abstraction: each protocol implements the same fetch-and-describe interface, so supporting a new protocol means writing one handler rather than touching the MCP layer. Gopher’s type system needed translation too — it predates MIME, marking each item with a single character (0 for text, 1 for menus, I for images), so the server maps those onto MIME types before content reaches the model. Safety came down to refusing to trust remote servers: response size caps, connection timeouts, and content type validation keep a misbehaving host on a 35-year-old protocol from breaking the assistant’s session.

Was this helpful?

Want to learn more?

Ask can answer questions about this project's implementation, technologies, and more.