Labsco
MCP SERVER

Fish MCP Server

by cozy-corner

Search 35,731 fish species by Japanese or English name, or by size, habitat and danger — with photos.

Encyclopedic & Cultural Reference
Summary
Feature search is what a name index can't do.

Looking a fish up by name is the easy half; the interesting call is the feature search, where size range, saltwater, deepwater and dangerous combine into questions like "large dangerous saltwater fish" that no name index answers. The Japanese coverage is real — 5,204 Japanese names indexed with FTS5 — which is the reason to pick this over a generic species lookup.

What it is

A local server over a FishBase extract, built for Japanese-language search. It holds 35,731 species and 81,808 name records — 5,204 Japanese and 76,604 English — in SQLite with an FTS5 full-text index, so hiragana, katakana, kanji and English queries all resolve against the same data.

What you get
  • `search_fish_by_name` finds fish by Japanese or English name; `limit` defaults to 10 and `includeImages` defaults to false
  • `search_fish_by_features` searches by characteristics instead: `minLength` and `maxLength` in cm, plus `dangerous`, `saltwater`, `deepwater` and `commercial` flags, with `limit` defaulting to 20
  • Photos come from the iNaturalist API when `includeImages` is set
Requirements

Node.js 18.0.0 or newer, plus npm or yarn. Clone the repository, run `npm install` and `npm run build`, then load the data — `npm run load-sample-data` for a test set, or `npm run load-data` for the full FishBase import. Point your client at `node` with the path to `dist/index.js`; set `FISH_DB_PATH` to the absolute path of `fish.db` if you want to pin it rather than let the server find it. No account and no key.