create-plugin

📁 ethpandaops/mcp 📅 8 days ago
4
总安装量
4
周安装量
#53327
全站排名
安装命令
npx skills add https://github.com/ethpandaops/mcp --skill create-plugin

Agent 安装分布

opencode 4
gemini-cli 4
claude-code 4
github-copilot 4
codex 4
kimi-cli 4

Skill 文档

Create New Plugin

Add a datasource plugin following the existing patterns.

Files to Create

plugins/{name}/
├── config.go        # Config struct + Validate() + ApplyDefaults()
├── plugin.go        # Implements plugin.Plugin interface
├── examples.go      # Embeds examples.yaml
├── examples.yaml    # Query examples
└── python/{name}.py # Sandbox module (connects via proxy)

Plus:

  • pkg/proxy/handlers/{name}.go – Reverse proxy handler

Templates

Copy from plugins/prometheus/ for a simple plugin, or plugins/clickhouse/ for one with schema discovery.

Registration Steps

  1. builder.go – Import and add reg.Add({name}plugin.New())
  2. builder.go – Add case to buildProxy() type switch
  3. pkg/proxy/proxy.go – Add field to Options struct
  4. pkg/proxy/proxy.go – Register handler in Start()
  5. sandbox/ethpandaops/ethpandaops/init.py – Add to lazy imports
  6. Copy Python module to sandbox/ethpandaops/ethpandaops/

Key Rules

  • Credentials NEVER go to sandbox – use SandboxEnv() for metadata only
  • ProxyConfig() returns credentials for the proxy handler
  • Python module reads ETHPANDAOPS_{NAME}_DATASOURCES env var (JSON, no creds)
  • Python module calls proxy at /{name}/{instance}/...

Checklist

  • Implements all plugin.Plugin methods (see pkg/plugin/plugin.go)
  • Proxy handler follows pattern in pkg/proxy/handlers/prometheus.go
  • make lint && make test pass
  • make docker-sandbox builds