mcp-wire is a Go CLI that installs and configures MCP (Model Context Protocol) servers across multiple AI coding tools from one interface.
No manual config editing needed. Run mcp-wire to open a full-screen TUI with guided install and uninstall wizards.
Pick from bundled curated services or the community MCP registry:
mcp-wire — Install
Install › Source
Where should mcp-wire look for services?
› Curated services recommended, maintained by mcp-wire
Registry services community-published MCP servers
Both curated + registry combined
↑↓ move Enter select Esc back
Live-filtered search across hundreds of registry entries:
mcp-wire — Install
Install › community ✓ › Service › Targets › Review › Apply
Search: sentry 2 matches
› ai.sentry/sentry-mcp
Sentry error tracking and performance monitoring MCP server
ai.example/sentry-alerts
Forward Sentry alerts to your AI coding assistant
— end of results —
↑↓ move Enter select type to filter Esc back
Registry services show metadata and require explicit confirmation:
mcp-wire — Install
Install › community ✓ › Service › Targets › Review › Apply
△ Registry Service — not curated by mcp-wire
ai.sentry/sentry-mcp
Sentry error tracking and performance monitoring MCP server
Source: community registry
Transport: http
URL: https://mcp.sentry.io/sse
Registry services are community-published. Review before proceeding.
› Yes, proceed No, go back
←→ move Enter confirm Esc back
For scripting and CI, explicit commands work without the TUI:
mcp-wire install jira --target claude --no-prompt
mcp-wire uninstall sentry --target opencodeFor targets that support scopes (currently Claude Code), you can choose where MCP config is written:
user(default): available across projectsproject: only for the current project
mcp-wire install jira --target claude --scope user
mcp-wire install jira --target claude --scope project
mcp-wire uninstall jira --target claude --scope projectclaude- Claude Codecodex- Codex CLIgemini- Gemini CLIopencode- OpenCode
These ship with the binary and work out of the box:
context7- Context7 documentation lookup MCP (OAuth)jira- Atlassian Rovo MCP server (OAuth)sentry- Sentry MCP server (OAuth)playwright- Playwright browser automation MCP (npx @playwright/mcp@latest)
mcp-wire can also install from the Official MCP Registry, giving access to hundreds of community-published MCP servers. Enable with:
mcp-wire feature enable registryOnce enabled, the install wizard offers a source selection step (Curated / Registry / Both) with live search across all registry entries.
When you accept the "Save to credential store?" prompt during install, mcp-wire writes the credential to:
~/.config/mcp-wire/credentials
The file is a plain KEY=value list, one credential per line. It is created with mode 0600 (owner read/write only) inside a directory created with mode 0700. mcp-wire re-applies these permissions on every write, including when an existing directory was previously created with broader permissions.
At install time credentials are resolved in this order, and the first match wins:
- Process environment variables.
- The local credentials file above.
- An interactive prompt (skipped when
--no-promptis set).
A few things worth knowing:
- Values are stored in plaintext. mcp-wire does not encrypt them or integrate with the system keychain.
- The same values are written into each target tool's MCP config (e.g.
~/.claude.json,~/.codex/config.toml), so target config files are also created with mode0600. - Interactive prompts mask typed input in both the TUI (password-style echo) and the plain CLI (
term.ReadPassword). mcp-wire never echoes stored credential values back to the screen, into logs, or into error messages. - To remove stored credentials for a service, use the uninstall flow and answer "Yes" at the "Remove stored credentials?" prompt, or edit the credentials file directly.
brew tap andreagrandi/tap
brew install mcp-wiregit clone https://github.com/andreagrandi/mcp-wire
cd mcp-wire
make build
./bin/mcp-wireContributions are welcome, especially new service definitions.
- Add a new service via YAML: create a file in
services/(no Go code required). - Service schema:
name,description,transport, and eitherurl(forsse/http) orcommand/args(forstdio). - Transport values:
http(streamable HTTP endpoint),sse(Server-Sent Events endpoint),stdio(local command-based MCP server). - OAuth services: add
auth: oauthwhen applicable so install flows can drive authentication hints/automation. - Run checks before PRs:
make test,make test-integration,make build. - Update
CHANGELOG.md: every PR with a user-visible change (commands, flags, services, targets, install flows, packaging) adds a bullet under## [Unreleased]. See the "Changelog updates" section inAGENTS.mdfor what counts and how to format entries. CI enforces this.
Example service file:
name: example
description: "Example MCP"
transport: http
auth: oauth
url: "https://mcp.example.com/mcp"
env: []Example stdio service:
name: example-stdio
description: "Example local MCP"
transport: stdio
command: npx
args: ["-y", "@example/mcp-server"]
env: []