From rpw-building
Use when creating or modifying MCP servers in this repo. Enforces secret-free configs, uv/uvx entrypoints, and .env.example patterns.
npx claudepluginhub randypitcherii/rpw-agent-marketplace --plugin rpw-buildingThis skill uses the workspace's default tool permissions.
Required standards for any MCP server in the `rpw-building` plugin and this repository. Apply when adding new servers or updating existing ones.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides MCP server integration in Claude Code plugins via .mcp.json or plugin.json configs for stdio, SSE, HTTP types, enabling external services as tools.
Required standards for any MCP server in the rpw-building plugin and this repository. Apply when adding new servers or updating existing ones.
.env at runtime by run_mcp.py or equivalent launcher..env — ensure .gitignore includes .env and **/.env..env.example — document required env vars with placeholder values (no real secrets).<server>.mcp.json (e.g. google_tasks.mcp.json, google_docs_with_subtabs.mcp.json)..mcp.json — every plugin must ship a root .mcp.json at the repo/plugin root that wires all MCP servers.${CLAUDE_PLUGIN_ROOT} for paths — MCP config args must use ${CLAUDE_PLUGIN_ROOT} placeholders (not machine-specific absolute paths) for Claude portability.| File | Purpose |
|---|---|
run_mcp.py | Loads .env, validates required vars, execs the MCP server with enriched env |
.env.example | Template listing required variables (e.g. GOOGLE_CLIENT_ID=, GOOGLE_CLIENT_SECRET=) |
<server>.mcp.json | Sample config for Claude Desktop / Cursor; command/args only, no secrets |
pyproject.toml | Project metadata and dependencies |
{
"_comment": "Sample config for <server>. Merge into your MCP client config. No secrets.",
"mcpServers": {
"<server-name>": {
"command": "uv",
"args": ["run", "--project", "${CLAUDE_PLUGIN_ROOT}/mcp-servers/<server>", "python", "${CLAUDE_PLUGIN_ROOT}/mcp-servers/<server>/run_mcp.py"]
}
}
}
uv run for local development; uvx for published packages.${CLAUDE_PLUGIN_ROOT} placeholders for Claude portability..env loaded by run_mcp.py.When generating MCP config for Cursor, derive from the plugin-root .mcp.json and ${CLAUDE_PLUGIN_ROOT} pattern. Cursor reads MCP config from its settings; ensure generated config uses the same portable path placeholders so it works across machines.
Ensure the repo .gitignore contains:
.env
**/.env