技能潮 SkillTide 提交收录
官方说明7 个来源MCP 服务8 天前
edobusy/agenthold

edobusy/agenthold

Shared versioned state store with optimistic conc
在 GitHub 查看 ↗直链 · 无中转页
配置模板(请按你的客户端调整)
claude mcp add agenthold -- npx -y agenthold
这是根据仓库名生成的可粘贴骨架,命令行参数与包名请以该项目 README 为准。
★ 数取值
2 ★ · edobusy/agenthold · 取自该仓库的 GitHub 页面 · (2026-10-16 20:00:20 核对)
来源明细
收录自 punkpeye/awesome-mcp-servers 榜单(我们从中收集的条目之一) · 条目类型:MCP 服务
收录与活跃
收录于 2026-10-09 · 最近见到 2026-10-16 · 共见到 32 次 · 被 7 个来源列出
评分构成
综合分 703 · 2 ★ · 7 个来源 · mcp
常见问题(答案都来自我们的记录)
怎么安装?
我们【没有】从该仓库取到安装命令(我们的 install 覆盖率只有约 4%)。请看它的 README 或 releases 页。
它适合谁 / 用来做什么?
我们把它归在这些标签下: MCP 服务。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库 edobusy/agenthold;我们收录于 2026-10-09;最近见到 2026-10-16。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。
第三方质量标记

agenthold

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

**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.
---
The problem
When two agents update the same value at the same time, the second write silently overwrites the first. No exception is raised. The value is wrong. The system keeps running.
Two agents read a $10,000 budget and allocate from it independently. Total committed: $15,000. The budget object never complains. This is a **read-modify-write conflict**: each agent's write assumes nothing changed since its read.
---
How it works
agenthold solves this with **optimistic concurrency control (OCC)**, the same mechanism Postgres uses in UPDATE ... WHERE version = N and DynamoDB uses in conditional writes.
Every value stored in agenthold has a version number. When an agent writes, it passes the version it read. If the stored version has changed since the read, the write is **rejected** with a ConflictError that includes the current value. The agent re-reads, recalculates, and retries.
The losing agent detects the conflict, re-reads the real remaining budget ($2,000), and adjusts its allocation. The total committed is always exactly $10,000. Every write is tracked.
OCC is the right fit for agent workflows because:
- Agents do work between reads and writes (network calls, LLM inference). You cannot hold a database lock across that work.
- Conflicts are rare. Retrying once is cheaper than acquiring a lock on every read.
- The retry logic is simple, explicit, and fully in the agent's control.
---
Works with any agent framework
agenthold connects via MCP (Model Context Protocol), the open standard for tool integration. Any framework that speaks MCP can use agenthold with zero glue code.
| Framework | How to connect |
|---|---|
| **Claude Desktop / Claude Code** | Built-in: add to mcpServers config |
| **Cursor / Continue / Windsurf** | Built-in: add to MCP config |
| **LangChain / LangGraph** | langchain-mcp-adapters |
| **CrewAI** | Native mcps field on Agent |
| **OpenAI Agents SDK** | Built-in mcp_servers param |
| **Google ADK** | Built-in MCP Toolbox |
| **AutoGen** | autogen_ext.tools.mcp |
| **PydanticAI** | Native MCP integration |
agenthold is not a framework. It is **shared infrastructure** that sits underneath your orchestration layer, the same way a database sits underneath your application. Your agents keep their existing tools and logic; agenthold adds the coordination primitive they are missing.
> **Not using MCP yet?** agenthold also works as a Python library you can call directly from any framework. Import StateStore, call .get() and .set() with version checks, and you have conflict-safe shared state.
---
Architecture
Every write carries a version number. If the stored version has changed since an agent's read, the write is rejected and the agent retries with current data. This is the same mechanism used by Postgres conditional updates and DynamoDB conditional writes.
---
Quick start
1. Install
2. Add to your MCP client config
3. Done
Agents automatically coordinate. No CLAUDE.md, no system prompt changes, no namespace design.
When an agent connects, it sees five self-documenting tools: agenthold_register, agenthold_claim, agenthold_release, agenthold_status, and agenthold_wait. The tool descriptions tell the agent when and how to use each one. Server instructions reinforce the protocol when the MCP client includes them.
---
Resources
agenthold identifies resources by canonical URIs. Tools accept either form:
- **Bare path** (e.g. "src/main.py") — resolves against the workspace named default, or the only configured workspace if exactly one exists.
- **Explicit URI** — "file:// / " for files, "custom:// " for opaque resources.
Equivalent inputs (./src/main.py, src\main.py, src//main.py, an absolute path inside the workspace) all canonicalize to the same internal URI, so two agents using different shorthands never fragment the keyspace. Path traversal (..) and dot segments (.) are rejected at the boundary.
来源
awesome · https://github.com/edobusy/agenthold
按领域浏览
MCP 服务
Traction
2 ★
收录于
昨天

更多MCP 服务

查看MCP 服务全部 5,525 条 →

所属领域与标签

每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。

浏览全部领域 →

← 返回索引