install_precommit_guard
installprecommitguard(projectkey: str, coderepopath: str)
How to use it
Project documentation lists install_precommit_guard for the MCP Agent Mail MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), then check which tools your installed version makes available. Tool availability can depend on configuration and credentials. A server handshake does not verify this tool’s behavior. See the full listing for setup details.
FULL MCP AGENT MAIL LISTINGOther tools in MCP Agent Mail (26)
acknowledgemessage(projectkey: str, agentname: str, messageid: int, registrationtoken?: str)
createagentidentity(projectkey: str, program: str, model: str, namehint?: str, taskdescription?: str, attachmentspolicy?: str)
ensureproject(humankey: str)
fetchinbox(projectkey: str, agentname: str, limit?: int, urgentonly?: bool, includebodies?: bool, sincets?: str, topic?: str, unreadonly?: bool, registrationtoken?: str)
filereservationpaths(projectkey: str, agentname: str, paths: list[str], ttlseconds?: int, exclusive?: bool, reason?: str, registrationtoken?: str)
forcereleasefilereservation(projectkey: str, agentname: str, filereservationid: int, notifyprevious?: bool, note?: str, registrationtoken?: str)
healthcheck()
listcontacts(projectkey: str, agentname: str, registrationtoken?: str)
macrocontacthandshake(projectkey: str, requester
macrofilereservationcycle(projectkey: str, agentname: str, paths: list[str], ttlseconds?: int, exclusive?: bool, reason?: str, autorelease?: bool, registrationtoken?: str)
macropreparethread(projectkey: str, threadid: str, program: str, model: str, agentname?: str, registrationtoken?: str, taskdescription?: str, registerifmissing?: bool, includeexamples?: bool, inboxlimit?: int, includeinboxbodies?: bool, llmmode?: bool, llmmodel?: str)
macrostartsession(humankey: str, program: str, model: str, taskdescription?: str, agentname?: str, registrationtoken?: str, filereservationpaths?: list[str], filereservationreason?: str, filereservationttlseconds?: int, inboxlimit?: int)
markmessageread(projectkey: str, agentname: str, messageid: int, registrationtoken?: str)
registeragent(projectkey: str, program: str, model: str, name?: str, taskdescription?: str, attachmentspolicy?: str)
releasefilereservations(projectkey: str, agentname: str, paths?: list[str], filereservationids?: list[int], registrationtoken?: str)
renewfilereservations(projectkey: str, agentname: str, extendseconds?: int, paths?: list[str], filereservationids?: list[int], registrationtoken?: str)
replymessage(projectkey: str, messageid: int, sendername: str, bodymd: str, to?: list[str], cc?: list[str], bcc?: list[str], subjectprefix?: str, sendertoken?: str)
requestcontact(projectkey: str, fromagent: str, toagent: str, toproject?: str, reason?: str, ttlseconds?: int, registrationtoken?: str)
respondcontact(projectkey: str, toagent: str, fromagent: str, accept: bool, fromproject?: str, ttlseconds?: int, registrationtoken?: str)
searchmessages(projectkey: str, query: str, limit?: int, agentname?: str, registrationtoken?: str)
sendmessage(projectkey: str, sendername: str, to: list[str], subject: str, bodymd: str, cc?: list[str], bcc?: list[str], attachmentpaths?: list[str], convertimages?: bool, importance?: str, ackrequired?: bool, threadid?: str, autocontactifblocked?: bool, sendertoken?: str)
setcontactpolicy(projectkey: str, agentname: str, policy: str, registrationtoken?: str)
summarizethread(projectkey: str, threadid: str, includeexamples?: bool, llmmode?: bool, llmmodel?: str, perthreadlimit?: int, agentname?: str, registrationtoken?: str)
sweepstaleagents(projectkey: str, agentname: str, thresholdseconds?: int, requirenoactivereservations?: bool, registrationtoken?: str)
uninstallprecommitguard(coderepopath: str)
whois(projectkey: str, agentname: str, includerecentcommits?: bool, commitlimit?: int)