Token导航 LogoToken导航TokenDH.com
MCP Code Wrapper logo
开发工具stdio官方级别未说明来源级核验

MCP Code Wrapper

MCP Server

mcp-code-wrapper

MCP代码包装器是一个将MCP工具定义转换为渐进式发现API的工具,可减少高达96%的上下文使用,同时保持完整的MCP功能。

工具数

0

提示词数

0

GitHub Stars

15

资源数

0
代码生成TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

paddo

提供方

paddo

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx mcp-code-wrapper . # Current directory

详细介绍

MCP代码包装器

![License: MIT](https://opensource.org/licenses/MIT) ](https://www.npmjs.com/package/mcp-code-wrapper) ](https://github.com/paddo/mcp-code-wrapper/issues) ![PRs Welcome](CONTRIBUTING.md)

⚠️ 实验性:该项目正在积极开发中,尚未准备好投入生产。API可能会更改,恕不另行通知。使用风险自负。欢迎投稿和反馈!

将MCP工具定义转换为渐进式发现API(节省96%的上下文)

使用自动渐进式工具发现为模型上下文协议服务器生成代码执行包装器。将上下文使用率降低高达96%,同时保持完整的MCP功能。

问题

将MCP服务器直接加载到Claude Code中会使所有工具定义的上下文膨胀:

Chrome DevTools MCP:    17,500 tokens (26 tools)
MSSQL Database (×2):    11,200 tokens (16 tools)
─────────────────────────────────────────────
Total:                  28,700 tokens (14.5% of 200k context)

使用3-4台MCP服务器,您可以在执行任何实际工作之前轻松达到50k+令牌。

解决方案

通过文件系统结构进行渐进式发现

不是预先加载所有工具,而是将它们呈现为Claude按需探索的TypeScript API文件系统:

api-universal/
├── index.ts              # Root discovery (~100 tokens)
├── navigation/           # 6 tools
│   ├── navigate_page.ts  # Load only when needed
│   └── index.ts
├── debugging/            # 5 tools
└── ...

克劳德只读它需要的东西:

  1. 读取根索引→ 发现类别
  2. 探索类别→ 查看可用工具
  3. 阅读特定工具→ 获取文档
  4. 使用API→ 通过MCP执行

结果:典型的2-tool任务约550个令牌(而28700个令牌)

快速开始

安装

# Via npx (no install needed)
npx mcp-code-wrapper .                # Current directory
npx mcp-code-wrapper /path/to/project # Specific project
npx mcp-code-wrapper --global         # Global ~/.claude/ MCPs
npx mcp-code-wrapper --help           # Show help

# Or clone and run locally
git clone https://github.com/paddo/mcp-code-wrapper
cd mcp-code-wrapper
pnpm install
pnpm run generate /path/to/project

用法

项目模式 (转换项目中的MCP):

npx mcp-code-wrapper .                # Current directory (interactive selection)
npx mcp-code-wrapper /path/to/project # Specific directory (interactive selection)
npx mcp-code-wrapper . --all          # Generate all servers without prompting
npx mcp-code-wrapper . --servers mssql-main,chrome-devtools  # Specific servers

交互模式 (默认):

  • 显示可用MCP服务器列表
  • 选择要为其生成包装器的服务器
  • 当您只需要特定的MCP时很有用

所有模式 (--all 标志):

  • 在不提示的情况下为所有MCP生成包装器
  • 适用于自动化/脚本

它的作用:

  1. 发现中的所有MCP服务器 .mcp.json
  2. 服务器选择提示(除非 --all 旗帜)
  3. 在中生成代码包装器 .mcp-wrappers/
  4. 为每个MCP创建Claude代码技能
  5. 禁用MCP(保留执行器的配置)
  6. 更新 .gitignore

全局模式 (需要明确的标志):

npx mcp-code-wrapper --global

寻找 ~/.claude/mcp.json 并在中生成包装器 ~/.claude/.mcp-wrappers/

世代之后

重新启动Claude代码以加载新技能:

claude -c

⚠️ 重要提示: 当Claude Code重启并提示启用MCP时, 拒绝/关闭它们技能使用渐进式发现——MCP保持禁用状态,并由包装器按需生成。

技能将使用 .mcp.json 配置以通过渐进式发现按需生成服务器。

验证技能是否已加载

重启后,问克劳德它有什么技能:

> what skills do you have?

I have access to three specialized skills:

1. mcp-chrome-devtools - Browser automation and testing
   - Navigate pages, fill forms, take screenshots
   - Inspect network traffic, debug JavaScript

2. mcp-mssql-dev - Database operations on 'app_dev' database
   - Execute SQL queries, read/write data
   - Manage tables and schemas

3. mcp-mssql-prod - Database operations on 'app_prod' database
   - Same SQL capabilities, production database

代币管制

真实世界示例

之前 (直接MCP):

  • Chrome DevTools:26个工具=17500个令牌
  • 数据库服务器1:8个工具=5600个令牌
  • 数据库服务器2:8个工具=5600个令牌
  • 总计:28700个令牌(占上下文的14.5%)

之后 (渐进式发现):

  • 根索引:约200个令牌
  • 2个工具定义:~350个令牌
  • 总计:约550个代币
  • 节省:98% (释放28150个代币)

可扩展性

工作流使用的工具直接MCP渐进式节省
简单任务2个工具28700个令牌550个令牌98%
中等任务5个工具28700个代币950个代币97%
复杂任务10个工具28700个令牌1650个令牌94%

即使是复杂的工作流程也能节省90%以上的上下文。

运作原理

1.将MCP添加到您的项目中

// .mcp.json
{
  "mcpServers": {
    "chrome-devtools": {
      "type": "stdio",
      "command": "npx",
      "args": ["chrome-devtools-mcp@latest"],
      "env": {}
    },
    "database-server": {
      "type": "stdio",
      "command": "node",
      "args": [".mcp-server/dist/index.js"],
      "env": {
        "DB_HOST": "your-host",
        "DB_NAME": "your-database",
        "DB_USER": "your-user",
        "DB_PASSWORD": "***"
      }
    }
  }
}

2.生成包装

npx mcp-code-wrapper /path/to/project

输出:

🔍 Discovering MCP servers in /path/to/project
✅ Found .mcp.json

📦 Discovered 2 MCP servers:
   - chrome-devtools
   - database-server

🔧 Generating wrapper for: chrome-devtools
   ✅ 26 tools in 7 categories
🎯 Creating Claude Code Skill wrapper...

🔧 Generating wrapper for: database-server
   ✅ 8 tools in 1 category
🎯 Creating Claude Code Skill wrapper...

✅ Generated wrappers for 2 MCP servers
📁 Output: /path/to/project/.mcp-wrappers/

🔕 Disabled 2 MCP servers in .mcp.json
🔕 Disabled MCPs in settings.local.json
   MCPs stay in .mcp.json for executor reference
   Restore with: npx mcp-code-wrapper --restore

⚠️  IMPORTANT: Restart Claude Code to load new Skills
   Run: claude -c

3.生成的结构

/path/to/project/
├── .mcp.json                    # MCPs disabled (in-place)
├── .mcp-wrappers/               # Generated code wrappers
│   ├── chrome-devtools/
│   │   ├── navigation/
│   │   │   ├── navigate_page.ts
│   │   │   ├── take_screenshot.ts
│   │   │   └── index.ts
│   │   ├── debugging/
│   │   └── index.ts
│   └── database-server/
│       ├── queries/
│       │   ├── read_data.ts
│       │   ├── insert_data.ts
│       │   └── index.ts
│       └── index.ts
└── .claude/
    ├── settings.local.json      # MCPs disabled (in-place)
    └── skills/                  # Auto-generated Skills
        ├── mcp-chrome-devtools/
        │   ├── skill.json
        │   └── instructions.md
        └── mcp-database-server/
            ├── skill.json
            └── instructions.md

4.行动中的渐进式发现

当你调用技能时:

// Claude reads root index (100 tokens)
import * as db from './.mcp-wrappers/database-server/index.ts';
// Discovers: { queries: {...} }

// Explores category (50 tokens)
import * as queries from './.mcp-wrappers/database-server/queries/index.ts';
// Discovers: { read_data, insert_data, ... }

// Reads specific tool (200 tokens)
import { read_data } from './.mcp-wrappers/database-server/queries/read_data.ts';
// Gets full documentation and API

// Uses tool
const result = await read_data({ query: 'SELECT * FROM users' });

总计:350个令牌(而加载所有工具的令牌为5600个)

主要特点

通用:适用于任何MCP服务器(npm、Python、二进制文件、自定义) ✅ 自动发现:查找中的所有MCP .mcp.json 自动地 ✅ 技能整合:自动生成Claude代码技能 ✅ 配置保存:禁用MCP,但保留executor的配置 ✅ 代币高效:96%以上的上下文节省 ✅ Git安全:自动更新 .gitignore 对于生成的代码 ✅ 没有秘密:Env vars待在家里 .mcp.json (未跟踪) ✅ 自动归一化响应:运行时执行器自动解包MCP响应格式

用例

1.多数据库项目

转换多个数据库MCP而不会造成上下文膨胀:

# Project with 3 database connections
npx mcp-code-wrapper /path/to/project

# Before: 3 databases × 5.6k tokens = 16.8k tokens
# After: Root + 3 tools = ~800 tokens
# Savings: 95%

2.浏览器自动化

在不加载所有26个工具的情况下使用Chrome DevTools MCP:

# Before: 17.5k tokens
# After (using 2 tools): 650 tokens
# Savings: 96%

3.全球MCP管理

一次性转换所有全局MCP:

npx mcp-code-wrapper --global

# Skills available in all projects
# MCPs disabled globally
# Context savings across all sessions

高级用法

恢复原始MCP

删除所有生成的包装和技能,重新启用MCP:

# Restore current directory
npx mcp-code-wrapper --restore

# Restore specific project
npx mcp-code-wrapper --restore /path/to/project

这将:

  • 移除 .mcp-wrappers/ 目录
  • 移除所有 mcp-* 技能来自 .claude/skills/
  • 在中重新启用MCP .mcp.json (删除 "disabled": true)
  • 在中重新启用MCP .claude/settings.local.json

未创建备份文件 -对配置进行操作,以避免意外提交机密。

保持MCP启用

默认情况下,MCP在包装器生成后被禁用。要保持启用状态,请执行以下操作:

npx mcp-code-wrapper /path/to/project --no-disable

这会生成包装,但使MCP在两者中都处于活动状态 .mcp.json.claude/settings.local.json.

生成所有内容而不提示

要跳过交互式服务器选择并一次生成所有服务器,请执行以下操作:

npx mcp-code-wrapper /path/to/project --all

这对于自动化、CI/CD或始终希望包装所有MCP时非常有用。

生成特定服务器

要在不提示的情况下为特定服务器生成包装器,请执行以下操作:

npx mcp-code-wrapper /path/to/project --servers mssql-main,chrome-devtools

这在以下情况下很有用:

  • 只想包装特定的MCP
  • 正在脚本中自动生成包装器
  • 只想在没有交互式提示的情况下重新生成一台服务器

为特定MCP生成

# Traditional command mode (for testing)
pnpm run generate --from-mcp-json /path/to/.mcp.json --server database-server

使用自定义环境生成

DB_HOST=your-host DB_NAME=your-database pnpm run generate node /path/to/mcp-server.js

项目结构

mcp-code-wrapper/
├── src/
│   ├── cli.ts                    # npx entry point
│   ├── generator-universal.ts    # Universal MCP generator
│   ├── executor.ts               # MCP client & code executor
│   ├── measure-tokens.ts         # Token comparison tool
│   └── index.ts                  # Demo workflow
├── USAGE.md                      # Detailed usage guide
├── FINDINGS.md                   # Experiment analysis
├── CONTEXT.md                    # Project context
└── UNIVERSAL_GENERATOR.md        # Technical details

文档

工作流比较

无代码包装器

Session Start
└─ Load all MCP tool definitions (28.7k tokens)
   └─ Use 2 tools
      └─ 26.7k tokens wasted on unused tools

使用代码包装器

Session Start
└─ Load Skills (50 tokens)
   └─ Read root index (100 tokens)
      └─ Navigate to category (50 tokens)
         └─ Read 2 tool files (350 tokens)
            └─ Use tools
Total: 550 tokens (98% savings)

需求

  • Node.js 18+
  • 克劳德代码(用于技能整合)
  • 项目与 .mcp.json 或全球 ~/.claude/mcp.json

贡献

欢迎投稿!请看 贡献.md 作为指导方针。

这是一个实验项目。看 内容.md 了解当前状态和下一步行动。

许可证

麻省理工学院

相关工作

鸣谢

目录标签

目录标签

代码生成TypeScriptClaudeMCP工具本地部署渐进式发现上下文优化API包装

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

mcp-code-wrapper

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP