Fish MCP Server

by cozy-corner

Not rated
GitHub

About

Search for fish species using the FishBase database. Supports natural language queries in both Japanese and English.

Details

Author
cozy-corner
Categories
Search, Database, Other

Setup

Install Fish MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/cozy-corner/fish-mcp-server

Follow the installation instructions in the repository README, then restart your MCP client.

日本語対応の魚類検索MCPサーバー - FishBaseデータベースを使用した魚類情報検索システム

Fish MCP Serverは、Model Context Protocol (MCP)を使用してClaude Desktopに魚類検索機能を提供するサーバーです。FishBaseの35,000種以上の魚類データと5,000種以上の日本語名データを使用し、日本語・英語の自然言語検索に対応しています。

- 多言語検索: 日本語(ひらがな、カタカナ、漢字)と英語での魚名検索
- 全文検索: SQLite FTS5による高速な日本語全文検索
- 特徴検索: サイズ、生息地、危険性などの条件による検索
- 画像取得: iNaturalist APIによる魚類画像の自動取得
- 大規模データ: FishBaseから取得した35,731魚種 + 81,808の名前データ

- Node.js 18.0.0以上
- npm または yarn
- Claude Desktop

git clone <repository-url> cd fish-mcp-server npm install

Claude Desktopの設定ファイル(~/.config/claude/claude_desktop_config.jsonまたは~/Library/Application Support/Claude/claude_desktop_config.json)に以下を追加:

{ "mcpServers": { "fish-mcp-server": { "command": "node", "args": ["/path/to/fish-mcp-server/dist/index.js"], "cwd": "/path/to/fish-mcp-server", "env": { "FISH_DB_PATH": "/path/to/fish-mcp-server/fish.db" } } } }

注意:/path/to/fish-mcp-serverは実際のプロジェクトパスに置き換えてください。

- FISH_DB_PATH: データベースファイルの絶対パスを指定(オプション)

- 設定しない場合は自動的にプロジェクトルートからfish.dbを検索
- ビルド構造が変更された場合の安全策として使用可能

設定変更後、Claude Desktopを再起動してMCPサーバーを読み込みます。

- query(必須): 検索する魚の名前
- limit(オプション): 検索結果の最大件数(デフォルト: 10)
- includeImages(オプション): 画像情報を含めるか(デフォルト: false)

- minLength(オプション): 最小サイズ(cm)
- maxLength(オプション): 最大サイズ(cm)
- dangerous(オプション): 危険な魚のみ検索
- saltwater(オプション): 海水魚のみ検索
- deepwater(オプション): 深海魚のみ検索
- commercial(オプション): 商業的に重要な魚のみ検索
- limit(オプション): 検索結果の最大件数(デフォルト: 20)
- includeImages(オプション): 画像情報を含めるか(デフォルト: false)

# 開発サーバーの起動 npm run dev # ビルド npm run build # テスト実行 npm run test-search npm run test-fts5 npm run test-improved # リント・フォーマット npm run lint npm run format npm run check-all # 開発時のチェック npm run check-ci # CI用の厳密チェック
# データベース状態確認 npx tsx tests/test-db-status.ts # 検索機能テスト npx tsx tests/test-search.ts # FTS5機能テスト npx tsx tests/test-fts5-simple.ts
# サンプルデータ読み込み npm run load-sample-data # FishBase全データ読み込み npm run load-data

- FishBase: 世界最大の魚類データベース

- 種別データ: 35,731種
- 名前データ: 81,808件(日本語5,204件、英語76,604件)

- 言語: TypeScript
- ランタイム: Node.js
- データベース: SQLite + FTS5
- プロトコル: Model Context Protocol (MCP)
- フレームワーク: @modelcontextprotocol/sdk
- データ処理: parquet-wasm, apache-arrow
- 画像API: iNaturalist API

src/ ├── index.ts # エントリーポイント ├── mcp/ │ ├── server.ts # MCPサーバー実装 │ └── tools.ts # MCP ツール定義 ├── database/ │ ├── db-manager.ts # データベース管理 │ ├── data-importer.ts # データ読み込み │ └── schema.sql # データベーススキーマ ├── services/ │ ├── search-service.ts # 検索ロジック │ ├── data-loader.ts # FishBaseデータ読み込み │ └── image-service.ts # 画像取得サービス └── types/ # 型定義
ls -la /path/to/fish-mcp-server/dist/index.js
# データベースファイルを削除して再構築 rm fish.db npm run load-data

- iNaturalist APIの制限により、一部の魚種では画像が取得できない場合があります
- 学名が不正確な場合、画像検索に失敗することがあります

# 全てのデバッグログを有効化 DEBUG=fish-mcp:* npm run dev # 特定のモジュールのみ DEBUG=fish-mcp:image-service npm run dev DEBUG=fish-mcp:search-service npm run dev

MCP環境では、JSON-RPC通信を妨げるため、console.logconsole.errorは使用禁止です。ESLintルールで自動検出されます。

環境依存を避けるため、すべてのファイルパスはimport.meta.urlfileURLToPathを使用した動的解決を行っています。

Husky + lint-stagedにより、コミット前に自動的にリント・フォーマットが実行されます。

Search global news using natural language. Webz.io News Search API returns the most relevant articles and content, with filters for source, country, language, date, sentiment, and category.

Search every open UK firefighter recruitment opportunity across 73 fire services, with station-level on-call data, postcode proximity, and editorial guides.

By connecting to the public Jobicy MCP server, your AI tools can autonomously search, filter, and retrieve the latest remote job listings in real-time.

Fetch, convert, and search AWS documentation pages, with recommendations for related content.

Search campgrounds around the world on campertunity, check availability, and provide booking links.

The Ferryhopper MCP Server exposes ferry routes, schedules and booking redirects so an AI assistant can discover connections across Europe and the Mediterranean and send users to Ferryhopper to complete bookings.

All-in-One SEO & Web Intelligence Toolkit API from FetchSERP.

MCP server that provides read-only access to HyperKitty, the web-based email archive component of Mailman 3.

At Sunrise Apps, we believe AI agents should be limitless, especially when it comes to visual data. We created ImageSorcery to bridge the critical gap in AI's ability to interact with and manipulate images directly, all while upholding the highest standards of privacy and security.

Just Domain is the domain registrar for businesses built with AI. Its remote MCP server checks availability and returns first-year and renewal pricing, plus a link to register on justdomain.ai, with DNS and WHOIS privacy in the same place. No account, no API key, read only. Endpoint: https://mcp.justdomain.ai/

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.