Borrowing it
Nothing to install: this file belongs to Grinv/mal-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Grinv/mal-mcp/main/AGENTS.mdgit clone --depth 1 https://github.com/Grinv/mal-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/grinv/mal-mcp/agents-md)<a href="https://agentmods.dev/instructions/grinv/mal-mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/grinv/mal-mcp/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/grinv/mal-mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/grinv/mal-mcp/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.03377 | $0.03377 |
| Opus 5.5 | $0.01351 | $0.01351 |
| Sonnet 5.5 | $0.00675 | $0.00675 |
| Haiku 4.5 | $0.00338 | $0.00338 |
Grade A, and why
mal-mcp AGENTS.md scanned grade A with 0 findings 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 1mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 215 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
Single source of truth for working on this repository — for any model or
agent. CLAUDE.md only links here (@AGENTS.md); keep all shared guidance in
this file, not in CLAUDE.md. (For end-user/runtime docs, see README.md.)
Project shape
A TypeScript MCP server. Hybrid backend: read tools call the free Tenrai API
(no auth; an unofficial MyAnimeList mirror). Personal-list
tools call the official MyAnimeList API (user token). Eleven read tools
(search/top/seasonal/recommendations/details/anime statistics) additionally
fall back to the official API via just a Client ID — see ReadFallback in
clients/readFallback.ts and the rationale/scope in
docs/api-references.md before changing a client. docs/auth.md lays out what each
credential tier (none / Client ID / OAuth token) unlocks — read that before
changing auth-gating logic or docs that describe it.
Upstream API docs (rate limits, endpoints, OAuth, audit notes) are collected in docs/api-references.md — check there before changing a client.
src/
index.ts # bin entry — calls start()
server.ts # buildServer() + start(); registers everything
config.ts # env → validated Config (zod)
version.ts # VERSION/USER_AGENT string, kept in sync with package.json (version.test.ts)
lib/ # http, rateLimit, cache, tokenStore, oauthLogin, errors, logger,
# result, format(+formatOfficial for the fallback's response shaping)
# format.schemas.ts: Zod schemas mirroring every format.ts/formatOfficial.ts
# shaper, PLUS clients/mal.ts's trimList()/deleteMy*ListItem() outputs
# (myListSchema, deleteAnimeItemSchema, deleteMangaItemSchema — shaped/
# client-synthesized output, not raw upstream passthrough, so they live
# here rather than in mal.ts); each tool's outputSchema, AND (schema-first)
# the paired shaper itself calls schema.parse() on its own result before
# returning
clients/ # tenrai.ts (reads) + tenraiEnums.ts (every enum-shaped query param Tenrai
# accepts, as `as const` arrays — the single source of truth read.ts's
# z.enum(...) calls build from) + tenraiParams.ts (TenraiClient's param
# interfaces, split out once tenrai.ts grew too large to scan) +
# readFallback.ts (retry policy), mal.ts (personal-list CRUD — MyUserInfoSchema/
# MalListResponseSchema/ListStatusUpdateResponseSchema stay here as
# z.looseObject(), see below) + malEnums.ts (mal.ts's own enum arrays, same
# reasoning/pattern as tenraiEnums.ts, shared with tools/mylist.ts) +
# malAuth.ts (MalAuthManager: OAuth token refresh + the login_mal/
# submit_mal_redirect PKCE flow, composed into MalClient — split out because
# token lifecycle and personal-list CRUD are genuinely different concerns, not
# because of anime/manga: unlike tenrai.ts's split, there's no anime/manga axis
# here worth separating further, since #getMyList/#updateStatus/#deleteItem are
# correctly DRY, resource-parameterized helpers, not a merged-domain mistake),
# officialReads.ts (Client-ID-only public reads, the fallback's data source),
# httpClients.ts (shared HttpClient factory for the official API, +
# withThrottle(), the rate-limit wiring shared with tenrai.ts too, +
# formBody() form-encoder shared by mal.ts and malAuth.ts)
tools/ # read.ts, mylist.ts, login.ts (login_mal), guard.ts, spec.ts (defineTool/
# registerTools + ToolSpec — the per-tool registration abstraction all three
# register*Tools() callers flow through)
prompts.ts # registerPrompts(server, tenrai) — clients get threaded in as needed,
# e.g. for completable() autocomplete on recommend_similar's title
__tests__/ # node:test (*.test.ts) + helpers.ts
scripts/ # build-tests.mjs, run-tests.mjs, check-api.mjs, sync-version.mjs,
# preversion-check.mjs (npm version gate — see .agents/skills/release/SKILL.md),
# check-changelog-coverage.mjs (see docs-consistency-check skill),
# check-chainable-optional-fields.mjs (see tool-description-check skill)
.agents/skills/ # reusable agent workflows for this repo (e.g. live-audit/) —
# plain Markdown with a YAML frontmatter name/description,
# not tied to any one tool's orchestration features, per
# this file's agent-agnostic policy; same skill name/layout
# as this project's sibling MCP servers (tmdb-mcp,
# steam-games-mcp, anilist-mcp-server) — sync improvements
# both ways rather than letting them drift. Codex CLI and
# Gemini CLI read `.agents/skills` directly and Claude Code
# via the `.claude/skills` symlink, so every skill is picked
# up without duplicating content per client path.
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.
- 1mo ago First seen · 215 lines · 3,377 tokens per session scan A 8a175e597967
mal-mcp AGENTS.md is an instructions file published in the GitHub repository Grinv/mal-mcp (3 stars, last pushed today), licensed MIT. It adds 3,377 tokens to every session, about $0.0135 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
vscode copilot-instructions.md
Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).
deno copilot-instructions.md
Copilot instructions for denoland/deno, covering deno development guide for github copilot, network access, high level overview, key directories and key files to understand first.