Context7
Up-to-date docs for AI agents
Beschreibung vom Entwickler (englisches Original)
Food-memory reconstruction: recreate childhood dishes with ingredients available where you are.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Der Entwickler hat in der Registry keine Installationsangaben gemacht. Sieh dir unten die README des Entwicklers an.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde über die Domain kyanitelabs.tech bestätigt (die Registry prüft, wem die Domain gehört)
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.2.2) kam vor 25 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code.
In derselben Kategorie: Context7, Codebase Memory, Exa
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
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.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
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
Nur der Anfang wird gezeigt; den Rest findest du im Repo