Context7
Up-to-date docs for AI agents
Descripción del creador (original en inglés)
Food-memory reconstruction: recreate childhood dishes with ingredients available where you are.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
El creador no incluyó detalles de instalación en el registro. Consulta el README del creador más abajo.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con el dominio kyanitelabs.tech (el registro comprueba quién es dueño del dominio)
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.2.2) llegó al registro hace 25 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code.
En la misma categoría: Context7, Codebase Memory, Exa
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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."
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
[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.
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.
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:
| Stage | Tool | Implemented behavior |
|---|---|---|
| Single-call reconstruction | reconstruct_food_memory | Runs 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 control | plan_tool_workflow | Deterministically plans the /ask tool sequence from the raw user message so provider models do not freestyle the workflow. |
| Memory intake | collect_food_memory | Structures raw fragments, sound-alikes, family context, remembered ingredients, sensory clues, missing information, and gentle next questions. |
| Research planning | plan_dish_research | Produces 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 adapter | search_web | Uses 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 provenance | build_research_record / validate_research_record / extract_research_findings | Converts host-researched source facts into typed provenance records, validates source metadata, and summarizes researched facts/inferences/unknowns for dossier handoff. |
| Evidence ledger | build_reconstruction_dossier | Builds a dossier that separates user-said, researched, inferred, and unknown claims, plus sensory priorities and adaptation strategy. |
| Receipt | build_memory_receipt | Builds 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 connection | generate_family_followup_questions | Generates gentle questions the user can ask relatives to deepen the memory and resolve uncertainty. |
| Name resolution | resolve_dish_name | Resolves names to broad families and ambiguity-aware candidates using bundled aliases, fuzzy matching, and transliterations. |
| Sensory analysis | analyze_nostalgic_dish | Returns sensory-dimension criteria and a bounded prompt for the host model to analyze nostalgia-critical elements. |
| Substitution | find_sensory_substitutes | Returns compound/group-matched substitutes from bundled ingredient data, plus regional hints when available. |
| Sourcing | source_ingredients | Returns 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 comparison | discover_regional_similars | Returns bundled dish-family context and a host-model prompt for neighboring/regional comparisons. |
| Minimum viable nostalgia cue | generate_minimum_viable_nostalgia | Produces 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 handoff | generate_recipe | Returns 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 validation | validate_recipe_output | Validates 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.
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.
>=22.0.0better-sqlite3 is a native dependency, so unsupported Node/platform combinations may need a compiler toolchain or a supported prebuild.
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
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.
An optional HTTP server provides a web UI and AI agent endpoint:
node dist/http-server.js
| Endpoint | Description |
|---|---|
GET / | Public landing page (index.html) |
GET /app | Web UI (app.html) |
GET /about | Trust/company page (about.html) |
GET /pricing | Standalone pricing page (pricing.html) |
GET /roadmap | Public roadmap page (roadmap.html) |
GET /changelog | Public changelog page (changelog.html) |
GET /status | Public service status page (status.html) |
GET /blog | Launch blog index (blog.html) |
GET /receipt | Shareable Memory Receipt renderer (receipt.html) |
GET /ai-search, /llms.txt, /privacy, /terms, /safety, /support, /compare | Public AI-search, legal, support, safety, and comparison surfaces |
GET /health | JSON status with memory/uptime metrics |
GET /voice/status | Local OSS speech readiness for optional voice input/read-aloud |
POST /voice/transcribe | Local speech-to-text through a configured OSS engine |
POST /voice/synthesize | Local text-to-speech through a configured OSS engine |
POST /ask | SSE streaming AI agent (auth + rate limited) |
POST /mcp | Streamable 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.
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
Solo se muestra el principio; lee el resto en el repo