# mcpmaster > One local MCP endpoint for every API and MCP server you use, with a web UI to manage them. Open source (Apache-2.0), self-hosted, Node 20+. A hosted Cloud version with team workspaces is on a waitlist at mcpmaster.sh. mcpmaster runs on your own machine (or hosted, with mcpmaster Cloud at https://mcpmaster.sh). `mcpmaster connect` prints the endpoint and a setup snippet for each client. Add an OpenAPI spec, a GraphQL endpoint, a remote MCP server or a local stdio command, and every connected agent can use it. Each integration gets a short name that becomes its tool prefix (`github_list_repos`, `countries_country`). Key facts for agents: - Code mode is the default. The endpoint advertises one `execute` tool, not one tool per endpoint. The agent writes a short snippet that searches for tools (`tools.search`), reads a schema (`tools.describe.tool`), calls the tool and returns only the part it needs. Snippets run in a QuickJS WebAssembly sandbox with no network, filesystem or host access, bounded to 30 s. If a client can't run code, `mcpmaster settings tools all` lists every tool individually. - Credentials are passed by variable name (`--token-env`) or stdin (`--token-stdin`), never as an argument. They are stored in `~/.mcpmaster/secrets.json` (owner-only) or read from an environment variable, never displayed, and stripped from any response that echoes them. - Guardrails: per-tool switches, glob block rules (`github_delete_*`), `--read-only` (only GET, queries and read-only MCP tools) and `--hide-new-tools` (new tools wait for review). Rules apply on every listing and call, including to tools added by a later sync. - Security: listens on the loopback interface only and blocks DNS rebinding; local token on every call; strict CSP; one audited outbound path that pins DNS, never follows redirects, and blocks private networks unless you opt in; OAuth with PKCE, callbacks stay local. - Supported clients: Claude Code, Codex, Cursor, Claude Desktop, VS Code, Windsurf, OpenCode, or any Streamable HTTP MCP client. ## Install Install and connect (no sudo): ```sh curl -fsSL https://raw.githubusercontent.com/mcpmastersh/mcpmaster/main/install.sh | MCPMASTER_SKILL=1 sh mcpmaster status mcpmaster connect claude-code | sh mcpmaster add https://api.github.com/openapi.json --name github --bearer --token-env GITHUB_TOKEN mcpmaster list ``` `MCPMASTER_SKILL=1` also saves an agent skill to `~/.claude/skills/mcpmaster/SKILL.md`. Run `mcpmaster --help` for exact flags instead of guessing. Upgrade with `mcpmaster update` or by running the installer again. ## Docs - [README](https://raw.githubusercontent.com/mcpmastersh/mcpmaster/main/packages/mcpmaster/README.md): install, CLI reference, integrations, code mode, guardrails and security model - [Agent skill](https://raw.githubusercontent.com/mcpmastersh/mcpmaster/main/packages/mcpmaster/skills/mcpmaster/SKILL.md): how an agent should use mcpmaster, read this before operating it - [Install script](https://raw.githubusercontent.com/mcpmastersh/mcpmaster/main/install.sh): the installer used above - [Changelog](https://raw.githubusercontent.com/mcpmastersh/mcpmaster/main/CHANGELOG.md): release notes - [Source on GitHub](https://github.com/mcpmastersh/mcpmaster): code and issues ## Website - [Home](https://mcpmaster.sh/): overview of the product - [How it works](https://mcpmaster.sh/#how): code mode, one tool instead of 1,600+ tool schemas - [Features](https://mcpmaster.sh/#features): integrations, code mode, guardrails, web UI - [Security](https://mcpmaster.sh/#security): threat model and protections - [Cloud](https://mcpmaster.sh/#cloud): self-hosted vs hosted, waitlist - [FAQ](https://mcpmaster.sh/#faq): common questions - [Contact](https://mcpmaster.sh/#contact): send the team a message ## Optional - [VibePass](https://vibepass.sh/llms.txt): companion product, an offline encrypted vault so agents can use secrets without seeing them - [mcpmaster Cloud](https://mcpmaster.sh/#cloud): hosted endpoint at `mcpmaster.sh/api/mcp/`, team roles, audit trail, Agent Secrets with `vibepass://` addresses (waitlist). `mcpm://` addresses are for the self-hosted vault.