Verifiable collection with optional AI · 2026
Pokédex Manager
Pokédex Manager explores PokéAPI, keeps a collection isolated per account, and identifies cards from a photo with human confirmation before anything is saved. The assistant gets its context through a read-only MCP session, so it cites collection data instead of inferring it. Kimi is optional: without an AI provider the catalog, collection, statistics, and a bounded local assistant remain.
RoleProduct design, architecture, and implementation

Context and evolution
The system behind the screens.
An assistant talking about a collection can make up whatever it fails to find. Pokédex Manager settles that before the conversation: the model does not query the database, it runs schemed tools through a read-only MCP session, and the answer cites which ones ran.
The internal assistant and external MCP clients cross the same boundary: a read-only product port, in memory for one and over Streamable HTTP with an explicit bearer and subject for the other. There is no parallel route around per-account isolation, and no MCP operation writes business data.
The rest of the product does not depend on Kimi being available. Without an AI provider the catalog, collection, statistics, and a local assistant crossing that same boundary remain; a 24-hour MongoDB cache keeps the last known PokéAPI entry, and the container verifies its indexes before starting instead of running against an ambiguous database.
Decisions and outcomes
- A purpose-built MCP server with six read-only tools; the assistant and external clients enter through the same boundary.
- Recognition checks the model’s proposal against PokéAPI and adds nothing without confirmation.
- Without an AI provider the application keeps the catalog, collection, statistics, and local assistant.
System map
Open every application.
These are not labels: every module retains its own route and technical context.
- 01View module
Catalog
PokéAPI with filters, global sorting, and a cache that survives an origin outage.
- 02View module
Collection
One collection per account, isolated in the query and in the index.
- 03View module
MCP server
Six read-only tools and a single context boundary.
- 04View module
Assistant
Kimi when it is enabled; a deterministic router when it is not.
- 05View module
Card recognition
The model proposes, PokéAPI resolves, the person confirms.
- 06View module
Operations
Compose to bring it up and a quality chain that does not skip persistence.