What you’ll get: your IDE can ask ewake who owns a service, what it depends on, and what ewake already found the last time that service broke, without you leaving the editor or opening Slack.
/mcp on your ewake instance.
This page is about querying ewake from an MCP client. To connect an MCP server of your own to ewake, so it can call your tools during investigations, see Custom MCP Server.
Prerequisites
- An ewake instance reachable from your machine (e.g.
https://your-company.ewake.ai) - An MCP client that supports remote servers over HTTP, Claude Code and Cursor both do
- An ewake account, for the browser sign-in during the connection
Running ewake in your own AWS account? The MCP server is on the same hostname as your
dashboard, but reaching it may depend on your network — see
Self-hosted deployments below.
Connect your client
The connection uses OAuth: your client registers itself, sends you to your ewake dashboard to approve, and receives its own token. You never copy or paste a key.- Claude Code
- Cursor
- Other clients
/mcp inside Claude Code and pick ewake to start the sign-in.Approve the connection
1
Your browser opens on the ewake approval page
The client sends you to the authorization endpoint on your ewake instance. If you’re not signed in, you go through the normal dashboard login first and come back to the same page.
2
Review what the client is asking for
The page names the client, what it will be able to do (read your service map, ownership, incident history, deployments and integrations), and the address it will send you back to. Check that address is your client, then click Approve.
3
You land back in your client
The server shows as connected and its seven tools are listed. Ask it something, for example: “Who owns the checkout service?”
Alternative: connect with an API key
Use an API key when nobody can click Approve, a CI job, a script, or a container. It authenticates as your company rather than as a person.1
Create the key
In your ewake dashboard, open API Keys in the sidebar and create a key. Copy it, it’s shown once and starts with
ew_.2
Send it as a bearer token
Self-hosted deployments
The MCP server is not on a separate host. It is served by the same instance as your dashboard, on the same hostname:https://ewake.yourcompany.com, the MCP URL is
https://ewake.yourcompany.com/mcp. That holds whether your load balancer is public
or private — what changes is who can reach it.
If your load balancer is public
Nothing special. Follow either method above. Access is still bounded byalb_ingress_cidrs, so the machine running your MCP client has to be in a range you
allow.
If your load balancer is private
Withalb_internal = true, your hostname resolves to private addresses. An MCP
client can connect only from a machine that is:
- On your network — inside the VPC, over the VPN, or across the transit gateway, so the hostname resolves and routes, and
- Inside
alb_ingress_cidrs— the security group is what refuses the packet, and it refuses before anything is logged on the ewake side.
The inbound webhook gateway does not serve MCP
A private deployment can run a public API Gateway so Slack and Datadog can still deliver events./mcp is deliberately not on it. That gateway carries a short allowlist of
webhook paths and nothing else — pointing an MCP client at its
execute-api.<region>.amazonaws.com URL returns 404.
This is a deliberate boundary. Those webhook routes accept a fixed payload from a known
sender; the MCP tools read your service map, your investigation history and your
knowledge graph. Putting that behind the public gateway would undo the reason for
choosing a private load balancer. If you want MCP reachable from outside your network,
widen alb_ingress_cidrs to the range it should come from, which is a per-deployment
decision you control.
Checking it works
From a machine on your network:200 means the whole path works: network, security group, TLS and the key. A hang points
at routing or alb_ingress_cidrs; a 401 means the key is wrong or revoked.
Tools
The server has seven tools. Each one only reads.What to ask
The tools compose, so you ask the question and the client chains the calls:Security
- Read-only. Every tool is a query. Nothing on the MCP server creates, edits or deletes anything in ewake or in your integrations.
- Scoped to your company. Both authentication paths verify that the caller belongs to this instance’s company before the request reaches a tool.
- Your credential never reaches the tools. The transport passes an identifier, not the API key or the access token.
- Deactivated users lose access immediately, their token stops validating on the next call.
How ewake handles permissions and data →
Something you want to reach from your editor that isn’t here? Tell us at support@ewake.ai, the tool surface grows from what people ask for.