threads-mcp-cli
AGENTS.md4 starsChanged 38 days agoMITView on GitHub
For agents editing this repository. Users read the README. Driving the server is SKILL.md. Commit as n@navid.me. Never pass -c user.email=. The global config is correct and the override is the bug. Threads is not Instagram. Separate API, separate permissions, separate token against its own host. An Instagram token does nothing here. One Meta app can carry both use cases, but each product mints its own token. Writes are on by default. THREADS_READ_ONLY=1 removes the write tools from the list…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,843 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
The file
We split this AGENTS.md into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
Commit as
n@navid.me: Never pass -c user.email=.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Working on threads-mcp-cli
For agents editing this repository. Users read the README. Driving the server is
SKILL.md.
Layout
src/app.ts the Slipway app: tools, settings, login, refresh. Slipway owns both surfaces, the guard and the audit log
src/guide.ts server instructions, resources and prompts
src/doctor.ts one probe per capability, so a missing scope is named
src/api/ client, errors (Meta's codes sorted into classes), identity
src/auth/ login, refresh, tokens, the token store
src/tools/ one module per group, registered in tools/index.ts; kit.ts maps Meta's errors to exit codesNon-negotiables
Commit as n@navid.me. Never pass -c user.email=. The global config is
correct and the override is the bug.
Threads is not Instagram. Separate API, separate permissions, separate token against its own host. An Instagram token does nothing here. One Meta app can carry both use cases, but each product mints its own token.
Writes are on by default. THREADS_READ_ONLY=1 removes the write tools from
the list rather than refusing at call time.
Approval on publishing and deleting only. Over MCP a person approves each
in the client; confirm: true counts only where the client cannot ask. Hiding
a reply is one click to undo and is not guarded. Confirming everything trains the reflex that makes
the confirmation on a delete worthless.
A missing scope and an ungranted App Review look identical from a tool call.
That is why doctor probes each capability and names which scope is absent
rather than leaving the caller to guess. Keep that true when adding tools.
Every anticipated failure is a ThreadsError subclass from api/errors.ts.
Meta sends almost all of them as HTTP 400, so tools/kit.ts maps the class, not
the status, to the exit code, and passes Meta's code and subcode on in the
error's details. A plain Error keeps its message but exits 1, unexpected,
unless its words match a known failure.
Do not imply it can read other people's posts. Meta's API does not expose them, so competitor research is not something this can do honestly.
Before claiming it works
npm run build && npm test && npm run typecheck
npx @modelcontextprotocol/inspector node dist/index.jsDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

