vesper
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vesperclaim src/server.rs for the auth refactor"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
vesper
A small Rust workspace that lets multiple coding agents work on the same
codebase without a human relaying every message between them. Built and
tested across the vesper-core and vesper-registry crates.
Why it exists
When several agents share a workspace, three things go wrong repeatedly:
two agents edit the same file at the same time
an agent "remembers" a useful script/prompt/tool and the next agent has to rediscover it
a tool is shared before anyone has actually checked it works, so a broken tool spreads silently
vesper addresses each with a dedicated MCP server:
Problem | Server | Mechanism |
Clobbered files |
| file/task claims — exclusive, keyed by resource, not agent+resource |
Hand-off / coordination |
| per-agent inbox (direct message + broadcast) |
Tool re-discovery |
| versioned tool registry (append-only, never overwrites) |
Unverified tools spreading |
| multi-agent verification — needs N distinct verifiers; a single failure flags and hides |
Related MCP server: projscan
Workspace layout
.
├── Cargo.toml # workspace root = vesper-core
├── src/
│ ├── lib.rs # AgentId, Message, Claim, CoordinationState
│ ├── model_router.rs # ModelClient trait + HttpModelClient (Phase 5)
│ ├── python.rs # PyO3 bindings (feature-gated, Phase 7)
│ ├── main.rs # `vesper-core-demo` binary
│ └── bin/
│ └── vesper-core-server.rs # coordination server (rmcp Streamable HTTP)
├── tests/
│ └── end_to_end.rs # integration: claim → handoff → register → verify
└── vesper-registry/
├── Cargo.toml
├── src/
│ ├── lib.rs # Registry, ToolId, ToolVersion, VerificationState
│ └── main.rs # registry server (rmcp Streamable HTTP)
└── tests/
└── live_roundtrip.rs # real MCP-client round-tripCrates
vesper-core
The shared library. Defines:
AgentId,AgentStatus,Message,Claim,ClaimTargetCoordinationState— DashMap-backed shared store for claims, inboxes, and statuses. Cloning is cheap; the inner maps are wrapped inArc, so the same state can be shared across the coordination server, integration tests, and (optionally) the Python bindings.AgentState— single-process per-agent loop (Phase 1).model_router—ModelClienttrait plus anHttpModelClientthat talks to any OpenAI-compatible/chat/completionsendpoint. API keys resolve via asecrets://ENV_VARreference, never embedded in config.pythonmodule — PyO3 bindings, compiled only when thepython-bindingsfeature is on. A plaincargo build/cargo testnever needs a Python toolchain or links againstlibpython.
vesper-registry
A versioned, multi-agent-verified tool registry.
ToolId,ToolVersion(monotonic, never overwrites)VerificationState—Unverified→Verified(after N distinct verifiers) orFlagged(a flag hides it, but the(flagger, reason, when)record is contestable:unflagor enough distinct re-verifiers restores it)Registry—register,verify,flag,unflag,fork,unregister,list_tools,list_all_tools,get_tool,find_similar
Exposed as an MCP server on http://127.0.0.1:9899/mcp.
Servers (MCP Streamable HTTP)
Both servers use the official rmcp Streamable HTTP transport
(spec 2024-11-05), not a hand-rolled JSON-RPC. Stateless requests
share one Arc<CoordinationState> / Arc<Registry> captured by the
service factory.
Server | Port | Tools |
| 9898 |
|
| 9899 |
|
Build, test, run
Requires a recent stable Rust toolchain.
# Build & test the whole workspace
cargo build --workspace
cargo test --workspace
# Run the servers (separate terminals)
cargo run --bin vesper-core-server
cargo run --bin vesper-registry-serverOn Windows the dev workflow hits an Access denied if both server
binaries are still running while a rebuild tries to remove the .exe.
Stop the running server (or Stop-Process it) before cargo build.
Python bindings (optional)
vesper-core is also a cdylib with PyO3 bindings, packaged via
Maturin. Built and tested against a real Python venv — claim/release,
send_message, broadcast, inbox, drain_inbox, and status all work from
Python the same way the Rust tests say they should.
# Requires the python-bindings feature + a Python toolchain on PATH
maturin build --release
pip install <generated wheel>A plain cargo build / cargo test does not enable the feature
and does not need a Python toolchain.
Phases (status)
Phase | Content | Status |
1 | Single-agent loop, | done |
2 |
| done |
3 |
| done |
4 | (planned) | — |
5 |
| done |
6 | Convert both servers to rmcp Streamable HTTP | done |
7 | PyO3 bindings + Maturin wheel | done |
8 | Closed SDK (deliberately last) | pending |
The remaining gap before any of this is useful day-to-day is the
live wiring: actually pointing real agents at the running servers
as MCP clients and running a full claim → handoff → register → verify
cycle. That's what the live_roundtrip integration test exercises.
This server cannot be deployed
Maintenance
Related MCP Connectors
Shared control plane for AI coding agents — tasks, memory, decisions, file locks. 12 tools.
MCP-first toolbox for agents: KV storage, auth, queue, and utility tools. Free in early access.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
A registry of AI agent tools — MCP servers, APIs, CLIs, SDKs — kept current by automated ingestion.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA lightweight MCP server that enhances AI agents with tools for codebase analysis, task delegation to sub-agents, multi-agent coordination through chatrooms, and project todo management.-
- AlicenseNot gradedqualityAmaintenanceAn MCP server that provides AI coding agents with AST-accurate, context-budget-aware codebase querying, safety gates, and team policy integration via structured tools and a local plugin layer.65 npm4MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that enables AI coding agents to communicate, share state, and coordinate work in real time via MCP tools or REST API.44 npm8MIT
- AlicenseNot gradedqualityBmaintenanceA vendor-neutral MCP server that enables coding agents to delegate tasks, share context, and work as a team through a shared blackboard and task queue.339 npmMIT