One MCP to rule them all.
Set up your MCP servers, skills, and credentials once. Claude Code, Codex, Cursor, and every agent you connect pull the same setup from one address.
Works with Claude Claude Code Codex Cursor VS Code
In action
Watch the gateway work.
catalog_search
- playwright-mcpmatch
- browser-usematch
- playwright-a11y
plan
- Find a browser server in the catalog
- Add it to the gateway
- Run the signup test, file what breaks
Test the signup flow in a real browser and file issues for anything broken.
playwright-mcp is on your gateway and serving. The signup flow ran: two failures, both filed to GitHub with traces.
connections
- Claude Codeconnected
- Codexconnected
- CursorOAuth 2.1
credentials
- GitHub····f2c8
- sealed, injected server-side
gateway_config
- endpoint
- mcp.ahel.ai
- tools
- namespaced per server
- keys
- never sent to clients
What it unlocks
Ask for the work, not the tool.
Your agent cantest in a real browserfile the follow-up issuessearch and read the webwatch production errorskeep the docs up to datefill the spreadsheet
Once the gateway serves the tools, the prompt is the whole interface.
Test the signup flow in a real browser.
Open issues for everything we found.
Search the web and brief me, with sources.
What broke in production overnight?
Turn these notes into Notion pages.
Pull the numbers into the sheet.
How it works
Found. Added. Served.
Find it in the catalog
Every MCP server and skill we track, searchable in one place. One click adds it to your gateway.
- Synced daily from three public registries
- Popularity comes from the sources, labelled by source
- Add lands it on your gateway, nothing to install
- playwright-mcpMCP serverAddAdded
- browser-useskillAdd
- playwright-a11yMCP serverAdd
Keys go in once
Provider keys become encrypted credentials, used server-side when an agent needs them. No key ever sits in a config file again.
- Envelope-encrypted at rest, masked in the UI
- Injected server-side at call time, never sent to clients
- Every decrypt lands in an audit ledger
- GitHubsealed
- Anthropicsealed····9d41
- Postgressealed····07be
Connect with one click
Every agent gets its own button on the connect page. Click it, sign in, and your agent reads your gateway from then on. Change it once, and every agent sees it on the next pull.
add a browser automation server to my gateway
catalog_search("browser automation")playwright-mcp
stack_add("playwright-mcp")on your gateway
stack_set_enabled("playwright-mcp")serving
Claude Code, Codex, and Cursor all see it on the next pull.
Inside ahel
The real surface.
Not mockups. Captured from the app as it ships.


The problem
Delete the config sprawl.
Every client keeps its own config file. The gateway replaces the pile with one address.
Without
~/.claude.jsonClaude Code~/.cursor/mcp.jsonCursor~/.codex/config.tomlCodex.vscode/mcp.jsonVS Codeclaude_desktop_config.jsonClaude
Five copies of the same setup. Change one server, edit five files. Rotate one key, hunt it everywhere.
With ahel
https://mcp.ahel.ai
- One config, read by every client
- Keys sealed server-side, zero in files
- Change it once, every agent follows
Batteries included
13 services, no keys needed.
WhatWeb search, company data, security intel.
WhyA useful gateway before you add anything.
HowOperated by ahel. One click on.
- Web Searchweb
- Company Registriesdata
- Company Ownershipdata
- Sanctions Screeningsecurity
- Threat Intelligencesecurity
- Vulnerability Intelligencesecurity
- US Company Financialsdata
- Superinvestor Holdingsdata
- Crypto Address Screeningsecurity
- Contact Verificationdata
- Fraud Ring Detectionsecurity
- Estonia Business Registrydata
- EU Tendersdata
Where your keys live.
- Model traffic stays yours
- Prompts and completions run directly between your clients and your model providers. The gateway serves tools and injects credentials server-side; it never sees a prompt.
- Keys stay sealed
- Envelope-encrypted at rest, masked in the UI, every decrypt audited.
- No keys in your clients
- Agents connect through OAuth. The key itself stays in your encrypted credentials, out of every config file.
- Nothing reads back
- No endpoint returns a stored key. Store, replace, or delete: the response carries a status, never a value.
Stop configuring the same tools five times.
Set it up once. Free for individuals.