From taches-cc-resources
Guides creation of MCP servers exposing tools, resources, and prompts to Claude. Supports TypeScript and Python for APIs, integrations, OAuth auth, with workflows for setup and troubleshooting.
npx claudepluginhub glittercowboy/taches-cc-resources --plugin taches-cc-resourcesThis skill uses the workspace's default tool permissions.
<objective>
references/adaptive-questioning-guide.mdreferences/api-research-template.mdreferences/auto-installation.mdreferences/best-practices.mdreferences/creation-workflow.mdreferences/large-api-pattern.mdreferences/oauth-implementation.mdreferences/python-implementation.mdreferences/response-optimization.mdreferences/testing-and-deployment.mdreferences/tools-and-resources.mdreferences/traditional-pattern.mdreferences/typescript-implementation.mdreferences/validation-checkpoints.mdscripts/setup-python-project.shscripts/setup-typescript-project.shtemplates/operations.jsontemplates/python-server.pytemplates/typescript-server.tsworkflows/create-new-server.mdBuilds MCP (Model Context Protocol) servers in Python and TypeScript to extend Claude with tools, resources, and prompts. Use for creating custom tools or integrating external services.
Guides developers building MCP servers for Claude: interrogates use case, picks deployment (remote HTTP, MCPB, stdio), tool patterns, and hands off to scaffolding skills.
Guides developers building MCP servers for Claude: interrogates use case, selects deployment (remote HTTP, MCPB, stdio), tool patterns, and hands off to specialized skills.
Share bugs, ideas, or general feedback.
<essential_principles>
<the_5_rules> Every MCP server must follow these:
${VAR} expansion in configs, environment variables in codecwd Property - Isolates dependencies (not --cwd in args)which uv to find paths, never relative~/Developer/mcp/{server-name}/uv for Python - Better than pip, handles venvs automatically
</the_5_rules><security_checklist>
<architecture_decision> Operation count determines architecture:
Traditional: Each operation is a separate tool On-demand: 4 meta-tools (discover, get_schema, execute, continue) + operations.json </architecture_decision>
MCP servers expose: - **Tools**: Functions Claude can call (API requests, file operations, calculations) - **Resources**: Data Claude can read (files, database records, API responses) - **Prompts**: Reusable prompt templates with argumentsStandard location: ~/Developer/mcp/{server-name}/
</essential_principles>
Based on user intent, route to appropriate workflow:No context provided (skill invoked without description): Use AskUserQuestion:
Context provided (user described what they want): Route directly to workflows/create-new-server.md
<workflows_index>
| Workflow | Purpose |
|---|---|
| create-new-server.md | Full 8-step workflow from intake to verification |
| update-existing-server.md | Modify or extend an existing server |
| troubleshoot-server.md | Diagnose and fix connection/runtime issues |
| </workflows_index> |
<templates_index>
| Template | Purpose |
|---|---|
| python-server.py | Traditional pattern starter for Python |
| typescript-server.ts | Traditional pattern starter for TypeScript |
| operations.json | On-demand discovery operations definition |
| </templates_index> |
<scripts_index>
| Script | Purpose |
|---|---|
| setup-python-project.sh | Initialize Python MCP project with uv |
| setup-typescript-project.sh | Initialize TypeScript MCP project with npm |
| </scripts_index> |
<references_index> Core workflow:
Architecture patterns:
Language-specific:
Advanced topics:
<quick_reference>
# List servers
claude mcp list
# Add server (Python)
claude mcp add --transport stdio <name> \
--env API_KEY='${API_KEY}' \
-- uv --directory ~/Developer/mcp/<name> run python -m src.server
# Add server (TypeScript)
claude mcp add --transport stdio <name> \
--env API_KEY='${API_KEY}' \
-- node ~/Developer/mcp/<name>/build/index.js
# Remove server
claude mcp remove <name>
# Check logs
tail -f ~/Library/Logs/Claude/mcp-server-<name>.log
# Find paths
which uv && which node && which python
</quick_reference>
<troubleshooting_quick>
Server not appearing: Check claude mcp list, verify config in ~/.claude/settings.json
"command not found": Use absolute paths from which uv / which node
Environment variable not found:
echo $MY_API_KEY # Check if set
echo 'export MY_API_KEY="value"' >> ~/.zshrc && source ~/.zshrc
Secrets visible in conversation: STOP. Delete conversation. Rotate credentials. Never paste secrets in chat.
Full troubleshooting: workflows/troubleshoot-server.md </troubleshooting_quick>
<success_criteria> A production-ready MCP server has:
claude mcp list shows ✓ Connected)