Product

Product overview Agents Automations Code (Beta) Integrations Governed Runtime Security

Apps

Windows app Android app Inside other AI apps

Solutions

Finance Sales Operations People and HR Marketing Enterprise

Resources

Pricing Docs Academy AI governance Blog Compare Support
Book a demo Sign in
Docs / Connect / MCP

Renly and MCP

Renly works with the Model Context Protocol in both directions. As an MCP server, it lets Claude.ai, ChatGPT, Claude Code, Cursor, VS Code and other MCP clients use your Renly agents and automations. As an MCP client, it lets your Renly agents use tools from MCP servers your admins connect, with approval by default.

At a glance. Server URL: https://renly.ai/api/mcp-server. Transport: Streamable HTTP. Protocol 2025-06-18 (also negotiates 2025-03-26 and 2024-11-05). Auth: sign in to Renly (OAuth 2.1), or an agent access key with the mcp scope sent as Authorization: Bearer rk_live_....

Claude.ai and ChatGPT: sign in

Add a custom connector with the server URL https://renly.ai/api/mcp-server. When the app asks you to connect, it opens Renly: sign in, choose the organization (and, if you like, only some of your agents), check the address you will be sent back to, and choose Allow. No key is needed.

The connection appears under Connected apps on the Agent access page, where you can disconnect it at any time.

Before you start with a key

In Renly, open the user menu and choose Agent access. Under New key, name the key after the tool that will use it, tick MCP, optionally limit it to certain agents, pick an expiry and choose Create key. Copy the key when it appears: it is shown only once. Details on the agent access keys page.

The key acts as you. Keep it out of files you commit to source control: use your client's secret prompt or an environment variable, as in the examples below.

Claude Code

Sign in, with no key:

claude mcp add --transport http renly https://renly.ai/api/mcp-server

Then run /mcp in Claude Code, choose renly and authenticate in the browser window that opens. Or use a key instead:

claude mcp add --transport http renly https://renly.ai/api/mcp-server \
  --header "Authorization: Bearer rk_live_..."

Add --scope user to make Renly available in every project on your machine. Check the connection with claude mcp get renly, then ask Claude to "list my Renly agents".

"already exists"? Claude Code keeps one entry per name. If you added renly before (for example with the placeholder key), run claude mcp remove renly, then add it again. After you create a key, the Agent access page shows this command with your key already filled in.

Cursor

Add Renly to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json in a project. Cursor fills ${env:NAME} from your environment, so the key can stay out of the file:

{
  "mcpServers": {
    "renly": {
      "url": "https://renly.ai/api/mcp-server",
      "headers": {
        "Authorization": "Bearer ${env:RENLY_ACCESS_KEY}"
      }
    }
  }
}

VS Code

Create .vscode/mcp.json in your workspace. The inputs entry makes VS Code prompt for the key once and store it securely:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "renly-key",
      "description": "Renly agent access key",
      "password": true
    }
  ],
  "servers": {
    "renly": {
      "type": "http",
      "url": "https://renly.ai/api/mcp-server",
      "headers": {
        "Authorization": "Bearer ${input:renly-key}"
      }
    }
  }
}

Other clients

Any MCP client that supports remote Streamable HTTP servers can connect, either by signing in or by sending a key in the Authorization header. For client developers, Renly follows the MCP authorization specification:

  • An unauthenticated request gets 401 with WWW-Authenticate: Bearer resource_metadata="https://renly.ai/.well-known/oauth-protected-resource/api/mcp-server", scope="mcp".
  • Authorization server metadata is at https://renly.ai/.well-known/oauth-authorization-server. Clients register with a Client ID Metadata Document (an HTTPS client_id) or dynamic client registration at /api/oauth/register.
  • Authorization code flow with PKCE (S256 only) and the resource parameter. Access tokens last one hour; refresh tokens rotate on every use, and reusing an old one ends the connection.
  • Redirect URIs must be HTTPS, http://localhost / 127.0.0.1 (any port), or an app's own scheme, and must match what the client registered.

To test by hand with a key:

curl -s https://renly.ai/api/mcp-server \
  -H "Authorization: Bearer $RENLY_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_agents","arguments":{}}}'

The server is stateless: it issues no Mcp-Session-Id, authenticates every request on its own and replies with plain JSON. GET and DELETE on the endpoint return 405. Batched JSON-RPC requests are refused.

Tools

ToolWhat it does
list_agentsThe Renly agents this key can use, with ids. Read-only.
ask_agentGive a task or question to an agent (agent, message, optional conversation_id to continue). Waits up to about three minutes; if the agent is still working, it returns a conversation_id to check later.
get_conversationThe latest reply and status of a conversation started with ask_agent: working, waiting for approval, or completed. Read-only.
list_automationsAutomations you can see, with ids. Read-only.
run_automationStart an automation now, with optional input. It runs with its own approval steps. Returns a run id.
get_automation_runStatus, steps and outcome of a run. Read-only.
list_pending_approvalsAutomation approvals waiting for you, with a link to approve them in Renly. Read-only.
get_evidenceThe sealed evidence record for the latest answer in a conversation: who asked, which agent and model, which tools ran, what was approved, and the seal. Read-only.

Every tool result has a text summary for the model and structuredContent with fields such as status, conversation_id and conversation_url. Tools carry MCP annotations; the read-only ones are marked readOnlyHint: true.

Governance

  • No tool can approve. When an agent needs approval, ask_agent returns status: "waiting_for_approval", lists what is waiting, and links to the conversation. A person approves or declines there; then call get_conversation for the result. A model calling a tool is not a person approving.
  • A key or connection acts as the person who made it, in the one organization it was made for, only on the agents it allows, and with that person's connectors and your organization's policies.
  • Everything is visible in Renly. Each ask_agent conversation is a Renly chat titled "MCP: ..." and is recorded as evidence like any other chat. get_conversation and get_evidence only read conversations started over MCP, never your ordinary chats.
  • Revocation is immediate. Revoke the key, or disconnect the app, on the Agent access page and the next request fails. It also stops working if the person leaves the organization. Each key or connection is limited to 60 requests a minute.

Using MCP servers inside Renly

The other direction: tools from an external MCP server become tools your Renly agents can use.

  1. An organization owner or admin opens organization settings, then Connectors Settings, then MCP Servers, and chooses Add Server. Remote servers use the HTTP (Remote) transport with a Server URL; authentication can be none, an API key, a bearer token or OAuth 2.0.
  2. Use Discover tools to load the server's tools with their descriptions and annotations.
  3. In the server's Approvals section, set each tool to Ask first, Run without asking or Block, or leave it on Default.

The default is that every MCP tool asks for approval before it runs, because a tool's own "read-only" label is only a hint and a hostile server could mislabel a delete. If an admin ticks Trust this server's read-only labels, tools the server marks read-only (and not destructive) run without asking. An admin's per-tool choice always wins. A tool from a server that is disabled, unknown or belongs to another organization is blocked. Where a server uses per-person sign-in, each person connects their own account from the Connectors page.

MCP servers are available to organization owners and admins where they are switched on for the organization.