Skip to content
TrustedSkillsbeta
Developer

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

⚡ Quick Answer

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.
💡 Treat a committed key as leaked: Deleting a key in a later commit does not remove it from git history. If a real credential reaches a shared repo, revoke it and make a new one. Keep real values in your own environment, never in a committed file.

Config Locations: Every Platform

Claude Desktop

Global only — no project-level concept.

OSConfig 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

ScopeHow to addWhere 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

ScopeMac/LinuxWindows
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

  1. Each developer adds personal tools with claude mcp add --scope user
  2. Add team tools with claude mcp add --scope project, with no personal credentials
  3. Commit .mcp.json to git
  4. Use ${VAR_NAME} references for anything that varies per developer
  5. 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.

⚠️ Keep key files out of git: If you keep keys in a local file such as .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.

TT

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.