stackchan-mcp AGENTS.md

A project guide for Stack-chan, a voice avatar running on an M5Stack CoreS3 device, with firmware and a Python server that controls it over HTTP.

In plain words
What is it for?
Use it when changing the firmware or server, handling face assets, starting the HTTP service, or validating device-related work.
Why use it?
It highlights device-safety rules, protected settings, restricted tools, and important behavior such as recording data being cleared when read.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/migratorywhale/stackchan-mcp/agents-md
Clone the repo
git clone --depth 1 https://github.com/migratorywhale/stackchan-mcp

Made for: Codex, OpenCode.

Per session 1,775 This file is loaded in full into every session.
When invoked 1,775 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01775 $0.01775
Opus 5 $0.00888 $0.00888
Sonnet 5 $0.00355 $0.00355
Haiku 4.5 $0.00178 $0.00178

Measured 2d ago against content hash e298ec230d22, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

stackchan-mcp AGENTS.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -sS --max-time 5 http://$STACKCHAN_IP/audio/status
AGENTS.md · 185 lines

How it starts

The opening of the file, as written. The whole thing — 185 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Stack-chan Project Guide

This repository contains firmware and host-side tooling for a push-based Stack-chan voice avatar running on M5Stack CoreS3.

Scope

  • firmware/ contains the Arduino/PlatformIO firmware for M5Stack CoreS3.
  • mcp-server/ contains a Python MCP server that lets clients control Stack-chan over HTTP.
  • faces/ and firmware/data/ contain the PNG face assets used by the device.
  • start-http.sh starts the MCP HTTP server. Public tunnel startup is opt-in with STACKCHAN_ENABLE_PUBLIC_MCP_TUNNEL=1.

Important Rules

  • Do not read or use any CLAUDE.md files. They are for a different assistant.
  • Do not call memory, identity, or introspection MCP tools such as imprint-memory, memory_search, breath, or similar tools.
  • Be careful with live-device endpoints. GET /audio consumes and clears the current recording buffer on the device.
  • Do not overwrite local secrets or Wi-Fi settings in firmware/src/config.h. Use firmware/config.h.example for documented defaults.
  • Avoid destructive git operations unless explicitly requested.
  • Use Conventional Commits for all commit messages.

Firmware Notes

The firmware exposes a local HTTP API on port 80:

  • POST /play queues a WAV URL for playback.
  • POST /play/pcm?session=<id>&seq=<n>&final=<0|1> plays or queues a raw 24kHz mono s16le PCM segment. The MCP server sends Fish PCM in bounded segments with Content-Length; firmware only queues segments for the active PCM session and clears queued PCM on playback timeout.
  • POST /mode switches between api and mcp recording behavior.
  • GET /audio/status reports whether a recording is ready.
  • GET /audio returns the latest WAV recording and then clears it.
  • POST /move, POST /home, POST /nod, and POST /shake control servos.
  • POST /face and GET /face control or inspect the current expression.
  • GET /snapshot returns a 320x240 JPEG from the camera.

Key services live in:

  • firmware/src/http_server.cpp
  • firmware/src/mic_service.cpp
  • firmware/src/playback_service.cpp
  • firmware/src/face_service.cpp
  • firmware/src/servo_service.cpp
  • firmware/src/camera_service.cpp
  • firmware/src/wifi_manager.cpp

Read the full file on GitHub · 185 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 185 lines · 1,775 tokens per session scan A e298ec230d22

Subscribe to this mod's changes

stackchan-mcp AGENTS.md is an instructions file published in the GitHub repository migratorywhale/stackchan-mcp (71 stars, last pushed 3d ago), licensed MIT. It adds 1,775 tokens to every session, about $0.0089 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories

FastLED GEMINI.md

Gemini CLI instructions for FastLED/FastLED, a project described as: The FastLED library for colored LED animation on Arduino. Please direct questions/requests for help to the FastLED Reddit community: http://fastled.io/r We'd like to use github "issues" just for tracking library bugs / enhancements.

FastLED/FastLED · 9 tokens

kicad-happy GEMINI.md

Instructions for aklofas/kicad-happy, covering kicad-happy, agent guidelines, skills, running analysis and schematic analysis.

aklofas/kicad-happy · 1,207 tokens

brilliant_sdk AGENTS.md

Instructions for brilliantlabsAR/brilliant_sdk, covering brilliant sdk — agent guide, how an app works (the pattern behind everything), minimal reading paths, verify without hardware and testing.

brilliantlabsAR/brilliant_sdk · 1,817 tokens

NeoMind CLAUDE.md

Instructions for camthink-ai/NeoMind, covering neomind — edge ai platform for iot, development commands, ecosystem repositories, extension package contract (.nep) and device type template contract (json).

camthink-ai/NeoMind · 4,296 tokens

Nothan-OS CLAUDE.md

Instructions for Vinalinux-Org/Nothan-OS, covering claude.md — nothanos, hard rules, toolchain, driver and design philosophy.

Vinalinux-Org/Nothan-OS · 499 tokens

Meta-Spatial-SDK-Samples meta-quest.instructions.md

Instructions for meta-quest/Meta-Spatial-SDK-Samples: For this repository, prefer Meta Quest Agentic Tools, the Meta Horizon VS Code/Cursor extension, and the hzdb MCP server.

meta-quest/Meta-Spatial-SDK-Samples · 68 tokens