41 lines
1000 B
Bash
41 lines
1000 B
Bash
#!/bin/bash
|
|
# Install Redmine MCP server and register in .mcp.json
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
MCP_FILE="${1:-.mcp.json}"
|
|
|
|
echo "Installing dependencies..."
|
|
npm install --prefix "$SCRIPT_DIR"
|
|
|
|
echo "Registering in $MCP_FILE..."
|
|
if [ -f "$MCP_FILE" ]; then
|
|
node -e "
|
|
const fs = require('fs');
|
|
const cfg = JSON.parse(fs.readFileSync('$MCP_FILE', 'utf8'));
|
|
cfg.mcpServers = cfg.mcpServers || {};
|
|
cfg.mcpServers.redmine = {
|
|
type: 'stdio',
|
|
command: 'node',
|
|
args: ['$SCRIPT_DIR/redmine-mcp-server.mjs']
|
|
};
|
|
fs.writeFileSync('$MCP_FILE', JSON.stringify(cfg, null, 2) + '\n');
|
|
"
|
|
else
|
|
node -e "
|
|
const fs = require('fs');
|
|
const cfg = {
|
|
mcpServers: {
|
|
redmine: {
|
|
type: 'stdio',
|
|
command: 'node',
|
|
args: ['$SCRIPT_DIR/redmine-mcp-server.mjs']
|
|
}
|
|
}
|
|
};
|
|
fs.writeFileSync('$MCP_FILE', JSON.stringify(cfg, null, 2) + '\n');
|
|
"
|
|
fi
|
|
|
|
echo "Done. Redmine MCP server registered."
|