hass-mcp-server AGENTS.md

hass-mcp-server AGENTS.md is an instructions file for Codex, OpenCode from ganhammar/hass-mcp-server. It costs 863 tokens per session, scanned A, original, MIT.

Project-specific instructions for developing the Home Assistant MCP server integration. Home Assistant is software for controlling smart-home devices and services.

In plain words
What is it for?
Use them when changing integrations, calling Home Assistant entities or services, or replacing private internal calls with supported service calls.
Why use it?
They explain which Home Assistant interfaces are stable and which internal calls may break, helping avoid incompatible changes.

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/ganhammar/hass-mcp-server/agents-md
Clone the repo
git clone --depth 1 https://github.com/ganhammar/hass-mcp-server

Made for: Codex, OpenCode.

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 hass-mcp-server AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/ganhammar/hass-mcp-server/agents-md.svg)](https://agentmods.dev/instructions/ganhammar/hass-mcp-server/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/ganhammar/hass-mcp-server/agents-md"><img src="https://agentmods.dev/badge/instructions/ganhammar/hass-mcp-server/agents-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 863 This file is loaded in full into every session.
When invoked 863 The same file — it is already loaded in full.
Security scan A 0 findings. 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.00863 $0.00863
Opus 5 $0.00432 $0.00432
Sonnet 5 $0.00173 $0.00173
Haiku 4.5 $0.00086 $0.00086

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

Security

Grade A, and why

hass-mcp-server 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 yesterday.

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.

AGENTS.md · 72 lines

How it starts

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

Working on this integration

Calling into Home Assistant

Tools live in custom_components/mcp_server_http_transport/tools/. Most reach into Home Assistant, and not every reach carries the same risk. Three categories, and they are easy to confuse because they all look like homeassistant.components.*:

  1. Entity platform contracts. Methods declared on an entity base class that every integration on that platform implements: CalendarEntity.async_get_events, async_turn_on, and so on. Safe to call. Home Assistant's own services and REST views are thin wrappers over them.
  2. Cross-integration internals. Module-level functions imported out of another integration, such as recorder.statistics.statistics_during_period. No compatibility promise, no deprecation cycle. Prefer a service call.
  3. hass.data[DATA_*] lookups. Unsupported, and usually the only way to resolve an entity object. Guard for the component being absent.

Before replacing a private call with a service

Read the handler in core to the end. Three things have to hold, and each has bitten this repo:

The fields. Services routinely return less than the method they wrap. calendar.get_events filters events through LIST_EVENT_FIELDS and drops uid, rrule and recurrence_id, which the calendar tools need, so it is not a substitute for async_get_events.

The response shape. A plain service returns whatever its handler returns, which is often an envelope rather than the payload. recorder.get_statistics returns {"statistics": {statistic_id: [rows]}}, not rows keyed by ID. Entity services are the ones keyed by entity ID, and that keying is added by the helper, not the handler. Getting this wrong fails silently: the lookup misses and the tool reports no data rather than an error.

The version it landed in. A service is only supported API on versions that have it. recorder.get_statistics arrived in 2025.6 and raises ServiceNotFound on anything older. Check the oldest HA in the CI matrix in .github/workflows/main.yml before assuming a service is reachable.

Read the full file on GitHub · 72 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. yesterday Changed · +16 lines · +227 tokens per session d4b78ce66f21
  2. 5d ago First seen · 56 lines · 636 tokens per session scan A 1ce697ddeee7

Subscribe to this mod's changes

hass-mcp-server AGENTS.md is an instructions file published in the GitHub repository ganhammar/hass-mcp-server (69 stars, last pushed today), licensed MIT. It adds 863 tokens to every session, about $0.0043 per session on Opus 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-30.