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

Code Execution Helper MCP

MCP Server

一个帮助代理编写高效代码以调用其他MCP工具的模型上下文协议(MCP)服务器,提供代码生成、模板和示例,支持渐进式披露以减少令牌浪费。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
代码生成错误处理PythonClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

bmcgauley

提供方

bmcgauley

最后核验

2026/5/17 20:22

快速接入

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

命令预览

pip install -e .

详细介绍

代码执行助手MCP

一个模型上下文协议(MCP)服务器,帮助代理编写高效的代码来调用其他MCP工具,遵循以下代码执行模式 Anthropic的博客文章.

概述

此MCP提供代码生成、模板和示例,以帮助代理:

  • 生成可执行代码 用于调用MCP工具
  • 访问模式模板 用于常见的代码执行场景
  • 遵循最佳实践 用于令牌高效代理代码
  • 实施渐进式披露 尽量减少上下文使用

主要优势

  • 代币减少98% 使用基于资源的数据访问模式
  • 类型安全代码生成 用于TypeScript和Python
  • 生产就绪模板 具有错误处理功能
  • 渐进式披露 最小化令牌浪费的架构

安装

cd c:/github/mcps/code-execution-helper-mcp
pip install -e .

依赖项

pip install mcp pydantic

快速开始

运行服务器

python server.py

与Claude Desktop一起使用

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "code-execution-helper": {
      "command": "python",
      "args": ["c:/github/mcps/code-execution-helper-mcp/server.py"]
    }
  }
}

工具

1. code_helper_list_patterns

列出可用的代码执行模式,并逐步披露。

参数:

  • detail_level:“minimal”|“short”|“full”(默认值:“minimum”)
  • language:“python”|“typescript”|“javascript”(可选)
  • category:图案类别过滤器(可选)

例子:

# List all pattern names (minimal tokens)
result = await mcp.call("code_helper_list_patterns", {
    "detail_level": "minimal"
})

# Get brief descriptions
result = await mcp.call("code_helper_list_patterns", {
    "detail_level": "brief",
    "language": "python"
})

# Get full details for specific category
result = await mcp.call("code_helper_list_patterns", {
    "detail_level": "full",
    "category": "resource_access"
})

代币减少: 95%(最低与最高)

2. code_helper_search_patterns

按关键字、语言或类别搜索模式。

参数:

  • query:搜索词(必填)
  • language:语言过滤器(可选)
  • category:类别过滤器(可选)

例子:

# Find patterns for resource handling
result = await mcp.call("code_helper_search_patterns", {
    "query": "resource"
})

# Find Python error handling patterns
result = await mcp.call("code_helper_search_patterns", {
    "query": "error",
    "language": "python"
})

3. code_helper_generate_code

生成用于调用MCP工具的可执行代码。

参数:

  • tool_name:MCP工具的名称(必填)
  • language:“python”|“typescript”|“javascript”(默认值:“python”)
  • parameters:刀具参数字典(可选)
  • include_error_handling:包括try/catch(默认值:true)
  • include_resource_access:包括资源获取(默认值:true)
  • include_comments:包括解释性注释(默认值:true)

例子:

# Generate Python code for web scraping
result = await mcp.call("code_helper_generate_code", {
    "tool_name": "webscrape_scrape_url",
    "language": "python",
    "parameters": {
        "url": "https://example.com",
        "response_format": "markdown"
    }
})

# Result contains executable code:
code = result["code"]

生成代码示例:

async def call_webscrapescrapeurl(url: str) -> Dict[str, Any]:
    """Call webscrape_scrape_url and handle response"""
    params = {
        "url": url,
        "response_format": "markdown",
    }

    try:
        # Call the MCP tool
        result = await mcp.call("webscrape_scrape_url", params)

        if "error" in result:
            raise Exception(result["error"])

        # Fetch resource if returned
        if "resource_uri" in result:
            # Content fetched into execution env, NOT context
            content = await mcp.get_resource(result["resource_uri"])
            result["content"] = content

        return result

    except Exception as e:
        # Return error details for debugging
        return {
            "error": str(e),
            "tool_name": "webscrape_scrape_url",
            "params": params,
            "failed": True
        }

4. code_helper_get_template

获取特定模式的完整代码模板。

参数:

  • pattern_name:图案标识符(必填)
  • language:“python”|“typescript”|“javascript”(默认值:“python”)

可用图案:

  • progressive_discovery -增量工具发现
  • resource_access -使大数据脱离上下文
  • error_handling_retry -使用指数回退重试
  • parallel_execution -并发工具调用
  • data_chunking -分块处理大型数据集
  • pii_tokenization -标记敏感数据
  • caching_memoization -缓存昂贵的操作
  • tool_composition -将工具链入管道

例子:

# Get Python template for progressive discovery
result = await mcp.call("code_helper_get_template", {
    "pattern_name": "progressive_discovery",
    "language": "python"
})

template_code = result["code"]
use_cases = result["use_cases"]
token_savings = result["token_savings"]  # e.g., "95%"

资源

模式模板

直接通过资源URI访问模板:

code-helper://pattern/{pattern_name}/{language}

示例:

  • code-helper://pattern/progressive_discovery/python
  • code-helper://pattern/resource_access/typescript
  • code-helper://pattern/parallel_execution/python

用途:

# Fetch template as resource
template = await mcp.get_resource(
    "code-helper://pattern/progressive_discovery/python"
)

工具示例

访问工具使用示例:

code-helper://example/{tool_name}

示例:

  • code-helper://example/webscrape_scrape_url
  • code-helper://example/midi_text_to_midi

代码模式

1.渐进式发现

代币节省: 95%

使用案例:

  • 查找可用工具
  • 按需加载架构
  • 最小化上下文使用

模板:

async def discover_tools(mcp_name: str = "webscrape"):
    # Step 1: List all tools (minimal detail) - ~500 bytes
    tools_list = await mcp.call(f"{mcp_name}_list_tools", {
        "detail_level": "minimal"
    })

    # Step 2: Search for relevant tools - ~1KB
    search_results = await mcp.call(f"{mcp_name}_search_tools", {
        "query": "scrape",
        "category": "scraping"
    })

    # Step 3: Load full schema only when needed - ~2KB
    full_schema = await mcp.call(f"{mcp_name}_search_tools", {
        "query": "scrape_url",
        "detail_level": "full"
    })

    return full_schema

2.资源访问

代币节省: 98%

使用案例:

  • 处理报废内容
  • 处理二进制文件
  • 管理大型数据集

模板:

async def fetch_and_process_data(url: str):
    # Step 1: Get reference (small, ~100 bytes)
    result = await mcp.call("webscrape_scrape_url", {"url": url})

    # Step 2: Fetch into execution env (NOT context)
    content = await mcp.get_resource(result["resource_uri"])

    # Step 3: Process locally (no token cost)
    processed = process_locally(content)

    return processed

3.重试时的错误处理

代币节省: 0%(增加稳健性)

使用案例:

  • 网络错误
  • 速率限制
  • 瞬态故障

模板:

async def resilient_tool_call(tool_name: str, params: dict, max_retries: int = 3):
    for attempt in range(max_retries):
        try:
            result = await mcp.call(tool_name, params)
            if "error" in result:
                raise Exception(result["error"])
            return result
        except Exception as e:
            if attempt == max_retries - 1:
                return {"error": str(e), "failed": True}
            wait_time = 2 ** attempt
            await asyncio.sleep(wait_time)

4.并行执行

演出 快10-100倍

使用案例:

  • 删除多个URL
  • 批量处理
  • 独立运营

模板:

async def parallel_scrape(urls: List[str], max_concurrent: int = 5):
    semaphore = asyncio.Semaphore(max_concurrent)

    async def scrape_with_limit(url: str):
        async with semaphore:
            return await mcp.call("webscrape_scrape_url", {"url": url})

    results = await asyncio.gather(*[
        scrape_with_limit(url) for url in urls
    ])

    return results

测试

运行测试套件:

cd tests
pytest test_server.py -v

测试覆盖率

  • 渐进式披露 -令牌减少验证
  • 模式搜索 -搜索准确性和过滤
  • 代码生成 -Python/TypeScript的语法验证
  • 模板检索 -所有模式均可访问
  • 资源访问 -URI解析
  • 集成测试 -完整的工作流程

测试结果示例

test_list_patterns_minimal PASSED                           [ 10%]
test_list_patterns_brief PASSED                             [ 20%]
test_list_patterns_full PASSED                              [ 30%]
test_progressive_disclosure_token_reduction PASSED          [ 40%]
  Progressive total: 1,247 bytes
  Full load: 8,532 bytes
  Reduction: 85.4%
test_generated_code_is_syntactically_valid_python PASSED    [ 50%]
...

性能指标

按模式减少代币

模式用例代币节省
渐进式发现工具探索95%
资源访问大数据处理98%
数据分块多MB文件99%
PII标记化敏感数据90%
缓存重复操作80%
工具组合多步骤工作流程70%

代码生成指标

  • 生成时间: \<50ms
  • 生成的代码大小: 200-500线
  • 语法错误率: 0%
  • 类型安全: 100%(使用TypeScript定义)

建筑

渐进式披露设计

Agent Workflow:
1. List patterns (minimal) → 500 bytes
2. Search for specific pattern → 1KB
3. Get full template → 2KB
Total: ~3.5KB

vs

Traditional Approach:
Load all patterns → 50KB
Reduction: 93%

工具组织

code-execution-helper-mcp/
├── server.py              # Main MCP server
├── tools/                 # TypeScript definitions
│   ├── list_patterns.ts
│   ├── search_patterns.ts
│   ├── generate_code.ts
│   ├── get_template.ts
│   └── index.ts
├── patterns/              # Pattern templates
│   ├── typescript/
│   └── python/
├── tests/                 # Test suite
│   └── test_server.py
└── README.md

最佳实践

面向代理开发人员

  1. 最小启动: 使用 detail_level: "minimal" 列出模式
  2. 先搜索: 使用 search_patterns 加载完整模式之前
  3. 按需生成: 使用 generate_code 针对特定工具
  4. 缓存模板: 模板代码很少更改
  5. 使用资源: 尽可能通过URI访问模板

面向MCP开发人员

  1. 实施发现: 添加 list_toolssearch_tools 端点
  2. 返回引用: 使用资源URI而不是完整数据
  3. 提供TypeScript定义: 启用类型安全代码生成
  4. 文档模式: 在MCP中包含示例
  5. 测试令牌使用情况: 衡量和优化上下文使用情况

例子

完整工作流示例

"""
Complete agent workflow using code execution helper
"""

import asyncio

async def scrape_with_patterns():
    # Step 1: Discover what patterns are available
    patterns = await mcp.call("code_helper_list_patterns", {
        "detail_level": "minimal"
    })
    print(f"Available patterns: {len(patterns)}")

    # Step 2: Search for relevant pattern
    results = await mcp.call("code_helper_search_patterns", {
        "query": "resource"
    })
    print(f"Found {len(results)} matching patterns")

    # Step 3: Get template for resource access
    template = await mcp.call("code_helper_get_template", {
        "pattern_name": "resource_access",
        "language": "python"
    })
    print("Template retrieved")

    # Step 4: Generate code for specific tool
    code = await mcp.call("code_helper_generate_code", {
        "tool_name": "webscrape_scrape_url",
        "language": "python",
        "parameters": {"url": "https://example.com"}
    })

    # Step 5: Use the generated code pattern
    # (In real usage, agent would execute this code)
    print("Generated code:")
    print(code["code"])

# Run workflow
asyncio.run(scrape_with_patterns())

贡献

添加新模式

  1. 将模式元数据添加到 PATTERNS dict in server.py
  2. 在中创建模板 PYTHON_TEMPLATESTYPESCRIPT_TEMPLATES
  3. 将测试添加到 tests/test_server.py
  4. 更新 PATTERNS.md 有单据

图案模板结构

PATTERNS["pattern_name"] = {
    "name": "pattern_name",
    "title": "Human Readable Title",
    "category": PatternCategory.CATEGORY_NAME,
    "description": "Brief description",
    "languages": [Language.PYTHON, Language.TYPESCRIPT],
    "use_cases": ["Use case 1", "Use case 2"],
    "token_savings": "XX%",
    "difficulty": "beginner|intermediate|advanced"
}

许可证

MIT许可证-免费使用和修改

相关资源

支持

对于问题或疑问:

  1. 查看测试套件中的示例
  2. 查看中的模式模板 server.py
  3. 请参阅MCP重构指南
  4. 检查技能目录中的工作示例

______________________________________________________________________

使用代码执行助手MCP生成 -自2025年以来,帮助代理编写更好的代码

目录标签

目录标签

代码生成错误处理PythonClaude本地部署MCP工具渐进式披露资源访问

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

token

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP