From magic-powers
Use when connecting Claude Code to external services via MCP (Model Context Protocol) — configuring MCP servers for databases, APIs, file systems, and custom tools, and designing effective tool descriptions for Claude.
npx claudepluginhub kienbui1995/magic-powers --plugin magic-powersThis skill uses the workspace's default tool permissions.
MCP (Model Context Protocol) lets Claude Code call external tools: query your database, create GitHub issues, search Slack, call APIs. Without MCP, Claude can only work with files and bash commands. With MCP, Claude becomes a full participant in your entire toolchain — querying live data to debug, creating issues, looking up docs.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
MCP (Model Context Protocol) lets Claude Code call external tools: query your database, create GitHub issues, search Slack, call APIs. Without MCP, Claude can only work with files and bash commands. With MCP, Claude becomes a full participant in your entire toolchain — querying live data to debug, creating issues, looking up docs.
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://localhost/mydb"
}
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"]
}
}
}
Scope: Project-level (.claude/settings.json) or global (~/.claude/settings.json). Project-level preferred for team consistency. Never hardcode secrets — use ${ENV_VAR} syntax.
Database:
@modelcontextprotocol/server-postgres — Query PostgreSQL directly
@modelcontextprotocol/server-sqlite — Query SQLite files
Development:
@modelcontextprotocol/server-github — Issues, PRs, repos
@modelcontextprotocol/server-git — Git history, blame
@modelcontextprotocol/server-filesystem — File system access
Analytics:
@amplitude/mcp — Amplitude analytics
(see Amplitude Division in magic-powers)
Productivity:
@modelcontextprotocol/server-slack — Slack messages, channels
mcp-server-linear — Linear issues
The most important thing about MCP: tool descriptions determine when Claude uses them.
// Bad tool description — Claude won't know when to call this
{
name: "query_db",
description: "Queries the database",
inputSchema: { query: { type: "string" } }
}
// Good tool description — Claude knows exactly when and how to use
{
name: "query_user_data",
description: "Query the PostgreSQL database for user information, analytics, or debugging. Use when: checking what data exists for a user, debugging production issues, verifying data integrity. Returns: JSON with query results. Max 100 rows. Timeout: 10s.",
inputSchema: {
query: {
type: "string",
description: "SQL SELECT query only. No INSERT/UPDATE/DELETE. Tables: users, subscriptions, events, audit_log."
}
}
}
Good descriptions answer: when to call this tool, what it returns, what constraints apply (read-only, row limits, timeouts), and what tables/endpoints are available.
Read-only access: Grant Claude SELECT-only DB permissions for dev databases
Scoped access: Limit filesystem MCP to project directory only
No production creds: Use dev/staging credentials in local MCP config
Audit logging: Log all MCP tool calls for security review
Secret management: Use environment variables, never hardcode in settings.json
.claude/settings.json committed to repo (minus secrets)?.claude/settings.json: MCP server configurationclaude-hooks (hooks can validate/audit MCP tool calls via PreToolUse)claude-project-settings (MCP configured in same settings.json)