Skip to content
Back to skills

Cc Configuring Mcp

ASecurity

Use when optimizing MCP token usage, understanding Tool Search thresholds, or deciding MCP vs skills for token efficiency. For plugin MCP bundling, use plugin-dev:mcp-integration.

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
toolstypescriptgobashgitapi

Works with

  • claude code
  • api
  • mcp

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill cc-configuring-mcp --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cc Configuring Mcp?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cc Configuring Mcp
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-cc-configuring-mcp/badge)](https://www.skillsdirectory.com/skills/majiayu000-cc-configuring-mcp)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cc-configuring-mcp
description: Use when optimizing MCP token usage, understanding Tool Search thresholds, or deciding MCP vs skills for token efficiency. For plugin MCP bundling, use plugin-dev:mcp-integration.
---

# Configuring MCP

## Scope

This skill covers **MCP token optimization and Tool Search**. For different purposes, use:

- **Bundling MCP in plugins:** `plugin-dev:mcp-integration`
- **This skill:** Token efficiency, Tool Search thresholds, skill wrappers for infrequent MCP

## Overview

MCP (Model Context Protocol) connects Claude Code to external tools. **Core trade-off:** MCP tools load at session start (consuming tokens) while skills load on-demand.

## Tool Search: Progressive Disclosure for MCP

### How It Works

When MCP tool definitions exceed a threshold, Claude Code defers them and uses MCPSearch to discover tools on-demand.

```
Without Tool Search: 77K tokens consumed before any work
With Tool Search:    8.7K tokens (85% reduction)
```

### Configuration

| Value    | Behavior                                |
| -------- | --------------------------------------- |
| `auto`   | Activates at 10% of context (default)   |
| `auto:N` | Activates at N% (e.g., `auto:5` for 5%) |
| `true`   | Always use Tool Search                  |
| `false`  | Never use Tool Search                   |

**Set via environment:**

```bash
export ENABLE_TOOL_SEARCH=true
```

**Or in settings.json:**

```json
{
  "env": {
    "ENABLE_TOOL_SEARCH": "true"
  }
}
```

### When to Use Each Setting

| Scenario                             | Recommended                     |
| ------------------------------------ | ------------------------------- |
| Use MCP tools every session          | `auto` (default)                |
| Use MCP tools occasionally           | `true` or `auto:1`              |
| Many MCP servers (50+ tools)         | `auto` (triggers automatically) |
| Few MCP servers, want to save tokens | `true`                          |

## Per-Tool Control: Not Available

**Claude API** supports per-tool `defer_loading`:

```typescript
// API only - NOT in Claude Code
{
  default_config: { defer_loading: true },
  configs: { "frequently_used_tool": { defer_loading: false } }
}
```

**Claude Code** only has global threshold control. Workaround: use rules/instructions to encourage specific MCP tool usage.

**Tracking:** [#12836](https://github.com/anthropics/claude-code/issues/12836) (102 upvotes, open)

## MCP vs Skills: Token Comparison

| Aspect      | MCP (under threshold) | MCP (Tool Search)       | Skill                |
| ----------- | --------------------- | ----------------------- | -------------------- |
| Load timing | Session start         | On-demand via search    | On-demand via invoke |
| Base cost   | Full tool definitions | ~500 tokens (MCPSearch) | 0 tokens             |
| Use cost    | 0 (already loaded)    | Tool definitions loaded | Skill content loaded |
| Best for    | Frequent use          | Occasional use          | Rare use             |

**Rule of thumb:** If you don't use an MCP tool most sessions, either enable Tool Search or use a skill wrapper.

## Configuration Files

### .mcp.json (Tool Definitions)

```json
{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "package-name"],
      "env": {
        "API_TOKEN": "${API_TOKEN}"
      }
    }
  }
}
```

### settings.json (Enabling Servers)

```json
{
  "enableAllProjectMcpServers": true,
  "enabledMcpjsonServers": ["server-name"]
}
```

**Note:** Servers in `.mcp.json` but not in `enabledMcpjsonServers` won't load (0 tokens).

## Token-Efficient MCP Design

### Action Dispatch Pattern

Instead of many tools, use one tool with actions:

```json
// Bad: 23 tools × ~700 tokens each = 16,100 tokens
"linear_create_issue", "linear_update_issue", "linear_search"...

// Good: 1 tool × ~500 tokens
{"action": "create", ...}, {"action": "update", ...}, {"action": "search", ...}
```

Example: [streamlinear](https://github.com/obra/streamlinear) (500 tokens vs 17K for official Linear MCP)

### Skill Wrappers for Infrequent MCP

For rarely-used MCP servers:

1. Define in `.mcp.json` but don't enable by default
2. Create skill documenting setup + usage
3. First use: skill instructs to enable + restart

## Troubleshooting

### MCP Server Not Loading

1. Check `enabledMcpjsonServers` includes server name
2. Verify env vars are set (use `${VAR}` syntax)
3. Test command manually: `npx -y package-name`

### Tool Search Not Activating

Check total MCP token usage vs threshold:

- Default 10% of 200K context = 20K tokens
- If under threshold, set `ENABLE_TOOL_SEARCH=true` to force

### Model Compatibility

| Model     | Tool Search Support |
| --------- | ------------------- |
| Opus 4+   | Yes                 |
| Sonnet 4+ | Yes                 |
| Haiku     | No (use `false`)    |

## Reference

- [Claude Code MCP Docs](https://code.claude.com/docs/en/mcp)
- [Tool Search Announcement](https://www.atcyrus.com/stories/mcp-tool-search-claude-code-context-pollution-guide)
- [GitHub #12836](https://github.com/anthropics/claude-code/issues/12836) - Per-tool defer_loading request
- [GitHub #18303](https://github.com/anthropics/claude-code/issues/18303) - Configurable threshold request

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.