When helping a user create a new MARVIN integration, follow these requirements exactly.
Every setup.sh MUST include:
#!/bin/bash
set -e
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'if command -v claude &> /dev/null; then
echo -e "${GREEN}✓ Claude Code installed${NC}"
else
echo -e "${RED}✗ Claude Code not found${NC}"
echo "Install with: npm install -g @anthropic-ai/claude-code"
exit 1
fiecho ""
echo "Where should this integration be available?"
echo " 1) All projects (user-scoped)"
echo " 2) This project only (project-scoped)"
echo ""
echo -e "${YELLOW}Choice [1]:${NC}"
read -r SCOPE_CHOICE
SCOPE_CHOICE=${SCOPE_CHOICE:-1}
if [[ "$SCOPE_CHOICE" == "1" ]]; then
SCOPE_FLAG="-s user"
else
SCOPE_FLAG=""
fiThen use $SCOPE_FLAG in the claude mcp add command:
claude mcp add integration-name $SCOPE_FLAG ...claude mcp remove integration-name 2>/dev/null || trueecho -e "${BLUE}========================================${NC}"
echo -e "${BLUE} Section Title${NC}"
echo -e "${BLUE}========================================${NC}"echo -e "${GREEN}You're all set!${NC}"Every integration README.md MUST have these sections in order:
- Title -
# Integration Name - What It Does - Bullet list of capabilities
- Who It's For - Target audience
- Prerequisites - Required accounts, API keys, permissions
- Setup - Code block with the setup command
- Try It - Example commands users can try
- Danger Zone - Actions that affect others or can't be undone (REQUIRED)
- Troubleshooting - Common issues and solutions
- Attribution -
*Contributed by Name*at the bottom
Every integration MUST document risky actions. Use this format:
## Danger Zone
This integration can perform actions that affect others or can't be easily undone:
| Action | Risk Level | Who's Affected |
|--------|------------|----------------|
| Send emails | High | Recipients see immediately |
| Delete files | High | Data loss may be permanent |
| Read data | Low | No external impact |
MARVIN will always confirm before performing high-risk actions.If an integration is read-only, still include the section stating "This integration is read-only and cannot modify external data."
-
setup.shincludes scope selection prompt -
setup.shuses correct color codes and banner format -
setup.shremoves existing MCP before adding -
README.mdhas all required sections - Added integration to the table in
.marvin/integrations/README.md - Tested on a fresh install
See existing integrations for examples:
atlassian/- Simple remote MCP servergoogle-workspace/- OAuth-based integrationparallel-search/- Remote MCP server
Full documentation: README.md in this directory