# atc-mcp-connector A thin **stdio bridge** for the ATC account-intelligence MCP server. It lets stdio-only MCP clients (Claude Desktop, Cursor, Windsurf, etc.) connect to the **remote** ATC endpoint over HTTPS. This package is intentionally a launcher only — it contains **no tools, prompts, or server logic**. Everything proprietary stays on ATC's servers; this just forwards the client's stdio transport to the remote endpoint. ## Quick start (npx — no install) ```bash npx -y atc-mcp-connector ``` ## Client configuration Most clients accept a JSON config block. Point them at this package: ```json { "mcpServers": { "atc": { "command": "npx", "args": ["-y", "atc-mcp-connector"] } } } ``` That's the whole setup for OAuth servers — on first run a browser window opens to authorize, and the token is cached locally for future sessions. ## Authentication The bridge supports two modes: **OAuth (default).** If the ATC server advertises OAuth, leave everything unset. The bridge runs the browser authorization flow automatically and caches credentials. **Static token.** If you issue API tokens instead, supply one via environment variable and it's sent as an `Authorization: Bearer` header: ```json { "mcpServers": { "atc": { "command": "npx", "args": ["-y", "atc-mcp-connector"], "env": { "ATC_MCP_TOKEN": "your-token-here" } } } } ``` ## Configuration reference | Variable | Default | Purpose | | --------------- | ---------------------------------- | ---------------------------------------------------- | | `ATC_MCP_URL` | `https://mcp.atc-analytics.com/mcp`| Override the remote endpoint (e.g. staging vs prod). | | `ATC_MCP_TOKEN` | _(unset)_ | Static bearer token; omit to use OAuth. | Extra flags are passed straight through to the underlying bridge, e.g.: ```bash npx -y atc-mcp-connector --transport sse-only ``` ## How it works This package wraps [`mcp-remote`](https://www.npmjs.com/package/mcp-remote), the de-facto stdio↔HTTP/SSE bridge. Your MCP client speaks stdio to this process; this process forwards every message to the remote ATC server and streams responses back. No request is ever served locally. ## Requirements - Node.js >= 18 ## License MIT