Edison Watch
Developers

Connect an Agent

Point any MCP-capable AI agent framework at the Edison Watch gateway - one URL, no header wiring. The canonical connection guide behind every framework quickstart.

If you're building your own agent - rather than connecting a packaged app like Claude or ChatGPT - you connect it to Edison the same way you'd connect to any remote MCP server: point your framework's MCP client at your Edison gateway URL. Every tool from every server you've enabled shows up as a normal MCP tool, and every call your agent makes is monitored and policy-enforced in real time.

This page is the canonical connection guide. Each framework quickstart in this section is a thin wrapper around what's here - read this once, then jump to your framework.

The one thing to understand: your credential lives in the URL

Edison does not use an Authorization header for the MCP connection. Your API key is a segment of the connection URL itself:

https://mcp.edison.watch/mcp/<your-api-key>/?client=<label>
└──────────┬───────────┘└─┬─┘└─────┬──────┘└┬┘└──────┬──────┘
      gateway host      fixed   your API key  │   optional session
   (per-org, see below) prefix (edison_...)   │   label for the
                                     trailing slash   dashboard
                                     (required)

Anything that can open a streamable-HTTP MCP connection to a URL can connect to Edison - no custom headers, no OAuth client, no token exchange. That makes Edison compatible with essentially every agent framework, including the many that don't (yet) let you set request headers.

Treat your connection URL like a password. Anyone who has it can call MCP tools as you, subject to your Access Control Levels and policy rules. Don't commit it to source control - load it from an environment variable.

Don't add an Authorization: Bearer header to your MCP client - Edison reads the key only from the URL path, so a bearer header does nothing here. (Edison does use Authorization: Bearer for its management REST API at /api/v1/..., but that's a separate surface from the MCP connection.)

1. Get your connection URL

Your personal URL embeds your API key (format: edison_ followed by ~40 characters). Get it from the Edison Watch dashboard: open Settings, find the Api key / MCP URL section, and click Get MCP URL. You can also copy the base URL from the Edison Watch desktop app's Copy MCP URL menu.

The gateway host differs per environment - release is mcp.edison.watch, while demo and self-hosted deployments use their own host. Always copy the URL from your dashboard or desktop app rather than hardcoding mcp.edison.watch.

Store it as an environment variable so your code never contains the key literally:

export EDISON_MCP_URL="https://mcp.edison.watch/mcp/edison_your_key_here/?client=my-agent"

The optional ?client=<label> suffix tags the session in the Edison dashboard so you can tell this agent's traffic apart from your other connectors. Use any short label you like (my-agent, langgraph-prod, etc.).

2. Point your framework at it

Every framework in this section boils down to the same move: hand EDISON_MCP_URL to that framework's streamable-HTTP MCP client and let it discover the tools. Here's the shape in raw Python, using the official MCP SDK - every higher-level framework wraps exactly this:

import os
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def main():
    url = os.environ["EDISON_MCP_URL"]
    async with streamablehttp_client(url) as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()
            tools = await session.list_tools()
            print([t.name for t in tools.tools])  # tools from every enabled server

Note there is no headers= argument - the credential is already in url. Pick your framework below for the idiomatic version.

Edison's gateway speaks streamable-HTTP only. If a framework asks you to choose a transport, choose streamable-HTTP (sometimes written http or streamable_http) - not SSE, which is deprecated in the MCP spec and not served by the gateway.

Choose your framework

Encrypted secrets

Some enabled servers use zero-knowledge-encrypted secrets. To let the gateway decrypt those, a client may send an optional x-edison-secret-key header - separate from your API key, and only usable by frameworks that allow custom request headers. Edison still connects without it; only servers that need an encrypted secret fail to decrypt. Each framework page below shows exactly where to set it.