Gopher & Gemini MCP Server
概要
作者による説明(英語の原文)
Browse Gopher and Gemini resources safely: SSRF protection, TLS/TOFU, structured JSON output.
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: 開発者ツール
インストール
使っているAIアプリを選んで、設定をコピーしてください。
チェック 2/2 合格 · あなたのパソコンで動きます
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
パソコン版 Claude アプリの設定ファイルを開く
SettingsDeveloperEdit Config
この設定を貼り付けて保存
{ "mcpServers": { "gopher": { "command": "uvx", "args": [ "gopher-mcp" ] } } }Claude を終了してもう一度開く
試してみる
Gopher & Gemini MCP Server を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が Gopher & Gemini MCP Server を使っていると言うか、回答に Gopher & Gemini MCP Server のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ Gopher & Gemini MCP Server につなげません
Gopher & Gemini MCP Server はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
代わりにできること
A · Gopher & Gemini MCP Server につなげるアプリを使う
- 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
- 先にパソコンへ Python (uv) を入れてください(1 回だけ)
- 先にパソコンへ Python (uv) を入れてください(1 回だけ)
- 先にパソコンへ Python (uv) を入れてください(1 回だけ)
B · 開発者ツール の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
- Sentry✓ ChatGPT
- Front-End Checklist✓ ChatGPT
- Compiler Explorer✓ ChatGPT
Claude Code につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
ターミナルを開く
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
このコマンドを貼り付けて Enter
claude mcp add gopher -- uvx gopher-mcpClaude Code で /mcp と入力
Gopher & Gemini MCP Server が一覧にあり、接続済みと表示されれば OK です
試してみる
Gopher & Gemini MCP Server を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が Gopher & Gemini MCP Server を使っていると言うか、回答に Gopher & Gemini MCP Server のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
Cursor の AI チャットを Agent モードで開く
試してみる
Gopher & Gemini MCP Server を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が Gopher & Gemini MCP Server を使っていると言うか、回答に Gopher & Gemini MCP Server のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
VS Code の AI チャットを Agent モードで開く
試してみる
Gopher & Gemini MCP Server を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が Gopher & Gemini MCP Server を使っていると言うか、回答に Gopher & Gemini MCP Server のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください
JSON 設定は下の「開発者向け」にあります
開発者向け:ターミナルのコマンドと JSON 設定
パソコンにインストール
Claude Code
claude mcp add gopher -- uvx gopher-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"gopher": {
"command": "uvx",
"args": [
"gopher-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"gopher": {
"command": "uvx",
"args": [
"gopher-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"gopher": {
"type": "stdio",
"command": "uvx",
"args": [
"gopher-mcp"
]
}
}
}この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
ひと目でわかる
使えるアプリ
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月12日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント cameronrye で確認済みです
- ✓ 合格
今もメンテナンスされている
コードの最終更新:一昨日
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
話し合い
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
ユーザーレビュー
まだレビューはありません
開発者ツールのほかのサーバーとの比較i
- このカテゴリのほかの5776件のうち92%よりスターが多い
- このカテゴリのほかの5776件のうち35%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5776件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Gopher & Gemini MCP Serverは安全ですか?
当てはまる基本チェック2項目のうち2項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は一昨日、最新バージョン(0.10.2)がレジストリに届いたのは2 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv), Dockerも必要です。
代わりに使えるものは?
同じカテゴリには:REA, Netdata, Front-End Checklist
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Netdata
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
Front-End Checklist
Review frontend code and live pages against 386 quality-gated web development rules.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Gopher & Gemini MCP Server
A modern, cross-platform Model Context Protocol (MCP) server that enables AI assistants to browse and interact with both [Gopher protocol](https://en.wikipedia.org/wiki/Gopher_(protocol)) and Gemini protocol resources safely and efficiently.
Overview
The Gopher & Gemini MCP Server bridges vintage and modern alternative internet protocols with AI assistants, allowing LLMs like Claude to explore the unique content and communities that thrive on both Gopherspace and Geminispace. Built with FastMCP and modern Python practices, it provides secure, efficient gateways to these distinctive internet protocols.
Key Benefits:
- Discover alternative internet content - Access unique resources on both Gopher and Gemini protocols
- Safe exploration - Built-in security safeguards, TLS encryption, and content filtering
- Modern implementation - Uses FastMCP framework with async/await patterns
- Developer-friendly - Comprehensive testing, type hints, and documentation
- Advanced security - TOFU certificate validation and client certificate support for Gemini
Features
- Dual Protocol Support:
gopher_fetchandgemini_fetchtools for comprehensive protocol coverage - Comprehensive Gopher Support: Every standard RFC 1436 item type — menus (
1) and Index-Search servers (7) as structured menus, text (0), HTML (h), info (i) and error (3) lines as text, the fourteen binary types as metadata only, and the three interactive ones (2,8,T) refused without opening a connection. The one standard type with no category of its own is+(redundant server), which names an alternate host for the preceding item rather than content to render; it takes the unknown-type path below. An unknown type is read as text, best-effort, and an hURLURL:selector is followed to the destination the server actually stated - Full Gemini Implementation: Native gemtext parsing, TLS security, and status code handling
- Advanced Security: TOFU certificate validation with dedicated inspection and recovery tools, scoped client certificates, and secure TLS connections
- Safety First: Built-in timeouts, size limits, input sanitization, SSRF protection, per-host rate limiting, and host allowlists
- LLM-Optimized: Returns structured JSON responses designed for AI consumption
- Cross-Platform: Works seamlessly on Windows, macOS, and Linux
- Modern Development: Full type checking, linting, testing, and CI/CD pipeline
- High Performance: Async/await patterns with intelligent caching — and cached results say so, with a per-request
refreshbypass - Continuable Reads: A menu or page cut at the render limit reports where it stops, so
offsetreads the rest instead of leaving a partial view
Protocols in scope
Gopher (RFC 1436, including the de-facto item types in common use) and Gemini, both read-only. That is the whole surface, and the neighbouring protocols are deliberately out of scope rather than merely unbuilt:
- Titan and Misfin are write protocols — upload and mail. A tool an LLM drives should not be able to publish to someone's capsule or send mail as them, and adding either would make every safeguard here (robots, rate limits, allowlists) protect a much smaller share of what the tool can do.
- Spartan and Nex are separate protocols with their own parsers and their own failure modes, serving a small fraction of the hosts these two do. They would double the security-relevant surface for a rounding error in reach.
- Gopher+ is not implemented. The
:item type is recognised because it appears in ordinary menus, but no Gopher+ attribute or metadata request is ever sent.
If you need one of these, an MCP server that does it well is a better answer than a flag on this one.
Documentation
Complete documentation is available at [cameronrye.github.io/gopher-mcp](https://cameronrye.github.io/gopher-mcp)
- Installation Guide
- Configuration Guide
- API Reference
- AI Assistant Guide
- Migration Guide and Changelog — what changed, and what an upgrade asks of you
Quick Start
Prerequisites
- Python 3.11+ - Download here
- uv package manager - Install uv
Installation
Option 1: Zero-install with uvx (Recommended)
No clone, no checkout — uv fetches and runs the published package on demand:
uvx gopher-mcp
Option 2: PyPI Installation
# Install from PyPI
pip install gopher-mcp
Or with uv
uv add gopher-mcp
Option 3: Development Installation
# Clone the repository
git clone https://github.com/cameronrye/gopher-mcp.git cd gopher-mcp
Set up development environment
./scripts/dev-setup.sh # Unix/macOS
or
scripts\dev-setup.bat # Windows
Run the server
uv run task serve
Option 4: Docker
Tagged releases publish a slim, non-root image to ghcr.io/cameronrye/gopher-mcp, tagged with the release version plus :latest for stable (non-pre-release) tags:
# The default CMD serves streamable-http on 0.0.0.0:8000
docker run --rm -p 8000:8000 \ -v gopher-mcp-state:/home/app/.local/share/gopher-mcp \ ghcr.io/cameronrye/gopher-mcp:latest
Or run over stdio, e.g. for an MCP client
docker run --rm -i --no-healthcheck \ -v gopher-mcp-state:/home/app/.local/share/gopher-mcp \ ghcr.io/cameronrye/gopher-mcp:latest --transport stdio
To run a modified tree, the repository ships the Dockerfile the published image is built from: docker build -t gopher-mcp .
Mount a volume, or Gemini trust is meaningless. Without one, the TOFU pins and the client certificates' private keys die with the container, so every start re-arms blind trust-on-first-use — the pin is the only thing that authenticates a Gemini capsule — and destroys any identity you minted, whose private key cannot be recovered.
Mount it at that exact path. /home/app/.local/share/gopher-mcp is where the server writes (tofu.json and certs/), and it is the one directory the image pre-creates owned by the runtime user and mode 700 — which is what lets a named volume come up writable instead of root-owned. Mounting anywhere else persists an empty directory. ~/.gemini is not the path: it is only a read-in-place upgrade route for installs that pinned certificates before gopher-mcp had a directory of its own, and it is honoured only when its store file is already there, which it never is in a fresh image.
Health checks. The HTTP transports serve GET /health, which answers {"status": "ok", "version": "..."} and nothing else — no configuration, no allowlists, no store paths. It bypasses authorization by SDK design, which is what makes it usable as a probe. The image's HEALTHCHECK polls it on the hard-coded port 8000 to match the default CMD, so override the healthcheck alongside --port, and pass --no-healthcheck when running stdio — a stdio container serves no HTTP and would otherwise be reported unhealthy while working perfectly.
Note: the default
CMDbinds0.0.0.0so the container is reachable out
of the box. A non-loopback
--hostalso turns off FastMCP's DNS-rebinding
Host/Origincheck, matching what the SDK does when it is constructed with
such a host — otherwise every client that was not on localhost got
421 Misdirected Request. Keep the check on by naming the hostnames the
deployment answers to with
--allowed-host NAME(repeatable; a bare name
matches any port). The HTTP transports are unauthenticated and have no TLS
either — put the container behind a trusted reverse proxy, or use
--transport stdio, before exposing it beyond your machine.
MCP Client Integration
Every client below runs the server over stdio — no ports, no TLS, no listening socket. The entry is the same three fields everywhere; only the file and the top-level key change:
| Client | Where the entry goes | Top-level key |
|---|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), %APPDATA%\Claude\claude_desktop_config.json (Windows), ~/.config/Claude/claude_desktop_config.json (Linux) | mcpServers |
| Claude Code | claude mcp add --scope user gopher -- uvx gopher-mcp, or .mcp.json at the repository root for --scope project | mcpServers |
| Cursor | ~/.cursor/mcp.json, or .cursor/mcp.json for one project | mcpServers |
| VS Code | .vscode/mcp.json in the workspace, or MCP: Open User Configuration | servers |
| Zed | settings.json (zed: open settings) | context_servers |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | mcpServers |
{
"mcpServers": { "gopher": { "command": "uvx", "args": ["gopher-mcp"] } } }
That is the whole entry: every setting in Configuration has a working default, so add an "env" block only when you actually want to change one. Installed with pip rather than uvx? Use "command": "gopher-mcp" and "args": [] instead.
The Installation Guide has the exact JSON for each client, including the two that do not use the mcpServers key.
If a GUI client reports that the server failed to start, it is almost alway