macro_contact_handshake
macrocontacthandshake(projectkey: str, requester
How to use it
macro_contact_handshake is exposed by the MCP Agent Mail MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the macro_contact_handshake tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.
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()
installprecommitguard(projectkey: str, coderepopath: str)
listcontacts(projectkey: str, agentname: str, registrationtoken?: str)
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)