Connect your agent

Any MCP client can connect: claude.ai, Claude Desktop, Claude Code, Cursor, VS Code, or your own code. The workspace MCP URL is:

https://toolglue.dev/mcp

With an API key

Mint a key on the Keys page, then register the server. With the claude CLI:

claude mcp add --transport http toolglue https://toolglue.dev/mcp --header "Authorization: Bearer tg_YOUR_KEY"

Or in an mcp.json style configuration:

{
  "mcpServers": {
    "toolglue": {
      "url": "https://toolglue.dev/mcp",
      "headers": { "Authorization": "Bearer tg_YOUR_KEY" }
    }
  }
}

With OAuth sign-in

Clients that speak MCP OAuth (claude.ai, Claude Desktop, and others) need no key at all. Paste the MCP URL and the client walks the standard flow: it registers itself, opens a ToolGlue sign-in page, and shows you a consent screen listing exactly which permissions it wants and a picker for which workspace it may use. Approve, and the client holds short-lived tokens it refreshes on its own. You can revoke any connected agent at any time under Settings, Connected agents.

Bundle URLs

A bundle is a smaller MCP server that exposes only the tools you assign to it, at its own URL:

https://toolglue.dev/mcp/b/your-bundle-slug

Bundle URLs accept the same credentials as the main URL, so the snippets above work with the bundle URL swapped in. An agent connected to a bundle cannot see or call anything outside it. Create bundles on the Bundles page; each bundle's detail page has ready-made snippets for its own URL.

Scopes to grant

The usual template for an agent is mcp connections:read connections:write actions:run actions:build. Drop actions:build if the agent should never spend money creating tools, and drop connections:write if it should only use what you wired up yourself.

That template already covers Smart Tools and dashboards: actions:run is what runs a saved action, a Smart Tool, or a dashboard refresh over MCP. smart_tools:run is for a different job, the plain HTTP Smart Tool URL, so you can mint a key scoped to only that and hand it to a third party service without giving away anything else.

Something went wrong on our side. Reload ✕
Interactive features couldn't start. The realtime connection is being blocked. If this domain sits behind Cloudflare or a WAF, allow websockets to /_blazor. Retry ✕