Shared drive for your agents and teammates.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Layven is a shared drive your agents mount over MCP. Every write is versioned, every action is attributed to the agent that made it, and anything can be rolled back.
One config block, no agent code changes. Hosted at https://api.layven.io/mcp.
Documents Layven MCP server 1.0.2.
The point of the product shows up on the second connection. Create a second token, connect a different tool with it, and have that tool read the file the first one just wrote. Both agents see the same drive, and the activity feed says which one did what. Walkthrough: examples/two-agent-handoff.md.
Paste https://api.layven.io/mcp and authenticate with OAuth. That UI has no custom-header field, which is why OAuth exists.
Same as Claude.ai: paste https://api.layven.io/mcp and authenticate with OAuth.
~/.cursor/mcp.json)~/.codex/config.toml)~/.gemini/settings.json)Same JSON as Cursor, but the key is httpUrl instead of url, because Gemini reads url as an SSE endpoint.
There are two ways in, and both resolve to the same token record, so permissions, revocation and the audit trail are identical either way.
Static bearer token. Send Authorization: Bearer agd_... on every request. Create it in the console; the secret is shown once.
OAuth 2.1, for clients whose UI has no custom-header field:
| Authorization server | https://api.layven.io |
| Protected resource metadata | https://api.layven.io/.well-known/oauth-protected-resource/mcp |
| Resource | https://api.layven.io/mcp |
| Dynamic client registration | Supported |
| Client secret expiry | Does not expire |
Consent mints an ordinary token, which you can see and revoke in the console like any other.
POST https://api.layven.io/mcp, Streamable HTTP, stateless.Content-Type: application/json and Accept: application/json, text/event-stream. Both media types must be present in Accept or the server returns 406.Content-Type: text/event-stream.MCP-Protocol-Version is optional. If present it must be one of 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07, otherwise the server returns HTTP 400.tools only. No resources, no prompts.initialize: name Layven, version 1.0.2, website https://layven.io.Every tool takes an optional workspace, the workspace slug. A token granted exactly one workspace may omit it. list with no workspace fans out over every workspace the token can reach.
| Tool | Access | Does | Key arguments |
|---|---|---|---|
list | ro | List a folder, or find files by path substring | path, recursive, q, limit |
read | ro | Read a file at the current or an older version | path, version |
grep | ro | Search file contents with an RE2 pattern | pattern, prefix, context_lines, max_matches |
history | ro | List one file's versions, newest first | path, limit, cursor |
activity | ro | List what changed and which agent changed it | since, path_prefix, limit |
write | rw | Create or replace a file with inline content | path, content, encoding, expected_version |
edit | rw | Apply string replacements to an existing text file | path, edits, expected_version |
move | rw | Move or rename a file | from, to, overwrite |
delete | rw | Tombstone a file, recoverable with restore | path, expected_version |
restore | rw | Restore a file to a version, or a folder to a timestamp | path + to_version, or prefix + at |
lock | rw | Take a 5-minute advisory lock on a path | path |
unlock | rw | Release a lock this token holds | path |
request_upload | rw | Start a large-file upload, returns a presigned PUT URL | path, size, expected_version |
finalize_upload | rw | Commit an uploaded file as a new version | upload_id |
Only delete is annotated destructive, and it writes a tombstone version that restore brings back. write, delete, lock and unlock are annotated idempotent; edit, move, restore, request_upload and finalize_upload are not. No tool reaches outside Layven.
NOT_FOUND (unresolvable workspace), PERMISSION_DENIED, RATE_LIMITED and INTERNAL can come back from any tool, so the Errors line under each tool below names what is specific to that tool.
listList a folder, or search every granted workspace for paths matching a substring.
Arguments
Returns
type is "file" or "folder". size, version, modified_at, modified_by_label, by_actor and deleted are optional per entry.
Errors: INVALID_PATH.
Notes
results is always an array of per-workspace blocks, even when the token is granted exactly one workspace. Do not write a client that expects a bare entries array.cursor while fanning out returns INVALID_PATH with reason: "cursor_requires_workspace". Pin the workspace before you paginate.readRead a file, either the current version or an older one.
Arguments
Returns, inline, when the raw size is 262144 bytes or less and the mime type is text:
Returns, for anything larger or binary:
Errors: NOT_FOUND (with deleted: true and last_version when the path is tombstoned), INVALID_PATH.
Notes
download_url valid for 15 minutes instead of inline content. Handle both shapes.grepSearch file contents with a regular expression.
Arguments
Returns
Errors: INVALID_PATTERN, INVALID_PATH.
Notes
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/layven-2)<a href="https://allmcps.com/mcp/layven-2"><img src="https://allmcps.com/api/badge/layven-2?style=directory" alt="Layven on AllMCPs" /></a>