mcpField
C
configure-mcp

configure-mcp

github.com/laurigatesAgent workflows5955 installsUpdated 1d ago
Repository

About configure-mcp

A skill for checking and configuring project-level MCP servers, intended for developers setting up shareable MCP configurations. It manages servers through `.mcp.json` and can inspect configuration, environment variables, and Git tracking.

Key features

  1. 01Check configured servers and required variables
  2. 02Install core or selected MCP servers
  3. 03Merge configuration while preserving existing servers
  4. 04Check Git tracking status for `.mcp.json`
  5. 05Update the MCP record in project standards

Use cases

  1. 01Add MCP servers such as Context7 to a project
  2. 02Inspect configuration for missing environment variables
  3. 03Maintain project-level MCP settings for a team

MCP support

The skill manages MCP server configuration in a project's `.mcp.json` and reports server status and environment-variable issues. It also describes session-scoped enabling and disabling through Claude Code's `/mcp` commands.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/laurigates/claude-plugins --skill configure-mcp

After installing, type/configure-mcpin Claude Code to confirm it loaded.

Bundled filesREFERENCE.md

Details

From the project README

/configure:mcp

Check and configure Model Context Protocol (MCP) servers for this project.

MCP Philosophy: Servers are managed project-by-project (in .mcp.json), not user-scoped (in ~/.claude/settings.json), to keep context clean and dependencies explicit.

For server configurations, environment variable reference, and report templates, see REFERENCE.md.

When to Use This Skill

Use this skill when...Use another approach when...
Setting up MCP servers for a projectConfiguring user-level settings (edit ~/.claude/settings.json directly)
Checking MCP server status and validating configurationJust viewing .mcp.json contents (use Read tool)
Adding specific servers (context7, playwright, sequential-thinking, etc.)Installing npm/bun packages for non-MCP purposes (use package manager)
Ensuring team-shareable MCP setupsPersonal-only MCP configuration (use ~/.claude/settings.json)
Installing core productivity serversDebugging specific server runtime issues (check server logs, restart Claude Code)

Context

  • Config exists: !find . -maxdepth 1 -name \'.mcp.json\'
  • Installed servers: !jq -r '.mcpServers' .mcp.json
  • Git tracking: !grep '.mcp.json' .gitignore
  • Standards file: !find . -maxdepth 1 -name \'.project-standards.yaml\'
  • Has playwright config: !find . -maxdepth 1 -name 'playwright.config.*' -print -quit
  • Has TS/JS files: !find . -maxdepth 2 \( -name '*.ts' -o -name '*.py' -o -name '*.go' -o -name '*.rs' \) -print -quit
  • Dotfiles registry: !find . -maxdepth 1 -name \'~/.local/share/chezmoi/.chezmoidata.toml\'

Parameters

Parse these from $ARGUMENTS:

  • --check-only: Report current status, do not offer installation
  • --fix: Install servers without prompting for confirmation
  • --core: Install all core servers (context7, sequential-thinking)
  • --server <name>: Install specific server by name (repeatable)

If no flags provided, run interactive mode (detect → report → offer to install).

Core Servers

These servers should be installed in all projects:

ServerPurposeEnv Vars
context7Documentation context from UpstashNone
sequential-thinkingEnhanced reasoning and planningNone

Execution

Execute this MCP configuration workflow:

Step 1: Detect current state

Check the context values above. Determine:

  1. Does .mcp.json exist? If yes, parse it and list all configured servers.
  2. For each server, check its command type (npx, bunx, uvx, go run) and required env vars.
  3. Flag any servers with missing required environment variables.

If --check-only, skip to Step 4 (report only).

Step 2: Identify servers to install

Based on the flags:

  • --core: Select context7 and sequential-thinking.
  • --server <name>: Select the named server(s). Validate against the available servers in REFERENCE.md.
  • No flags (interactive): Show the user what's installed vs available. Use AskUserQuestion to ask which servers to add. Suggest servers based on project context (e.g., suggest playwright if playwright.config.* exists, suggest cclsp if large TS/Python/Rust codebase).

If all requested servers are already installed, report "All servers already configured" and stop.

Step 3: Install selected servers

For each selected server:

  1. Get the server configuration from REFERENCE.md.
  2. If .mcp.json doesn't exist, create it with {"mcpServers": {}}.
  3. Merge the server config into the existing mcpServers object. Preserve existing servers.
  4. Write the updated .mcp.json with proper JSON formatting.

If cclsp is selected, also set up cclsp.json (see REFERENCE.md for language detection and setup details).

Handle git tracking:

  • Check if .mcp.json is in .gitignore.
  • If not tracked and not ignored, recommend adding to .gitignore for personal projects or tracking for team projects.
Step 4: Report results

Print a summary using the report format from REFERENCE.md:

  • List all configured servers with their status
  • Flag missing environment variables with where to set them
  • Show git tracking status
  • If servers were added, show next steps (restart Claude Code, set env vars)
Step 5: Update standards tracking

If .project-standards.yaml exists, update the MCP section with current server list and timestamp.

Runtime Server Management

After configuring .mcp.json, use these /mcp commands in Claude Code to manage servers without editing files:

CommandDescription
/mcpList all configured servers and connection status
/mcp enable <server>Enable a server for the current session
/mcp disable <server>Disable a server for the current session (session-scoped)

Note: Enable/disable are session-scoped only. Permanent changes require editing .mcp.json.

Agentic Optimizations

ContextCommand
Quick status checkjq -c '.mcpServers | keys' .mcp.json 2>/dev/null
Validate JSON syntaxjq empty .mcp.json 2>&1
List environment variables neededjq -r '.mcpServers[] | .env // {} | keys[]' .mcp.json 2>/dev/null | sort -u
Check if server installedjq -e '.mcpServers.context7' .mcp.json >/dev/null 2>&1 && echo "installed" || echo "missing"
Core servers install (automated)/configure:mcp --core --fix
Specific server install (automated)/configure:mcp --server context7 --fix
Check-only mode (CI/reporting)/configure:mcp --check-only

Flags

FlagDescription
--check-onlyReport status without offering to install servers
--fixInstall specified or suggested servers without prompting
--coreInstall all core servers (context7, sequential-thinking)
--server <name>Install specific server (can be repeated)

Error Handling

  • Invalid .mcp.json: Offer to backup and replace with valid template
  • Server already installed: Skip with informational message
  • Missing env var: Warn but continue (server may work with defaults)
  • Unknown server: Report error with available server names

Comments

Markdown supported