
agenthold
Coordinates multi-agent workflows by giving agents shared state with version-controlled writes. Built on optimistic concurrency control: every value has a version number, and writes only succeed if the version matches what the agent last read. When two agents modify the same resource simultaneously, the second write fails with a ConflictError containing current state, forcing an explicit retry. Exposes five MCP tools: register an agent ID, claim exclusive access to a resource, release it with an outcome marker, check status, and wait for availability. Works with any MCP-capable framework (LangChain, CrewAI, AutoGen, Claude Desktop) or as a standalone Python library. Resources are identified by canonical URIs with automatic path normalization. Solves the silent read-modify-write problem where concurrent agent updates clobber each other without raising errors.
- GitHub stars
- 2
- tools
- 5
- transport
- STDIO
- last updated
- Jul 7, 2026
Tools
5 toolsPublic tool metadata for what this MCP can expose to an agent.
agenthold_registerRegister yourself and receive a unique agent ID. Must be called once before using `agenthold_claim` or `agenthold_release`.
Register yourself and receive a unique agent ID. Must be called once before using `agenthold_claim` or `agenthold_release`.
No parameter schema in public metadata yet.
agenthold_claimClaim exclusive access to a resource before modifying it. Requires a registered `agent_id`.
Claim exclusive access to a resource before modifying it. Requires a registered `agent_id`.
No parameter schema in public metadata yet.
agenthold_releaseRelease your claim with an explicit outcome describing what you did. The outcome is preserved in the free-state record and shown to the next claimant so they don't act on stale assumptions. Requires a registered `agent_id`.
Release your claim with an explicit outcome describing what you did. The outcome is preserved in the free-state record and shown to the next claimant so they don't act on stale assumptions. Requires a registered `agent_id`.
No parameter schema in public metadata yet.
agenthold_statusCheck whether a resource is available or currently claimed. Does not require registration.
Check whether a resource is available or currently claimed. Does not require registration.
No parameter schema in public metadata yet.
agenthold_waitWait for a claimed resource to become available. Blocks the agent turn until the holder releases, or the timeout expires.
Wait for a claimed resource to become available. Blocks the agent turn until the holder releases, or the timeout expires.
No parameter schema in public metadata yet.
Sponsors
Readme
agenthold
Stop your AI agents from silently overwriting each other.
When two agents update the same value, the second write quietly destroys the first. No error, no exception, just wrong data and a system that keeps running. agenthold is an MCP server that gives agents shared, versioned state with conflict detection built in. Think of it as git for your agents' working memory.
Details
- Repository
- github.com/edobusy/agenthold
- Website
- github.com/edobusy/agenthold#readme
- Category
- AI & LLM Tools
- Package
agenthold- Transport
- STDIO
- Registry
- MCP registry, active