cloudarmor-mcp: Instructions file for Claude Code

CLAUDE.md

cloudarmor-mcp CLAUDE.md is an instructions file for Claude Code from shigechika/cloudarmor-mcp. It costs 2,256 tokens per session, scanned A, original, MIT.

Repository instructions for Claude Code and developers working on a Google Cloud Armor MCP server. The server reads Google Cloud Logging WAF denial records and reports rule counts, possible false positives, and preview-rule information without changing anything.

In plain words
What is it for?
Use them when editing, testing, linting, formatting, or reviewing this Python repository. They also explain how its Cloud Armor log-reporting tools and command-line exit codes are organized.
Why use it?
They give coding agents the repository’s commands, layout, conventions, security limits, and review expectations. This reduces the risk of breaking read-only behavior or misunderstanding incomplete log counts.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: mentions CLAUDE.md.

This is shigechika/cloudarmor-mcp's own configuration. It tells Claude Code how to work on cloudarmor-mcp itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything cloudarmor-mcp configures →

Reuse

Borrowing it

Nothing to install: this file belongs to shigechika/cloudarmor-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.

Copy the file
curl -O https://raw.githubusercontent.com/shigechika/cloudarmor-mcp/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/shigechika/cloudarmor-mcp

Made for: Claude Code.

Wrote 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.

agentmods badge for cloudarmor-mcp CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/shigechika/cloudarmor-mcp/claude-md/github.svg)](https://agentmods.dev/instructions/shigechika/cloudarmor-mcp/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/shigechika/cloudarmor-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/shigechika/cloudarmor-mcp/claude-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.

agentmods 80×15 button for cloudarmor-mcp CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/shigechika/cloudarmor-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/shigechika/cloudarmor-mcp/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 2,256 This file is loaded in full into every session.
When invoked 2,256 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.02256 $0.02256
Opus 5.5 $0.00902 $0.00902
Sonnet 5.5 $0.00451 $0.00451
Haiku 4.5 $0.00226 $0.00226

Measured 20d ago against content hash 5a31ac697d76, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

cloudarmor-mcp CLAUDE.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 20d 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.

CLAUDE.md · 160 lines

How it starts

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

CLAUDE.md

Guidance for AI assistants (and humans) editing this repository.

This file covers how to work here: commands, layout, conventions, and the traps. Two sibling files carry the other halves and are not repeated here — .github/copilot-instructions.md explains why the invariants exist, and REVIEW.md decides what a reviewer treats as blocking.

What this repository is

An MCP server that reads Google Cloud Armor WAF deny logs out of Cloud Logging and reports them: per-rule counts, a home-region false-positive lens, and preview (dry-run) rule review. Built on the official MCP Python SDK (mcp.server.fastmcp), published to PyPI as cloudarmor-mcp.

Read-only by design. Every tool only reads Cloud Logging, and the service account is documented as holding roles/logging.viewer and nothing else. That is a security posture the deployment guide promises to operators, not just a feature boundary.

Commands

uv sync --dev                       # install, including pytest + ruff
uv run pytest                       # unit tests (no network, no GCP creds)
uv run ruff check .                 # lint    — gated in CI
uv run ruff format --check .        # format  — gated in CI (see the trap below)
uv run cloudarmor-mcp --check       # live health probe against a real project
uv run cloudarmor-mcp --brief       # render the daily brief to stdout
uv run python scripts/smoke_test.py # every tool against a real project

tests/ runs without network access or Google credentials: test_client.py covers filter construction and config parsing, test_server.py injects a fake log client. The live check is scripts/smoke_test.py, run on a schedule against a deployed instance — it is deliberately not part of the unit suite.

CLI exit codes (cloudarmor_mcp/__main__.py)

CLOUDARMOR_PROJECT is checked first, before either flag is handled, and exits 1 on its own. So:

Invocation 0 1 2
--version always — —
--check healthy CLOUDARMOR_PROJECT unset degraded (probe failed)
--brief every section rendered CLOUDARMOR_PROJECT unset, or any section's query failed —
deny-export exported Cloud Logging query failed, or the reader closed stdout usage/config error, including CLOUDARMOR_PROJECT unset, a client that cannot be created (credentials) and a day that has not ended
traffic-export exported as deny-export as deny-export, plus a --sample outside 0.000001–1

Read the full file on GitHub · 160 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. 20d ago Changed · +3 lines · +78 tokens per session 5a31ac697d76
  2. 28d ago Changed · -1 tokens per session dca7a0b7a53b
  3. 1mo ago Changed · +10 lines · +196 tokens per session db0c6ea01c43
  4. 1mo ago First seen · 147 lines · 1,983 tokens per session scan A fef8b7dcb6fa

Subscribe to this mod's changes

cloudarmor-mcp CLAUDE.md is an instructions file published in the GitHub repository shigechika/cloudarmor-mcp (0 stars, last pushed yesterday), licensed MIT. It adds 2,256 tokens to every session, about $0.0090 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.

Related

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).

microsoft/vscode · 9,715 tokens

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.

vercel/next.js · 7,461 tokens

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).

microsoft/vscode · 5,262 tokens

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.

langchain-ai/langchain · 4,680 tokens

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).

microsoft/vscode · 2,731 tokens

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.

denoland/deno · 3,077 tokens