Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Achiote

by KyaniteLabsversion 0.2.2i★ –i–
Registry nametech.kyanitelabs/achiote

Install

Overview

Description from the maker (original English)

Food-memory reconstruction: recreate childhood dishes with ingredients available where you are.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: –
  • Transport:
  • Category: Games, sports, food & learning

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

The maker has not listed install details in the registry. See the maker’s README below.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain kyanitelabs.tech (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Games, sports, food & learningi

  • More stars than 0% of the other 1283 servers in this category
  • Published to the registry more recently than 54% of the other 1283 servers in this category
  • Basic checks equal to or better than 100% of the other 1283 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Achiote safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.2.2) reached the registry 25 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code.

What can I use instead?

In the same category: slopped.site, Artsonia MCP, Canvas Parent MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

slopped.site

by slopped.site

Read-only tools over slopped.site: AI-made art, lore, games, sites, the curriculum.

Runs in the cloudUpdated today
Install

Artsonia MCP

by chrischall

Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).

Runs on your computerUpdated today
Install

Canvas Parent MCP

by chrischall

Canvas LMS (Instructure) for Claude — courses, grades, assignments, planner, files

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Achiote

TL;DR: Achiote — food-memory and cultural taste research product. Best for researchers and builders exploring food memory and heritage taste. Keywords: food memory research, cultural taste, heritage cuisine AI.

Achiote is a Model Context Protocol (MCP) server for research-first food-and-drink memory reconstruction. It helps a host AI turn incomplete family food or drink memories into structured clues, research plans, cited/provenance-ready findings, sensory analysis, sourcing/substitution strategy, and a minimum viable nostalgia cue before any fuller recipe handoff.

"The nostalgia lives in the maillard crust's interaction with the lactic tang — here's how to reproduce that."

Super Quick Start

From this repo:

npm ci

npm run build mkdir -p ~/.codex/skills/achiote cp skill/SKILL.md ~/.codex/skills/achiote/SKILL.md

Claude Code can use the checked-in .mcp.json after the build step. For Codex, add the MCP server to ~/.codex/config.toml with an absolute path to this repo's built dist/index.js:

pwd

copy the printed path and append /dist/index.js

[mcp_servers.achiote]

command = "node" args = ["/absolute/path/to/achiote/dist/index.js"] enabled = true startup_timeout_sec = 10

Restart the host AI session, then test with:

Use the achiote skill.

My mom said my Puerto Rican grandma made something that sounded like pass-teh-lay. I don't speak Spanish. Maybe plantains or pork?

Expected behavior: the host AI should use the MCP tools to collect the memory, plan research, build a dossier, and present a minimum viable nostalgia cue first. Only after that should it ask whether the user wants something more complex, such as sourcing help or a full recipe handoff.

Public Web Surfaces

The hosted/static product surface lives under docs/landing/. The core app and launch pages are dependency-free static assets served by the optional HTTP server:

  • / -> docs/landing/index.html, the public landing page.
  • /app -> docs/landing/app.html, the interactive food-memory detective.
  • /pricing, /about, /roadmap, /changelog, /status, /blog, and /receipt -> standalone launch/trust/growth pages.
  • /ai-search, /llms.txt, /privacy, /terms, /safety, /support, /compare, /robots.txt, and /sitemap.xml -> AI-search, legal, support, comparison, and crawler surfaces.

Open the HTML files directly in a browser for static review; the full route behavior is covered by npm run package:smoke.

What It Does Today

Achiote is a research-first food-and-drink memory reconstruction server. It provides 19 MCP tools that let a host AI chat client run the workflow from a fragment to a minimum viable nostalgia cue, with optional sourcing/substitution and recipe handoff if the user wants more:

StageToolImplemented behavior
Single-call reconstructionreconstruct_food_memoryRuns the full /ask workflow in one call — collect the memory, research the dish, build the evidence dossier, and return a minimum viable nostalgia cue with a Memory Receipt. Use the granular tools below when driving individual steps.
Workflow controlplan_tool_workflowDeterministically plans the /ask tool sequence from the raw user message so provider models do not freestyle the workflow.
Memory intakecollect_food_memoryStructures raw fragments, sound-alikes, family context, remembered ingredients, sensory clues, missing information, and gentle next questions.
Research planningplan_dish_researchProduces hypotheses, search queries, source preferences, facts to verify, and clarification questions for foods or drinks. It plans research instead of pretending sparse fragments are solved.
Optional search adaptersearch_webUses configured host search (SERPER_API_KEY) when available, otherwise returns an explicit no-search note. Search remains optional and should not be treated as guaranteed runtime behavior.
Research provenancebuild_research_record / validate_research_record / extract_research_findingsConverts host-researched source facts into typed provenance records, validates source metadata, and summarizes researched facts/inferences/unknowns for dossier handoff.
Evidence ledgerbuild_reconstruction_dossierBuilds a dossier that separates user-said, researched, inferred, and unknown claims, plus sensory priorities and adaptation strategy.
Receiptbuild_memory_receiptBuilds a portable Memory Receipt from collected memory, research plan, and optional first tiny taste test so families can inspect and correct the evidence trail.
Family connectiongenerate_family_followup_questionsGenerates gentle questions the user can ask relatives to deepen the memory and resolve uncertainty.
Name resolutionresolve_dish_nameResolves names to broad families and ambiguity-aware candidates using bundled aliases, fuzzy matching, and transliterations.
Sensory analysisanalyze_nostalgic_dishReturns sensory-dimension criteria and a bounded prompt for the host model to analyze nostalgia-critical elements.
Substitutionfind_sensory_substitutesReturns compound/group-matched substitutes from bundled ingredient data, plus regional hints when available.
Sourcingsource_ingredientsReturns static regional store/corridor hints and a host-model prompt for sourcing. It returns static sourcing guidance, not live inventory, and does not perform live price lookup.
Regional comparisondiscover_regional_similarsReturns bundled dish-family context and a host-model prompt for neighboring/regional comparisons.
Minimum viable nostalgia cuegenerate_minimum_viable_nostalgiaProduces the smallest practical aroma, bite, sip, condiment, or ritual to test the likely memory trigger before attempting a full recipe or drink. It prioritizes cheap, accessible, easy-to-find proxies and explains the substitute logic instead of defaulting to exact specialty ingredients.
Optional recipe handoffgenerate_recipeReturns an expected recipe schema and a bounded host-model prompt for recipe generation and self-critique. Use only after the minimum viable cue has been presented and the user wants something more complex.
Recipe validationvalidate_recipe_outputValidates a host-synthesized final recipe object against the expected schema before treating it as structured output.

All tools return MCP structuredContent. Most tools also display JSON text; intake tools may display a short human-readable summary so Claude Code output stays readable while structured data remains available to the host.

End-to-end flow

food memory fragment

-> collect_food_memory -> plan_dish_research -> optional host research / family clarification -> build_research_record / validate_research_record / extract_research_findings -> build_reconstruction_dossier -> generate_family_followup_questions -> generate_minimum_viable_nostalgia # first concrete food output -> optional analyze_nostalgic_dish / find_sensory_substitutes / source_ingredients -> optional generate_recipe # only if the user wants more

This executes through the full MCP workflow and is covered by tests/reconstruction-flow-e2e.test.ts. The preferred stopping point is the minimum viable nostalgia cue: the smallest, most accessible, easiest-to-find aroma, bite, sip, condiment, or ritual that tests whether the memory is on the right track. If the user asks for more, the MCP server can then provide sourcing/substitution context and a recipe-generation handoff. The host AI writes final recipe prose because live research, family confirmation, and adaptation judgment should not be faked by bundled data.

Requirements

  • Node.js >=22.0.0
  • npm

better-sqlite3 is a native dependency, so unsupported Node/platform combinations may need a compiler toolchain or a supported prebuild.

Installation

Achiote is published to npm.

npm install achiote

The published package ships the built dist/ output, so no build step is needed. To run from a source checkout instead:

npm ci

npm run build

Using with Claude Code or another MCP client

After building, add the stdio server to your MCP settings:

{

"mcpServers": { "achiote": { "command": "node", "args": ["/path/to/achiote/dist/index.js"] } } }

If installed as a package, the CLI binary is achiote.

HTTP server

An optional HTTP server provides a web UI and AI agent endpoint:

node dist/http-server.js

Listening on http://localhost:3000

EndpointDescription
GET /Public landing page (index.html)
GET /appWeb UI (app.html)
GET /aboutTrust/company page (about.html)
GET /pricingStandalone pricing page (pricing.html)
GET /roadmapPublic roadmap page (roadmap.html)
GET /changelogPublic changelog page (changelog.html)
GET /statusPublic service status page (status.html)
GET /blogLaunch blog index (blog.html)
GET /receiptShareable Memory Receipt renderer (receipt.html)
GET /ai-search, /llms.txt, /privacy, /terms, /safety, /support, /comparePublic AI-search, legal, support, safety, and comparison surfaces
GET /healthJSON status with memory/uptime metrics
GET /voice/statusLocal OSS speech readiness for optional voice input/read-aloud
POST /voice/transcribeLocal speech-to-text through a configured OSS engine
POST /voice/synthesizeLocal text-to-speech through a configured OSS engine
POST /askSSE streaming AI agent (auth + rate limited)
POST /mcpStreamable HTTP MCP transport

Hosted Achiote (https://achiote.kyanitelabs.tech) does not enforce authentication: anonymous access is open and billing-issued API keys are honored (GET /health reports authEnabled: false). Self-hosted HTTP can still require keys: configure ACHIOTE_API_KEYS for /ask, /mcp, and voice upload endpoints. Setting ACHIOTE_AUTH_ENABLED=false does not by itself expose anonymous /ask or voice processing; set ACHIOTE_ALLOW_ANON_ASK=true only for local demos. Generate a self-hosted key with npm run keygen -- --tier pro --name admin; put the printed envRecord inside the ACHIOTE_API_KEYS JSON array, not the one-time raw key. Port defaults to 3000, configurable via PORT env var.

Shareable Memory Receipt links keep receipt JSON in the URL fragment (/receipt#data=...). URL fragments are not sent to the server, so possession of the link is the access boundary. Do not put private family memory text into telemetry or server-side share records.

Local OSS speech

Voice is disabled by default and uses only local OSS speech engines when configured. The recommended stack is whisper.cpp for multilingual speech-to-text and Kokoro-82M for local read-aloud. This path is aimed at immigrant families and children of immigrants: speech input defaults to auto language detection so accents, transliterated dish names, and code-switching can reach the same food-memory workflow as typed text. Exact language and accent quality depends on the local model you install.

Example environment:

ACHIOTE_STT_PROVIDER=whispercpp

ACHIOTE_WHISPER_CPP_BINARY=/usr/local/bin/whisper-cli ACHIOTE_WHISPER_CPP_MODEL=/models/ggml-large-v3-turbo.bin ACHIOTE_STT_LANGUAGE=auto ACHIOTE_STT_LANGUAGES=auto,es,hi,zh,ar,fr,pt,tl

ACHIOTE_TTS_PROVIDER=kokoro ACHIOTE_KOKORO_COMMAND='["python","/opt/kokoro/speak.py","--text","{text}","--output","{output}","--voice","{voice}","--language","{language}"]' ACHIOTE_KOKORO_VOICE='af_heart' A

Only the beginning is shown; read the rest in the repo

Ask PopNx