본문으로 건너뛰기
cccskills
무료GitHub에 공개

mcp-dynamic-orchestrator

Dynamic MCP server discovery and code-mode execution via central registry. Use for multiple MCP integrations, tool discovery, progressive disclosure, or encountering MCP context bloat, changing server sets, large tool sets.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Cloudflare
설치 방법 보기

포함된 파일(8)

  • SKILL.md5.8 KB
  • references/mcp-protocol.md16.8 KB
  • references/registry-schema.md21.1 KB
  • references/security-model.md20.8 KB
  • references/troubleshooting.md18.4 KB
  • scripts/describe_mcp.ts418 B
  • scripts/execute_mcp_code.ts433 B
  • scripts/list_mcp_capabilities.ts289 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Overview

Use this skill to:

  • Discover which MCP servers are available and what they are for.
  • Inspect a specific MCP's capabilities without loading all tool schemas.
  • Execute TypeScript/JavaScript that calls MCP tools via generated mcp-clients/* modules.

If no MCP servers are configured, list_mcp_capabilities will respond with an empty list and a message pointing to skills/mcp-dynamic-orchestrator/mcp.registry.json so the user can add MCP entries.

This skill reads from mcp.registry.json, so adding an MCP entry there (for example the Cloudflare MCP) automatically makes it discoverable without changing tool wiring.

Cloudflare MCP example

The Cloudflare MCP server can be configured in mcp.registry.json like this:

{
  "id": "cloudflare",
  "title": "Cloudflare platform MCP",
  "summary": "Interact with Cloudflare's MCP endpoint for documentation, examples, and platform operations exposed via the official Cloudflare MCP server.",
  "mcp": {
    "transport": "stdio",
    "command": "npx",
    "args": [
      "mcp-remote",
      "https://docs.mcp.cloudflare.com/sse"
    ]
  },
  "domains": ["cloudflare", "workers", "kv", "r2", "queues", "zero_trust", "networking", "security", "observability"],
  "tags": ["cloudflare", "platform", "infra", "docs", "workers", "mcp"],
  "examples": [
    "Fetch Cloudflare Workers documentation for a specific API.",
    "Search Cloudflare platform docs for queues or KV usage patterns.",
    "Look up configuration guidance for Zero Trust or networking features."
  ],
  "sensitivity": "low",
  "visibility": "default",
  "priority": 10,
  "autoDiscoverTools": true
}

With this entry present:

  • list_mcp_capabilities will return cloudflare when queries mention Cloudflare, Workers, KV, R2, Queues, etc.
  • describe_mcp with id: "cloudflare" will surface concise tool summaries from the Cloudflare MCP server.
  • execute_mcp_code lets the agent write TypeScript such as:
import * as cloudflare from "mcp-clients/cloudflare";

async function main() {
  const docs = await cloudflare.search_docs({ query: "Workers KV" });
  console.log(docs.summary);
}

The actual available functions under mcp-clients/cloudflare are generated dynamically from the MCP tool definitions; the agent should always:

  1. Discover via list_mcp_capabilities.
  2. Inspect via describe_mcp to see available operations.
  3. Use those operations via execute_mcp_code.

How to use

  1. Call list_mcp_capabilities with a natural language query or filters to see which MCPs exist.
  2. For a chosen MCP (e.g. cloudflare), call describe_mcp to understand its operations.
  3. Write TypeScript/JavaScript that imports from mcp-clients/<id> and calls the exported functions.
  4. Run your code with execute_mcp_code, optionally restricting allowedMcpIds for safety.

Rules

  • Do not assume individual MCP tools are top-level tools.
  • Always: discover → describe → generate code → execute_mcp_code.
  • Request detail: "schema" in describe_mcp only when exact parameter shapes are required.

Known Limitations

Sandbox Security (CRITICAL)

⚠️ The current sandbox implementation is NOT secure for untrusted code.

⚠️ The vm-based sandbox is NOT a security boundary. Node's vm module can be escaped (see Node docs). This setting reduces accidental damage only. For untrusted MCP entries, run them in a separate process/container with proper OS-level isolation.

  • Uses vm.createContext() which is NOT a security boundary
  • Can be escaped via prototype pollution, require() manipulation, etc.
  • Only enable for Claude-generated code (trusted source)
  • Requires MCP_ORCH_ENABLE_SANDBOX=1 environment variable
  • See references/security-model.md for complete security details

Spawn Hardening (Command & Env Allowlisting)

When adding entries to mcp.registry.json, the orchestrator enforces:

  1. Command allowlist — only npx, npm, pnpm, yarn, bunx, bun, node, deno, uvx, uv, python, python3, cargo, go (bare names resolved via PATH). Absolute/relative paths and shells are rejected. Set MCP_ORCH_ALLOW_RAW_COMMANDS=1 to opt out (loud stderr warning; only for fully-trusted registries).
  2. Env var denylist — PATH, NODE_OPTIONS, LD_PRELOAD, DYLD_INSERT_LIBRARIES, PYTHONPATH, etc. are stripped from mcp.env before spawn (stderr warning per dropped key).

Other Limitations

  • No TypeScript compilation: User code in .ts format will fail
  • No module resolution: Imports from mcp-clients/* don't resolve; use $call() API
  • Static registry: Adding/removing MCPs requires restart
  • Limited error handling: Generic errors for MCP connection failures

For detailed troubleshooting, see references/troubleshooting.md.

Production Status

What's Working ✅:

  • Discovery via list_mcp_capabilities (fully functional)
  • Inspection via describe_mcp (fully functional)
  • Registry management (16 MCPs configured)
  • MCP clients (stdio + HTTP transports)
  • Safety controls (visibility, sensitivity, policies)

What's Limited 🟡:

  • Code execution (requires env flag, sandbox not secure)
  • Testing (basic smoke tests only)

What's Planned 🔮:

  • Secure sandbox with Worker threads (v1.1)
  • TypeScript compilation support (v1.1)
  • Module resolution (v1.1)
  • Dynamic registry updates (v1.2)

For complete roadmap, see plan.md in repository root.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

100+ animated React components (Aceternity UI) for Next.js with Tailwind. Use for hero sections, parallax, 3D effects, or encountering animation, shadcn CLI integration errors.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2322026년 10월 20일 업데이트

Secure API authentication with JWT, OAuth 2.0, API keys. Use for authentication systems, third-party integrations, service-to-service communication, or encountering token management, security headers, auth flow errors.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2322026년 10월 20일 업데이트

Creates comprehensive API changelogs documenting breaking changes, deprecations, and migration strategies for API consumers. Use when managing API versions, communicating breaking changes, or creating upgrade guides.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2322026년 10월 20일 업데이트

Verifies API contracts between services using consumer-driven contracts, schema validation, and tools like Pact. Use when testing microservices communication, preventing breaking changes, or validating OpenAPI specifications.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2322026년 10월 20일 업데이트

Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing API design standards.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2322026년 10월 20일 업데이트

Implements standardized API error responses with proper status codes, logging, and user-friendly messages. Use when building production APIs, implementing error recovery patterns, or integrating error monitoring services.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2322026년 10월 20일 업데이트

secondsky의 스킬 모두 보기

이 스킬의 문제 신고