Adds new skill to quickly generate project-specific .mcp.json files with pre-configured templates for common use cases: - Technical: Full MCP suite for software development - Prose: Writing-focused MCPs only - Minimal: Just memory essentials - Custom: User-specified MCPs Eliminates need to look up MCP configurations for each new project. Bump version to 1.3.0. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
5.6 KiB
Project MCP Setup Templates
When to Use This Skill
Use this skill when you need to quickly create a .mcp.json file for a new project with common MCP server configurations. This skill provides pre-configured templates so you don't have to look up MCP settings every time.
Triggers:
- User mentions creating or setting up
.mcp.jsonfor a project - User wants to configure MCPs for a specific project type (technical, prose, minimal)
- User asks to "set up MCPs" or "configure MCP servers"
Do NOT use for:
- Configuring MCPs in plugins (use
claude-code:mcp-configskill) - Creating MCP servers (use
example-skills:mcp-builderskill)
Available Templates
1. Technical Projects
Full-featured setup for software development:
- gitea: Issue and PR management for Gitea-hosted repos
- ya-memory: Persistent memory across conversations
- ya-rag: Document indexing and semantic search
- sequential-thinking: Complex problem-solving
- rubber-duck: Debugging assistant
2. Prose/Writing Projects
Minimal setup focused on writing:
- ya-memory: Character tracking, world-building notes
- rubber-duck: Brainstorming and feedback
3. Minimal Projects
Bare essentials:
- ya-memory: Basic memory only
4. Custom
Let the user specify which MCPs they want from their user configuration.
Template Definitions
Technical Template
{
"mcpServers": {
"gitea": {
"command": "uvx",
"args": ["mcp-server-gitea"],
"env": {
"GITEA_BASE_URL": "${GITEA_BASE_URL:-https://code.movq.us}",
"GITEA_TOKEN": "${GITEA_TOKEN}"
}
},
"ya-memory": {
"command": "uvx",
"args": ["--from", "git+https://github.com/russellballestrini/ya-memory-mcp.git", "ya-memory-mcp"],
"env": {
"YA_MEMORY_BASE_DIR": "${YA_MEMORY_BASE_DIR:-~/.ya-memory}"
}
},
"ya-rag": {
"command": "uvx",
"args": ["--from", "git+https://github.com/russellballestrini/ya-rag-mcp.git", "ya-rag-mcp"],
"env": {
"YA_RAG_BASE_DIR": "${YA_RAG_BASE_DIR:-~/.ya-rag}"
}
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
},
"rubber-duck": {
"command": "uvx",
"args": ["--from", "git+https://github.com/russelballestrini/rubber-duck-mcp.git", "rubber-duck-mcp"]
}
}
}
Prose Template
{
"mcpServers": {
"ya-memory": {
"command": "uvx",
"args": ["--from", "git+https://github.com/russellballestrini/ya-memory-mcp.git", "ya-memory-mcp"],
"env": {
"YA_MEMORY_BASE_DIR": "${YA_MEMORY_BASE_DIR:-~/.ya-memory}"
}
},
"rubber-duck": {
"command": "uvx",
"args": ["--from", "git+https://github.com/russelballestrini/rubber-duck-mcp.git", "rubber-duck-mcp"]
}
}
}
Minimal Template
{
"mcpServers": {
"ya-memory": {
"command": "uvx",
"args": ["--from", "git+https://github.com/russellballestrini/ya-memory-mcp.git", "ya-memory-mcp"],
"env": {
"YA_MEMORY_BASE_DIR": "${YA_MEMORY_BASE_DIR:-~/.ya-memory}"
}
}
}
}
Usage Instructions
When this skill is invoked:
-
Ask the user which template they want (unless they already specified):
- Technical (software development with full tooling)
- Prose (writing projects)
- Minimal (just memory)
- Custom (user specifies MCPs)
-
For Custom, ask which MCPs they want to include from:
- gitea
- ya-memory
- ya-rag
- sequential-thinking
- rubber-duck
- (or any others they specify)
-
Check if
.mcp.jsonalready exists in the current directory:- If yes, ask if they want to overwrite or merge
- If merge, combine configurations
-
Generate the
.mcp.jsonfile with the selected template -
Inform the user:
- Where the file was created
- What MCPs were included
- That they need to restart Claude Code or use
/mcp reloadto load the new configuration - Any required environment variables they need to set
Environment Variables Reference
Document these common environment variables:
- GITEA_BASE_URL: Gitea instance URL (default: https://code.movq.us)
- GITEA_TOKEN: Gitea API token (required for gitea MCP)
- YA_MEMORY_BASE_DIR: Memory storage location (default: ~/.ya-memory)
- YA_RAG_BASE_DIR: RAG index location (default: ~/.ya-rag)
Example Interactions
Example 1: Quick technical setup
User: Set up MCPs for this project
Assistant: I'll help you set up a .mcp.json file. What type of project is this?
- Technical (software development)
- Prose (writing)
- Minimal (just memory)
- Custom
User: Technical
Assistant: [Creates .mcp.json with technical template]
Example 2: Direct request
User: Create a .mcp.json with just memory and rubber duck
Assistant: [Creates .mcp.json with those two MCPs]
Example 3: Merge existing
User: Add gitea to my MCP config
Assistant: I see you already have a .mcp.json with ya-memory. I'll add gitea to it.
[Merges gitea into existing config]
Key Points
- Project-specific: These
.mcp.jsonfiles are for individual projects, not global - Restartable: Changes require Claude Code restart or
/mcp reload - Committable: These files can be committed to version control (but not with secrets)
- Environment variables: Use
${VAR}syntax with optional defaults like${VAR:-default} - Additive: Can be added to existing projects without affecting user-level MCPs
Related Skills
- claude-code:mcp-config: For plugin MCP configuration
- example-skills:mcp-builder: For creating new MCP servers