Given file paths being edited, returns ALL Engrams entities (decisions, patterns, etc.) bound to those paths. This is the primary files→entities lookup for codebase-context bridging — call this when an agent opens or modifies files to discover relevant project knowledge. For the reverse direction...
AI agents call get_context_for_files to retrieve information from Engrams without modifying anything — typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
This tool queries and retrieves project metadata (decisions, patterns, rules) bound to file paths. It performs a read-only lookup operation without modifying, deleting, or executing anything. The 'Destructive' and 'Execute' categories do not apply.
From the tool's definition The tool description explicitly states it 'returns ALL Engrams entities' and 'provide exact file paths', with return type '{entities_by_type: {decisions: [...], patterns: [...]}, total_count: int}'.
Documented attack patterns abuse exactly the kind of access get_context_for_files gives an agent:
PolicyLayer is an MCP gateway — it sits between your AI agents and Engrams, and nothing reaches the server without passing your rules. This is the rule we recommend for get_context_for_files:
{
"version": "1",
"default": "deny",
"tools": {
"get_context_for_files": {}
}
} get_context_for_files is read-only, so it stays allowed — but everything else on the server is denied unless you say otherwise.
Free to start. No card required.
Given file paths being edited, returns ALL Engrams entities (decisions, patterns, etc.) bound to those paths. This is the primary files→entities lookup for codebase-context bridging — call this when an agent opens or modifies files to discover relevant project knowledge. For the reverse direction (entity→files), use get_bindings_for_item. Optionally filter by binding_type. Returns: {entities_by_type: {decisions: [...], patterns: [...]}, total_count: int}. Workflow (code binding query): Step 3b of 3 (files→entities direction) — provide exact file paths (not globs) as file_paths; the tool matches these against stored glob patterns. Call after bind_code_to_item has been run to create bindings. If results are empty, bindings may not exist yet (use suggest_bindings to propose them) or the glob patterns may not match (use verify_bindings to diagnose). It is categorised as a Read tool in the Engrams MCP Server, which means it retrieves data without modifying state.
Register the Engrams MCP server in PolicyLayer and add a rule for get_context_for_files: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Engrams. Nothing to install.
get_context_for_files is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the get_context_for_files rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for get_context_for_files. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
get_context_for_files is provided by the Engrams MCP server (stevebrownlee/engrams). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Start from Engrams, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.
Free to start. No card required.
42 Engrams tools catalogued and risk-classified — across an index of 43,000+ MCP servers.