MCP Servers: Global vs Project Scope Across All Platforms
When to make an MCP server available to all projects vs one project — decision framework, config paths for every platform, team collaboration workflow, and how to handle secrets safely.
Last updated 27 September 2026
Global config = personal tools and credentials, available everywhere on your machine. Project config = team tools, committed to git, only active in that project. Never put real API keys in a committed file. In Claude Code, use ${ENV_VAR} references in .mcp.json instead.
Every time you add an MCP server or a skill, you choose where it lives. Get it wrong and you end up with personal credentials in a git repo, or a useful tool missing from half your projects. This page gives a simple rule, then the exact locations for each platform.
The Decision Logic
Is this a personal tool I want everywhere? (notes, search)
→ Global config
Does it use credentials that are mine, not the project's?
→ Global config (never commit personal secrets)
Should everyone on the team have this automatically?
→ Project config (commit to git)
Is this tool specific to this project's infrastructure?
→ Project config
Not sure?
→ Start global. Move to project when you share it.
Config Locations: Every Platform
Claude Desktop
Global only — no project-level concept.
| OS | Config path |
|---|---|
| Mac | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Claude Code
| Scope | How to add | Where it is stored |
|---|---|---|
| User (all your projects) | claude mcp add --scope user | ~/.claude.json |
| Local (default: you, this project) | claude mcp add | ~/.claude.json, under the project |
| Project (shared through git) | claude mcp add --scope project | .mcp.json in the project root |
On Windows, ~ is %USERPROFILE%. When the same name is in more than one scope, Claude Code uses local, then project, then user.
Cursor
| Scope | Mac/Linux | Windows |
|---|---|---|
| Global | ~/.cursor/mcp.json | %USERPROFILE%\.cursor\mcp.json |
| Project | .cursor/mcp.json | .cursor\mcp.json |
OpenClaw
OpenClaw skills are SKILL.md folders, not MCP config. Its "project" level is the agent workspace.
# One agent: installs into the workspace's skills/ folder (run from the workspace)
npx skills add <owner>/<repo> --skill <name> -a openclaw
openclaw skills install @owner/<slug>
# All local agents: installs into ~/.openclaw/skills/
npx skills add <owner>/<repo> --skill <name> -a openclaw -g
openclaw skills install @owner/<slug> --global
Workspace skills win over shared skills when two have the same name.
Team Workflow for Claude Code
- Each developer adds personal tools with
claude mcp add --scope user - Add team tools with
claude mcp add --scope project, with no personal credentials - Commit
.mcp.jsonto git - Use
${VAR_NAME}references for anything that varies per developer - List the environment variables each developer must set in your README
.mcp.json (safe to commit):
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@brave/brave-search-mcp-server"],
"env": { "BRAVE_API_KEY": "${BRAVE_API_KEY}" }
}
}
}
Each developer's shell (NOT committed):
export BRAVE_API_KEY=your-own-key
claude
Claude Code reads the value from the environment it starts in. It does not load a .env file for you.
.env, add it to .gitignore before you create it. That is much easier than removing it from history later.
Frequently Asked Questions
Can the same MCP server be in both user and project config?
Yes. In Claude Code, the project entry wins over the user entry, and a local entry wins over both. This lets a project use a different database connection from your personal setup.
How do I share MCP servers with my team?
Add them to the project's config file and commit it. In Claude Code that file is .mcp.json. Each developer approves the servers the first time Claude Code sees them.
What's the safest way to handle API keys in project config?
Use ${VAR_NAME} references. Each developer sets the real value in their own environment. The committed file holds no secrets.
Does Claude Desktop support project-level config?
No — it's global only. For project-level MCP config, use Claude Code or Cursor.
TrustedSkills Team
The TrustedSkills team maintains the TrustedSkills index of AI agent skills. The index records where each skill comes from and how to install it. It does not review or audit skill code.