スキル一覧に戻る
elb-pr

te-config

by elb-pr

Slim tool definitions. Auto-compressed responses. Context efficiency on both end. Ships with 7 example servers, reduces context consumption by 98% (48k tokens down to 1.1k).

41🍴 2📅 2026年1月24日
GitHubで見るManusで実行

SKILL.md


name: te-config description: Use this skill when users ask "add MCP server", "remove MCP", "configure tool executor", "add new tool", "environment variables for tool executor", "regenerate registry", or need to modify which MCP servers are available in the sandbox.

Tool Executor Configuration

Configure which MCP servers are available in the Tool Executor sandbox. Serena is mandatory and cannot be removed.

Architecture Overview

tool-executor.config.json  →  clients.ts loads configs  →  Sandbox exposes clients
                                    ↓
                           npm run extract  →  registry/ YAML files

Configuration File

Create tool-executor.config.json in the project root:

{
  "$schema": "./tool-executor.config.schema.json",
  "servers": [
    {
      "name": "serena",
      "displayName": "Serena",
      "command": "uvx",
      "args": ["--from", "git+https://github.com/oraios/serena", "serena", "start-mcp-server"]
    },
    {
      "name": "gemini",
      "displayName": "Gemini",
      "command": "npx",
      "args": ["-y", "@rlabs-inc/gemini-mcp"],
      "env": {
        "GEMINI_API_KEY": "${GEMINI_API_KEY}"
      }
    }
  ]
}

Config File Locations (checked in order)

  1. tool-executor.config.json
  2. tool-executor.config.js
  3. .tool-executorrc.json

Adding a New MCP Server

Step 1: Add to Configuration

{
  "servers": [
    // ... existing servers ...
    {
      "name": "newServer",
      "displayName": "New Server",
      "command": "npx",
      "args": ["-y", "@example/new-mcp-server"],
      "env": {
        "API_KEY": "${NEW_SERVER_API_KEY}"
      }
    }
  ]
}

Step 2: Add Type Definition

Edit src/types.ts to add the client type:

export interface MCPClients {
  serena: Client | null;
  // ... existing clients ...
  newServer: Client | null;  // Add this
}

Step 3: Regenerate Registry

npm run extract

This connects to all configured MCP servers and generates YAML files in registry/.

Step 4: Rebuild and Restart

npm run build
# Restart Claude Code to pick up new MCP server

Removing an MCP Server

WARNING: Serena cannot be removed - it powers both search_tools and is available in the sandbox.

Step 1: Remove from Configuration

Delete the server entry from tool-executor.config.json.

Step 2: Remove Type Definition

Remove from src/types.ts MCPClients interface.

Step 3: Clean Registry

rm -rf registry/{category}/{serverName}/
npm run extract  # Regenerate remaining

Step 4: Rebuild

npm run build

Environment Variables

Setting Environment Variables

Environment variables use ${VAR_NAME} syntax in config:

{
  "env": {
    "GEMINI_API_KEY": "${GEMINI_API_KEY}",
    "CUSTOM_VAR": "${MY_CUSTOM_VAR}"
  }
}

Required Environment Variables

ServerVariablePurpose
geminiGEMINI_API_KEYGoogle AI API key
apifyAPIFY_TOKENApify platform token

Setting Variables

In Claude Code config (~/.claude.json):

{
  "mcpServers": {
    "tool-executor": {
      "env": {
        "GEMINI_API_KEY": "your-key-here",
        "APIFY_TOKEN": "your-token-here"
      }
    }
  }
}

Or in shell:

export GEMINI_API_KEY="your-key-here"

Registry Management

Registry Structure

registry/
├── ai-models/gemini/          # Gemini tools (AI queries, images, diagrams)
├── code-nav/serena/           # Serena tools
├── knowledge/context7/        # Context7 tools
├── knowledge/notebooklm/      # NotebookLM tools
├── reasoning/sequentialThinking/
├── ui/shadcn/                 # shadcn tools
└── web/apify/                 # Apify tools

YAML Tool Definition Format

name: tool_name
server: serverName
category: category-folder
description: >-
  What the tool does. Can be multi-line.

inputSchema:
  type: object
  properties:
    param1:
      type: string
      description: Parameter description
  required:
    - param1

example: |
  const result = await serverName.tool_name({ param1: "value" });
  console.log(result);

notes: |
  - Optional tips
  - Gotchas to be aware of

Manual Registry Entry

If npm run extract fails for a server, create YAML files manually:

mkdir -p registry/{category}/{serverName}

Then create registry/{category}/{serverName}/{tool-name}.yaml with the format above.

Serena indexes the registry for semantic search. If search results seem stale:

# Re-run extraction to refresh YAML files
npm run extract

# Rebuild to pick up changes
npm run build

Default Server Configurations

These are the built-in defaults if no config file exists:

NameCommandPackage
serenauvxgit+https://github.com/oraios/serena
context7npx@upstash/context7-mcp
gemininpx@rlabs-inc/gemini-mcp
notebooklmnpxnotebooklm-mcp
shadcnnpxshadcn-ui-mcp-server
apifynpx@apify/actors-mcp-server
sequentialThinkingnpx@modelcontextprotocol/server-sequential-thinking

Source Code Reference

  • ${CLAUDE_PLUGIN_ROOT}/src/sandbox/clients.ts - Client configuration and lifecycle
  • ${CLAUDE_PLUGIN_ROOT}/src/config.ts - Config file loading
  • ${CLAUDE_PLUGIN_ROOT}/src/types.ts - Type definitions
  • ${CLAUDE_PLUGIN_ROOT}/scripts/extract-schemas.ts - Registry generation

スコア

総合スコア

70/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です