agentmako
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATABASE_URL | No | Postgres/Supabase connection string for database awareness. Used with agentmako connect --db-env DATABASE_URL. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| task_preflight_artifactA | Artifact tool for start-of-work preparation: compose implementation brief, verification plan, change plan, and flow map into one typed preflight artifact. Basis is stable — identical inputs produce the same artifactId, so callers may dedupe on it. |
| implementation_handoff_artifactB | Artifact tool for reusable implementation handoff: compose one implementation brief and the current session handoff into a typed handoff artifact. Basis is session-scoped — session_handoff shifts with every tool call, so artifactId moves between calls by design (each call captures the current session state). Do not dedupe on artifactId. |
| review_bundle_artifactC | Artifact tool for reviewer-facing change inspection: compose implementation brief, change plan, optional flow map, and optional tenant audit into one typed review bundle. Basis is stable — identical inputs produce the same artifactId, so callers may dedupe on it. |
| verification_bundle_artifactA | Artifact tool for safe completion and verification: compose verification plan, project-intelligence signals, and optional tenant audit into one typed verification bundle. Basis is stable by default; artifactId shifts across calls only when |
| suggestB | Workflow tool for tool-chain recommendations: choose one canonical workflow or a short ordered sequence without executing hidden planner logic. |
| investigateA | Workflow tool for bounded read-only investigation: run a short sequential tool chain over shipped workflows and return typed step history. |
| graph_neighborsA | Graph tool for adjacency questions: traverse outward from one or more start entities with explicit direction, depth, and edge filters. |
| graph_pathA | Graph tool for connection questions: find one shortest typed path between two entities while keeping heuristic edges explicit and opt-in. |
| flow_mapA | Graph tool for end-to-end flow questions: turn one graph path into ordered flow steps, transitions, and major boundary crossings. |
| change_planC | Graph tool for bounded change scope: return path-derived direct surfaces, one-hop dependent surfaces, and an explicit dependency order. |
| tenant_leak_auditB | Operator tool for tenant-boundary review: audit tenant-keyed tables, RLS posture, and RPC/code touch points without making generic security-score claims. |
| session_handoffC | Operator tool for derived project-state handoff: summarize recent answer traces, active unresolved focus, and recorded follow-up momentum. |
| recall_answersA | Read-only session-recall tool: search prior project answer traces by text, query kind, support level, trust state, and ISO time window. Returns bounded answer summaries, pre-cap matchCount, truncation signal, and optional stored answer markdown. Does not run the answer loop or infer freshness. |
| recall_tool_runsA | Read-only session-recall tool: inspect prior project tool_runs by tool name, outcome, request id, and ISO time window. Returns bounded summaries with runId plus requestId when available; use requestId as agent_feedback.referencedRequestId. Default limit is 50, max 500. Persisted payloads are only included when includePayload is true. |
| table_neighborhoodA | Neighborhood composer for one table: combines db_table_schema/db_rls-equivalent schema snapshot data, schema_usage read/write sites, trace_table RPC-to-table edges, and route_trace handler routes into one bounded typed bundle. |
| route_contextA | Neighborhood composer for one route: combines route_trace route resolution, file_health handler summary, imports_deps direct imports/dependents, schema_usage touches, trace_rpc downstream table edges, and db_rls policy surfaces. |
| rpc_neighborhoodB | Neighborhood composer for one RPC: combines db_rpc-equivalent schema snapshot signature/body, schema_usage app-code callers, trace_rpc function-to-table refs, and db_rls policies on touched tables into one bounded bundle. |
| agent_feedbackA | Append-only feedback tool for rating a prior Mako tool run from the agent perspective. Use sparingly when a result was notably good, notably bad, or wrong; do not emit routine feedback after every call. Requires referencedToolName and referencedRequestId so each row is tied to a specific prior run. Grade semantics: full = helped complete the task, partial = somewhat useful but flawed, no = wrong or wasted the turn. Starter reason codes: full: answer_complete, evidence_sufficient, trust_matches; partial: partial_coverage, noisy, stale_evidence, missing_known_caller, top_not_useful; no: answer_wrong, wasted_turn, tool_did_nothing, schema_missing. |
| agent_feedback_reportA | Read-only inspection over agent_feedback rows in mako_usefulness_events: return grade counts by referenced tool plus bounded recent entries, filterable by referencedToolName, grade, and ISO time window. Use to review which tools agents found helpful, noisy, wrong, or incomplete. |
| health_trendA | Operator tool for project-state trend review: compare a recent trace window against a prior window without fabricating trend lines when history is thin. |
| issues_nextC | Operator tool for queue-oriented recommendations: derive one current issue plus queued follow-on issues from recent unresolved project traces. |
| route_traceB | Answer tool for route questions: trace a route to the indexed handler, matching files, and nearby evidence. |
| schema_usageA | Answer tool for schema questions: find where an indexed schema object is defined and directly referenced in app code. RPC-mediated touches are intentionally excluded; use trace_rpc, route_context, table_neighborhood, or flow_map for transitive schema paths. |
| file_healthC | Answer tool for file questions: summarize a file's role, dependents, and notable risks with evidence. |
| auth_pathA | Answer tool for auth questions: trace likely auth boundaries for a route, file, or feature without overclaiming. When no exact route/file/feature match exists, returns matched:false with suggestedNext:{ tool:"cross_search", args:{...} } instead of throwing, so batches and agent workflows can continue. |
| imports_depsA | Imports tool for direct dependencies: list a file's indexed imports and flag unresolved internal edges. |
| imports_impactC | Imports tool for downstream impact: trace which indexed files depend on a file through the import graph. |
| imports_hotspotsB | Imports tool for graph hotspots: rank the most connected files in the indexed internal import graph. |
| imports_cyclesB | Imports tool for cycle detection: detect circular dependencies in the indexed internal import graph. |
| symbols_ofB | Symbols tool for declarations: list the indexed symbols declared in a file. |
| exports_ofB | Symbols tool for exports: list only the indexed symbols that a file exports. |
| mako_helpA | Orientation tool for coding agents: given a natural-language task, return the recommended Mako workflow recipe as an ordered tool sequence with pre-filled suggestedArgs, batchable follow-ups, and notes. Use before reading long AGENTS/CLAUDE docs when deciding whether to start with context_packet, cross_search, file_preflight, lint_files, verification_state, or DB/Reef tools. Read-only and does not execute the returned steps. |
| askA | Router tool: map one natural-language engineering question to one canonical named tool, or conservatively fall back to free_form. |
| workflow_packetC | Workflow tool: generate a typed workflow packet from a project-scoped query answer and expose watch/surface metadata. |
| ast_find_patternA | Code-intelligence tool for structural pattern search: run one ast-grep pattern against every fresh indexed TypeScript / TSX / JavaScript / JSX file and return typed matches (file, line range, column range, matched text, captured metavariables). Ambiguous TSX/JSX snippets that start with |
| live_text_searchA | Code-intelligence tool for live filesystem text search: run ripgrep over the attached project root and return bounded file/line matches. Defaults to fixed-string matching; pass fixedStrings: false to use ripgrep regex syntax. Read-only and explicitly live, so use it when the indexed snapshot may be stale or when exact text search is the right primitive. |
| lint_filesC | Code-intelligence tool for diagnostics on an indexed file set: run rule-packs, including canonicalHelper producer/consumer checks, plus TS-aware and structural alignment diagnostics; persist indexed Reef findings/run metadata under source |
| typescript_diagnosticsA | Explicit Reef ingestion tool for semantic TypeScript compiler diagnostics: read tsconfig, run the TypeScript program with no emit, persist working-tree ProjectFinding rows under source |
| eslint_diagnosticsA | Explicit Reef ingestion tool for ESLint diagnostics: run the project's local ESLint executable on the requested project-relative files with JSON output, persist working-tree ProjectFinding rows under source |
| oxlint_diagnosticsA | Explicit Reef ingestion tool for Oxlint diagnostics: run the project's local Oxlint executable or JSON package script on requested project-relative files with |
| biome_diagnosticsA | Explicit Reef ingestion tool for Biome diagnostics: run the project's local Biome executable or GitLab-reporter package script on requested project-relative files with |
| git_precommit_checkA | Git pre-commit guard for staged TS/TSX files: reads staged blobs, checks API route auth guards and Next.js server/client boundary mistakes, persists staged Reef findings unless MAKO_REEF_BACKED disables the migration, and returns hook-friendly continue/stopReason output. Uses discovered project-profile auth guards/server-only modules plus optional .mako/git-guard.json/input allowlists. Never edits the index or worktree. |
| diagnostic_refreshA | Explicit Reef diagnostic ingestion runner: invoke selected diagnostic sources (lint_files, programmatic_findings, typescript_syntax, TypeScript, ESLint, Oxlint, Biome, or git_precommit_check), persist their Reef diagnostic runs/findings through the underlying tools, and return a compact per-source summary. File-mode sources are skipped unless files are supplied; this is a mutation tool because it refreshes Reef state. |
| db_reef_refreshA | Explicit Reef DB ingestion tool: replace indexed Reef facts for the current schema snapshot, including schemas, tables, columns, indexes, foreign keys, RLS policies, triggers, enums, RPCs, RPC-to-table refs, and indexed schema usages. Uses the existing schema snapshot/read-model indexes; run project_index_refresh first if the snapshot is stale or missing. |
| db_review_commentA | Append-only DB review note tool: leave a short AI/operator comment on a database object such as a table, column, policy, trigger, publication, replication slot, or general replication topic. Writes only to Mako's local project store; it never mutates the live database. |
| db_review_commentsA | Read DB review comments from Mako's local append-only ledger, filterable by database object, category, tag, free-text query, or target fingerprint. Use during schema/table/RLS/replication review to recover prior AI/operator notes. |
| repo_mapA | Code-intelligence tool for repo orientation: emit a token-budgeted aider-style outline of the indexed project (ranked files + key symbols) as first-turn context for agents meeting an unfamiliar codebase. Ranking approximates centrality via |
| context_packetA | Context scout for coding agents: turn a messy request into ranked, source-labeled, readable context using deterministic providers first (files, routes, symbols, schema, import graph, centrality, hot hints). Reef-backed enrichments add working-tree overlay metadata and active findings; use risksMinConfidence to suppress low-confidence risk speculation. Set MAKO_REEF_BACKED=legacy for the one-release rollback path. Read-only; does not refresh the index. Use as the first-mile packet before normal harness read/search/edit loops. |
| tool_batchA | Read-only batching wrapper for independent Mako lookups. The input schema only accepts batchable read-only tools; runtime also rejects mutation tools and recursive tool_batch calls defensively. Returns labeled sub-results with per-op duration. Use |
| project_index_statusA | Project tool for index freshness: compare indexed file rows against live disk metadata, report Reef working-tree fact freshness, watch state, latest index run, unindexedScan status, and a suggested next action. By default this checks indexed rows only and reports that the new-file scan was skipped; pass includeUnindexed: true to pay the repo walk cost and get an exact count/details for files not yet in the index. Trust/stability is not freshness; this tool answers whether the index snapshot is current. |
| project_index_refreshA | Mutation tool for index freshness: run the project indexer through the current project-store cache when the snapshot is stale, unknown, deleted, or has unindexed files, then return before/after freshness summaries and the new index run. In if_stale mode, unknown freshness refreshes defensively and unindexed files count as stale work. |
| runtime_telemetry_reportA | Read-only inspection over mako_usefulness_events (Phase 8.1): return aggregate counts (by decisionKind, by family, by grade) and a bounded list of recent events, filterable by decisionKind, family, requestId, and ISO time window. Use to verify usefulness capture is flowing or to triage why a decision site emitted the grade it did. Never writes to the event table. |
| finding_ackA | Mutation tool for verified-safe markers: append one row to the finding_acks ledger so subsequent ast_find_pattern / lint_files callers that opt into the same category filter the match out. Category is caller-owned (for lint findings, finding.code is the recommended default). For ast_find_pattern matches, pass |
| finding_ack_batchA | Mutation batch for reviewed finding acknowledgements: append many finding_acks rows in one call while sharing batch-level defaults for category, subjectKind, status, reason, acknowledgedBy, sourceToolName, and sourceRuleId. Use when a scan returns many reviewed false positives or accepted tradeoffs. Emits one finding_ack telemetry event per successful row. |
| finding_acks_reportA | Read-only inspection over the finding_acks ledger: return aggregate counts (by category, status, subjectKind, filePath) and a bounded reverse-chronological list of acks, filterable by category, subjectKind, filePath, status, and ISO time window. Use to see what operators have suppressed and which categories carry the most weight. Never writes to the ledger. |
| project_findingsA | Reef read tool for active project findings: query the durable Reef findings view by overlay, source, status, and resolved inclusion. The source filter accepts a producer source, bare rule ID, or rule_pack:. Acknowledged status is derived from the existing finding_ack ledger, so this is the canonical read path for Reef-native lint/rule findings. |
| file_findingsA | Reef read tool for one project-relative file: return durable Reef findings attached to that file, with the same overlay/source/status filters as project_findings, including source aliases for bare rule IDs and rule_pack:. Use this before editing a file when a shell or agent needs known active diagnostics without rerunning broad lint. |
| file_preflightA | Reef pre-edit composer for one file: returns durable findings, file-scoped diagnostic freshness, source-filtered recent runs, watcher diagnostic state, applicable conventions, and finding acknowledgement history in one read-only packet. Use before editing a file when an agent needs the operational gate without separate file_findings, verification_state, project_conventions, and finding_acks_report calls. |
| project_factsA | Reef read tool for durable project facts: query facts by overlay, source, kind, and subject fingerprint. Use this when an agent or shell needs the calculated substrate behind findings without rerunning analysis. |
| file_factsA | Reef read tool for one file's durable facts: computes the file subject fingerprint and returns facts such as working_tree_overlay file_snapshot rows. Use this to inspect what Reef currently knows about a file across overlays. |
| working_tree_overlayB | Advisory Reef mutation: snapshot working-tree file facts for explicit files, watcher-dirty paths, or non-fresh indexed paths. Persists file_snapshot facts with size, mtime, line count, sha256, or deleted state; it does not reparse AST, imports, routes, or schema. |
| reef_overlay_diffA | Reef read tool for overlay comparison: diff durable facts between two overlays, defaulting indexed vs working_tree, with optional filePath/kind/source filters. Use after working_tree_overlay or before edits to see exactly what Reef believes changed without rerunning diagnostics. |
| reef_diff_impactA | Reef mid-edit impact composer: for changed working-tree files, return affected import callers, active caller findings that may need re-checking, and conventions the diff or impacted callers may violate. Reads existing working_tree_overlay facts and import graph state; it does not refresh or mutate Reef. |
| reef_instructionsA | Reef read tool for scoped project instructions: load .mako/instructions.md and applicable AGENTS.md files for requested project-relative files, returning structured instruction items plus derived Reef fact shapes. Reads only inside the project root and does not persist facts. |
| list_reef_rulesA | Reef read tool for rule metadata: list durable rule descriptors, optionally filtered by source namespace or enabled-by-default status. Descriptors explain which facts a finding source consumes and what rule ids mean. |
| rule_pack_validateA | Read-only Reef rule-pack authoring tool: validate .mako/rules YAML packs, including canonicalHelper cross-file declarations; return pack/rule counts, schema errors, and optional ReefRuleDescriptor previews without running diagnostics or writing Reef state. |
| extract_rule_templateA | Read-only Reef rule-pack mining tool: inspect a local git fix diff and propose .mako/rules YAML templates from removed TS/JS anti-pattern shapes, with related durable findings when available. Does not write files or mutate Reef state. |
| project_diagnostic_runsA | Reef read tool for diagnostic source runs: list recent lint/type adapter runs by source and status, including unavailable/error/succeeded state, duration, counts, command, config, cwd, metadata, and derived cache freshness/age. Use this to distinguish no findings from a diagnostic source that did not run or ran too long ago. |
| reef_scoutA | Reef 7 model-facing scout view: turn a messy request into intent-weighted, explainable candidates from durable Reef facts, findings, rules, and diagnostic runs. App-flow queries prefer files/routes/findings; RLS/schema queries prefer database evidence. This is a context scout, not an editing agent; use normal harness read/search after the packet. |
| reef_inspectA | Reef 7 inspection view: explain one file or subject fingerprint by returning its durable facts, findings, and relevant diagnostic runs. Use after reef_scout when the model needs the evidence trail and freshness details before editing. |
| reef_where_usedA | Reef maintained structural query: answer where a symbol, component, route, file, or indexed pattern is defined and used from maintained symbols/imports/routes first, then supplement symbol/component answers with indexed identifier-text references and related durable findings. Does not run grep; coverage explains import-graph/text/finding limits and returns fallback tool args when maintained state has no answer. |
| project_open_loopsA | Reef 8 open-loop view: list unresolved active findings, stale or unknown facts, and stale or failed diagnostic runs so an agent can see what still needs attention without rerunning broad checks. |
| verification_stateA | Reef 8 verification state view: summarize whether cached diagnostic runs still cover the current working-tree overlay, including file-scoped recent runs, watcher diagnostic state, files modified after successful checks, and suggested verification actions. With files, runs only count when project-wide or scoped to those files. |
| project_conventionsB | Reef 9 convention view: surface explicit convention facts plus profile/index/rule-derived convention candidates such as auth guards, runtime boundaries, generated paths, route patterns, and schema usage conventions. |
| rule_memoryA | Reef 9 rule-memory view: aggregate Reef rule descriptors and finding history so agents can see which rules are active, acknowledged, resolved, or suppressed before making changes. |
| evidence_confidenceC | Reef 10 evidence-confidence view: label facts and findings as verified_live, fresh_indexed, stale_indexed, fuzzy_semantic, historical, contradicted, or unknown so model-facing tools can prefer trustworthy evidence. |
| evidence_conflictsA | Reef 10 conflict view: surface stale indexed evidence, explicit conflict facts, and findings that report incorrect or contradictory evidence, with suggested cross-check actions. |
| reef_known_issuesC | Reef warm issue query: answer "have any errors?" from maintained Reef findings and diagnostic readiness state without launching broad lint or typecheck commands. |
| reef_agent_statusA | Reef agent-loop status summary: report maintained known issues, changed files needing verification, stale diagnostic sources, schema freshness, watcher degradation, and background queue state. Never edits files. |
| db_pingA | Read-only database tool: verify connectivity and surface platform, version, schemas, and transaction state. |
| db_columnsB | Read-only database tool for column questions: inspect only columns and primary-key details for a table via pg_catalog. |
| db_fkA | Read-only database tool for relationship questions: inspect inbound and outbound foreign-key references for a table via pg_catalog. |
| db_rlsA | Read-only database tool for security questions: inspect row-level security state and policies for a table via pg_catalog. |
| db_rpcA | Read-only database tool for function questions: inspect one stored procedure or function signature, args, return shape, language, and security. |
| db_table_schemaA | Read-only database tool for full table shape: inspect columns, indexes, constraints, foreign keys, RLS, and triggers. |
| trace_fileA | Trace a file end-to-end from the snapshot: declared symbols, outbound imports, inbound dependents, routes contributed, and related evidence. Read-only. |
| preflight_tableB | Return the full preflight surface for a table: columns, primary key, indexes, foreign keys, RLS state + policies, triggers, related routes, and zod schemas whose surrounding file references the table. Snapshot-strict. |
| cross_searchA | Search a term across code chunks, schema objects, RPC/trigger bodies, routes, and stored memories in one call. Returns grouped indexed evidence with freshness details per source. Snapshot-strict; use live_text_search when you need a live disk fallback for recently edited or unindexed files. |
| trace_edgeA | Trace a handler / edge function: its own route, app-code callers (ast-grep on fetch('/functions/v1/$NAME') and supabase.functions.invoke('$NAME')), tables and RPCs the handler touches, and DB triggers whose body references the name. Snapshot-strict. |
| trace_errorA | Trace an error term across throw sites (ast-grep |
| trace_tableA | Trace a table end-to-end: columns, indexes, foreign keys, RLS, triggers (via getSchemaTableSnapshot), schema-scoped RPC → table edges (via listFunctionTableRefs), and app-code .from('$TABLE') call sites (FTS-retrieval + ast-grep proof). Snapshot-strict. |
| trace_rpcA | Trace an RPC end-to-end: the RPC definition (searchSchemaObjects filtered to rpc), other PL/pgSQL bodies whose body text references it (searchSchemaBodies), overload-aware table refs (listFunctionTableRefs), and app-code .rpc('$FN') call sites (FTS-retrieval + ast-grep proof). Snapshot-strict. |
| tool_searchA | Search the MCP-visible tool catalog, including deferred and blocked tools. Use when you are unsure which tool fits a task or why a tool is unavailable over MCP. |
| file_writeA | Create or overwrite a file at a project-relative path. Returns a snapshot id for undo. |
| file_editA | Replace a substring in an existing file. The substring must occur exactly once unless replaceAll is true. |
| create_fileA | Create a new file at a project-relative path. Errors if the file already exists; use file_write to overwrite. |
| delete_fileA | Delete a file at a project-relative path. Snapshot captures the bytes for undo. |
| apply_patchA | Apply a multi-file unified diff. Hunks must apply cleanly with exact context. |
| shell_runA | Run a shell command with arguments as a list (never concatenated). cwd is locked to the project root or a subdirectory; env keys must be allowlisted. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/drhalto/agentmako'
If you have feedback or need assistance with the MCP directory API, please join our Discord server