mcp-tap
Detects GitHub presence (e.g., .github directory) and automates installation, configuration, and connection validation of MCP servers for GitHub.
Detects PostgreSQL in your project (e.g., from docker-compose.yml) and automates installation, configuration, and connection validation of MCP servers for PostgreSQL.
Detects Slack bot tokens in your .env file and automates installation, configuration, and connection validation of MCP servers for Slack.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-tapScan my project and recommend MCP servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-tap
The last MCP server you install by hand.
mcp-tap lives inside your AI assistant. Ask it to find, install, and configure any MCP server — by talking to it. No more editing JSON files. No more Googling environment variables. No more "why won't this connect?"
"Find me an MCP for PostgreSQL."
That's it. mcp-tap searches the registry, installs the package, generates the config, validates the connection — all through conversation.
Before mcp-tap
Google "MCP server for postgres"
Find 4 competing packages, compare stars and last commit dates
Pick one, read the README
Figure out the right
command,args, andenvvaluesManually edit
claude_desktop_config.json(ormcp.json, ormcp_config.json...)Realize you need a
POSTGRES_CONNECTION_STRINGenvironment variableFind your connection string, add it to the config, restart the client
Get "connection refused", debug for 20 minutes
Finally works. Repeat for every server. Repeat for every client.
Related MCP server: mcp-server-mcpindex
After mcp-tap
You: "Set up MCP servers for my project."
mcp-tap: I scanned your project and found:
- PostgreSQL (from docker-compose.yml)
- Slack (SLACK_BOT_TOKEN in your .env)
- GitHub (detected .github/ directory)
I recommend 3 servers. Want me to install them?
You: "Yes, all of them."
mcp-tap: Done. All connections verified. 35 new tools available.Install
You install mcp-tap once. It installs everything else.
Claude Desktop
Add to your claude_desktop_config.json:
With uvx (recommended):
{
"mcpServers": {
"mcp-tap": {
"command": "uvx",
"args": ["mcp-tap"]
}
}
}With npx:
{
"mcpServers": {
"mcp-tap": {
"command": "npx",
"args": ["-y", "mcp-tap"]
}
}
}Claude Code
# With uvx (recommended)
claude mcp add mcp-tap -- uvx mcp-tap
# With npx
claude mcp add mcp-tap -- npx -y mcp-tapCursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"mcp-tap": {
"command": "uvx",
"args": ["mcp-tap"]
}
}
}Or use npx — replace "command": "uvx", "args": ["mcp-tap"] with "command": "npx", "args": ["-y", "mcp-tap"].
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"mcp-tap": {
"command": "uvx",
"args": ["mcp-tap"]
}
}
}Or use npx — replace "command": "uvx", "args": ["mcp-tap"] with "command": "npx", "args": ["-y", "mcp-tap"].
What can it do?
You say | mcp-tap does |
"Scan my project and recommend MCP servers" | Detects your tech stack, shows what's missing |
"Find me an MCP for PostgreSQL" | Searches the registry, compares options |
"Set up the official postgres server" | Installs, configures, validates the connection |
"Set it up on all my clients" | Configures Claude Desktop, Cursor, and Windsurf at once |
"What MCP servers do I have?" | Lists all configured servers across clients |
"Are my MCP servers working?" | Health-checks every server concurrently |
"Test my postgres connection" | Spawns the server, connects, lists available tools |
"Remove the slack MCP" | Removes from config cleanly |
Tools
Tool | What it does |
| Scans your project directory — detects languages, frameworks, databases, CI/CD pipelines — and recommends MCP servers |
| Searches the MCP Registry with semantic intent rerank ( |
| Installs a package (npm/pip/docker), runs a security gate, validates the connection, writes config, and supports |
| Spawns a server process, connects via MCP protocol, and lists its tools. Auto-heals on failure |
| Tests all configured servers concurrently, detects tool conflicts between servers |
| Fetches a server's README and extracts configuration hints |
| Shows all configured servers with secrets masked (layered detection: key names, prefixes, high-entropy) |
| Removes a server from one or all client configs |
| Compares |
| Recreates server configs from a lockfile (like |
| Installs a group of servers from a shareable stack profile |
Plus automatic lockfile management on every configure/remove.
Features
Project-aware: Scans your codebase — including CI/CD configs (GitHub Actions, GitLab CI) — to recommend servers based on your actual stack
Security gate: Blocks suspicious install commands, archived repos, and known-risky patterns before installing
Lockfile:
mcp-tap.locktracks exact versions and hashes of all your MCP servers. Reproducible setups across machinesStacks: Shareable server profiles — install a complete Data Science, Web Dev, or DevOps stack in one command
Multi-client: Configure Claude Desktop, Claude Code, Cursor, and Windsurf — all at once or individually
Auto-healing: Failed connections are automatically diagnosed and fixed when possible
Tool conflict detection: Warns when two servers expose overlapping tools that could confuse the LLM
Connection validation: Every install is verified with a real MCP connection test
Secrets masked:
list_installednever exposes environment variable valuesRecommendation quality gate: Offline benchmark (
precision@k,acceptance_rate) keeps recommendation quality stable in CIProduction feedback loop (opt-in): Privacy-safe telemetry (
recommendations_shown, accepted/rejected/ignored) with version-segmented quality trendsSemantic rerank: Broad queries (for example
error monitoring) are reranked by intent match, not only popularityOffline-friendly search fallback: Uses recent cached registry results when live providers fail, with explicit staleness metadata
Configure preflight:
configure_server(dry_run=true)validates install/connectivity without writing client config
Requirements
Python 3.11+ with
uv(recommended), orNode.js 18+ (the npm package is a thin wrapper that calls the Python package via
uvx/pipx)Officially tested in CI on Python 3.11, 3.12, 3.13, and 3.14
Quality Gate
Run the recommendation benchmark locally:
uv run python -m mcp_tap.benchmark.recommendationDataset: src/mcp_tap/benchmark/recommendation_dataset_v1.json.
Production Feedback Loop (Opt-In)
Enable telemetry explicitly before collecting production recommendation feedback:
export MCP_TAP_TELEMETRY_OPT_IN=true
export MCP_TAP_TELEMETRY_FILE=.mcp-tap/recommendation_feedback.jsonlGenerate a quality report from collected events:
uv run python -m mcp_tap.benchmark.production_feedback --events .mcp-tap/recommendation_feedback.jsonl --top-k 3The telemetry payload is privacy-safe by default:
project path is stored as hash fingerprint (no raw path)
no source code, secrets, or env var values are recorded
release trends include drift warnings/failures between versions
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/felipestenzel/mcp-tap'
If you have feedback or need assistance with the MCP directory API, please join our Discord server