Model Context Protocol

MCP for agents

Connect Cursor, Claude, or Inspector to LockL.ink. OAuth identifies the account; ciphertext stays opaque to our Worker.

Endpoint

https://lockl.ink/mcp

Streamable HTTP. Unauthenticated calls return 401 with protected-resource metadata.

Server-blind by design

LockLink never sees secret plaintext on MCP paths. Tools accept or return ciphertext only. Decrypt keys stay with the client — not on our Worker.

OAuth scopes

  • links:write

    Create one-time LockLink secret links from already-encrypted payloads

  • requests:write

    Start secret-request links that you finalize in the browser

  • requests:read

    List your secret requests and request one-time approved reveals

  • vault:read

    Fetch encrypted vault and request material for local decryption

Tools

ToolReturnsNote
set_encrypted_secret{ pathUrl }Client-encrypted payload only — encrypt via the locklink-mcp shim
create_secret_request{ setupId, setupUrl }Finalize ECDH keys in the browser vault
get_secret_request_linkpending | { requestUrl }Public /r/:requestKey when ready
list_secret_requestsmetadata[]No ciphertext or plaintext
request_secret{ pendingId, approvalUrl }Requires recipientPublicKey from the client
get_requested_secretpending | ECDH envelopeOne-time ciphertext — never plaintext

Local shim (required for link creation)

The hosted endpoint rejects anything that is not client-encrypted ciphertext. Run the local shim — it encrypts set_encrypted_secret payloads before they leave your machine. The first tool call opens a browser for LockLink sign-in; no configuration is needed.

{
  "mcpServers": {
    "locklink": {
      "command": "npx",
      "args": ["-y", "locklink-mcp@latest"]
    }
  }
}