Skip to content

Commit a57333d

Browse files
jrcoakona-agent
andcommitted
Improve MCP automation setup and remove emojis
- Remove Cline VSCode extension specific MCP configuration - Focus on generic MCP client setup at ~/.config/mcp/client-config.json - Remove emojis from all automation output messages for professional appearance - Maintain Jira MCP server functionality and testing - Update verification script to reflect generic client configuration Co-authored-by: Ona <no-reply@ona.com>
1 parent bf63505 commit a57333d

File tree

1 file changed

+136
-43
lines changed

1 file changed

+136
-43
lines changed

.gitpod/automations.yaml

Lines changed: 136 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,27 @@ services:
77
- postEnvironmentStart
88
commands:
99
start: |
10-
echo "🔧 Setting up Jira MCP server..."
11-
10+
echo "Setting up Jira MCP server..."
11+
1212
# Create config directory
1313
mkdir -p ~/.config/gitpod
1414
1515
# Clone and build Jira MCP if not already present
1616
if [ ! -d "/home/node/jira-mcp" ]; then
17-
echo "📦 Cloning Jira MCP repository..."
17+
echo "Cloning Jira MCP repository..."
1818
cd /home/node
1919
git clone https://github.com/MankowskiNick/jira-mcp.git
2020
cd jira-mcp
21-
echo "📦 Installing dependencies..."
21+
echo "Installing dependencies..."
2222
npm install
23-
echo "🔨 Building project..."
23+
echo "Building project..."
2424
npm run build
2525
else
26-
echo "Jira MCP already installed"
26+
echo "Jira MCP already installed"
2727
fi
2828
2929
# Create MCP configuration file
30-
echo "⚙️ Creating MCP configuration..."
30+
echo "Creating MCP configuration..."
3131
cat > ~/.config/gitpod/mcp-config.json << EOF
3232
{
3333
"mcpServers": {
@@ -49,11 +49,64 @@ services:
4949
}
5050
EOF
5151
52-
echo "✅ Jira MCP server setup complete!"
53-
echo "📍 Configuration: ~/.config/gitpod/mcp-config.json"
54-
echo "📍 Server location: /home/node/jira-mcp/"
55-
echo "🎯 Project: MBA (coakley.atlassian.net)"
52+
# Configure generic MCP client connection
53+
echo "Configuring MCP client connection..."
54+
55+
# Create generic MCP client config
56+
MCP_CLIENT_CONFIG="$HOME/.config/mcp/client-config.json"
57+
mkdir -p "$HOME/.config/mcp"
58+
cat > "$MCP_CLIENT_CONFIG" << EOF
59+
{
60+
"mcpServers": {
61+
"jira-mcp": {
62+
"command": "node",
63+
"args": ["/home/node/jira-mcp/build/index.js"],
64+
"env": {
65+
"JIRA_HOST": "\${JIRA_HOST:-coakley.atlassian.net}",
66+
"JIRA_USERNAME": "\${JIRA_USERNAME:-joe@gitpod.io}",
67+
"JIRA_API_TOKEN": "\${JIRA_API_TOKEN:-your_api_token_here}",
68+
"JIRA_PROJECT_KEY": "\${JIRA_PROJECT_KEY:-MBA}",
69+
"AUTO_CREATE_TEST_TICKETS": "true",
70+
"JIRA_ACCEPTANCE_CRITERIA_FIELD": "customfield_10429",
71+
"JIRA_STORY_POINTS_FIELD": "customfield_10040",
72+
"JIRA_EPIC_LINK_FIELD": "customfield_10014"
73+
}
74+
}
75+
}
76+
}
77+
EOF
5678
79+
# Test MCP server connection if credentials are available
80+
if [ -n "\$JIRA_API_TOKEN" ] && [ "\$JIRA_API_TOKEN" != "your_api_token_here" ]; then
81+
echo "Testing MCP server connection..."
82+
cd /home/node/jira-mcp
83+
84+
# Test server initialization
85+
if echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {"roots": {"listChanged": true}}, "clientInfo": {"name": "test-client", "version": "1.0.0"}}}' | timeout 10 node build/index.js >/dev/null 2>&1; then
86+
echo "MCP server connection test successful"
87+
else
88+
echo "MCP server connection test failed - check credentials"
89+
fi
90+
fi
91+
92+
# Create a simple verification script
93+
echo '#!/bin/bash' > /tmp/verify-mcp-connection.sh
94+
echo 'echo "Verifying MCP configuration..."' >> /tmp/verify-mcp-connection.sh
95+
echo 'echo "Server config: $([ -f ~/.config/gitpod/mcp-config.json ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
96+
echo 'echo "Generic client config: $([ -f ~/.config/mcp/client-config.json ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
97+
echo 'echo "MCP server binary: $([ -f /home/node/jira-mcp/build/index.js ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
98+
chmod +x /tmp/verify-mcp-connection.sh
99+
100+
echo "Jira MCP server and client setup complete"
101+
echo "Server config: ~/.config/gitpod/mcp-config.json"
102+
echo "Generic client config: ~/.config/mcp/client-config.json"
103+
echo "Server location: /home/node/jira-mcp/"
104+
echo "Project: MBA (coakley.atlassian.net)"
105+
echo "Available tools: create-ticket, get-ticket, search-tickets, update-ticket, link-tickets, get-test-steps, add-test-steps"
106+
echo ""
107+
echo "Run '/tmp/verify-mcp-connection.sh' to verify the setup"
108+
echo "AI assistants may need to restart to pick up the new MCP configuration"
109+
57110
ready: |
58111
if [ -f "/home/node/jira-mcp/build/index.js" ] && [ -f "$HOME/.config/gitpod/mcp-config.json" ]; then
59112
echo "Jira MCP server is ready"
@@ -161,11 +214,11 @@ services:
161214
echo "Waiting for PostgreSQL to be ready..."
162215
for i in {1..60}; do
163216
if PGPASSWORD=gitpod psql -h localhost -U gitpod -d gitpodflix -c "SELECT 1" >/dev/null 2>&1; then
164-
echo "PostgreSQL is ready"
217+
echo "PostgreSQL is ready"
165218
break
166219
fi
167220
if [ $i -eq 60 ]; then
168-
echo "Timeout waiting for PostgreSQL"
221+
echo "Timeout waiting for PostgreSQL"
169222
exit 1
170223
fi
171224
echo "Waiting for PostgreSQL... attempt $i/60"
@@ -213,11 +266,11 @@ services:
213266
echo "Waiting for backend API to be ready..."
214267
for i in {1..60}; do
215268
if curl -s http://localhost:3001/health >/dev/null 2>&1; then
216-
echo "Backend API is ready"
269+
echo "Backend API is ready"
217270
break
218271
fi
219272
if [ $i -eq 60 ]; then
220-
echo "Timeout waiting for backend API"
273+
echo "Timeout waiting for backend API"
221274
exit 1
222275
fi
223276
echo "Waiting for backend... attempt $i/60"
@@ -249,27 +302,27 @@ tasks:
249302
- manual
250303
- postEnvironmentStart
251304
command: |
252-
echo "🚀 Setting up Jira MCP server..."
253-
305+
echo "Setting up Jira MCP server..."
306+
254307
# Create config directory
255308
mkdir -p ~/.config/gitpod
256309
257310
# Clone and build Jira MCP if not already present
258311
if [ ! -d "/home/node/jira-mcp" ]; then
259-
echo "📦 Cloning Jira MCP repository..."
312+
echo "Cloning Jira MCP repository..."
260313
cd /home/node
261314
git clone https://github.com/MankowskiNick/jira-mcp.git
262315
cd jira-mcp
263-
echo "📦 Installing dependencies..."
316+
echo "Installing dependencies..."
264317
npm install
265-
echo "🔨 Building project..."
318+
echo "Building project..."
266319
npm run build
267320
else
268-
echo "Jira MCP already installed"
321+
echo "Jira MCP already installed"
269322
fi
270323
271324
# Create MCP configuration file
272-
echo "⚙️ Creating MCP configuration..."
325+
echo "Creating MCP configuration..."
273326
cat > ~/.config/gitpod/mcp-config.json << EOF
274327
{
275328
"mcpServers": {
@@ -291,23 +344,63 @@ tasks:
291344
}
292345
EOF
293346
347+
# Configure generic MCP client connection
348+
echo "Configuring MCP client connection..."
349+
350+
# Create generic MCP client config
351+
MCP_CLIENT_CONFIG="$HOME/.config/mcp/client-config.json"
352+
mkdir -p "$HOME/.config/mcp"
353+
cat > "$MCP_CLIENT_CONFIG" << EOF
354+
{
355+
"mcpServers": {
356+
"jira-mcp": {
357+
"command": "node",
358+
"args": ["/home/node/jira-mcp/build/index.js"],
359+
"env": {
360+
"JIRA_HOST": "\${JIRA_HOST:-coakley.atlassian.net}",
361+
"JIRA_USERNAME": "\${JIRA_USERNAME:-joe@gitpod.io}",
362+
"JIRA_API_TOKEN": "\${JIRA_API_TOKEN:-your_api_token_here}",
363+
"JIRA_PROJECT_KEY": "\${JIRA_PROJECT_KEY:-MBA}",
364+
"AUTO_CREATE_TEST_TICKETS": "true",
365+
"JIRA_ACCEPTANCE_CRITERIA_FIELD": "customfield_10429",
366+
"JIRA_STORY_POINTS_FIELD": "customfield_10040",
367+
"JIRA_EPIC_LINK_FIELD": "customfield_10014"
368+
}
369+
}
370+
}
371+
}
372+
EOF
373+
294374
# Test the MCP server if credentials are available
295375
if [ -n "\$JIRA_API_TOKEN" ] && [ "\$JIRA_API_TOKEN" != "your_api_token_here" ]; then
296-
echo "🧪 Testing MCP server..."
376+
echo "Testing MCP server connection..."
297377
cd /home/node/jira-mcp
298378
299-
# Quick test to verify server works
300-
if echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {"roots": {"listChanged": true}}, "clientInfo": {"name": "test-client", "version": "1.0.0"}}}' | timeout 5 node build/index.js >/dev/null 2>&1; then
301-
echo "✅ Jira MCP server setup complete and tested!"
379+
# Test server initialization
380+
if echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {"roots": {"listChanged": true}}, "clientInfo": {"name": "test-client", "version": "1.0.0"}}}' | timeout 10 node build/index.js >/dev/null 2>&1; then
381+
echo "MCP server connection test successful"
302382
else
303-
echo "⚠️ Jira MCP server setup complete but test failed"
383+
echo "MCP server connection test failed - check credentials"
304384
fi
305385
fi
306386
307-
echo "📍 Configuration: ~/.config/gitpod/mcp-config.json"
308-
echo "📍 Server location: /home/node/jira-mcp/"
309-
echo "🎯 Project: MBA (coakley.atlassian.net)"
310-
echo "🔧 Available tools: create-ticket, get-ticket, search-tickets, update-ticket, link-tickets, get-test-steps, add-test-steps"
387+
# Create a simple verification script
388+
echo '#!/bin/bash' > /tmp/verify-mcp-connection.sh
389+
echo 'echo "Verifying MCP configuration..."' >> /tmp/verify-mcp-connection.sh
390+
echo 'echo "Server config: $([ -f ~/.config/gitpod/mcp-config.json ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
391+
echo 'echo "Generic client config: $([ -f ~/.config/mcp/client-config.json ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
392+
echo 'echo "MCP server binary: $([ -f /home/node/jira-mcp/build/index.js ] && echo \"Found\" || echo \"Missing\")"' >> /tmp/verify-mcp-connection.sh
393+
chmod +x /tmp/verify-mcp-connection.sh
394+
395+
echo "Jira MCP server and client setup complete"
396+
echo "Server config: ~/.config/gitpod/mcp-config.json"
397+
echo "Generic client config: ~/.config/mcp/client-config.json"
398+
echo "Server location: /home/node/jira-mcp/"
399+
echo "Project: MBA (coakley.atlassian.net)"
400+
echo "Available tools: create-ticket, get-ticket, search-tickets, update-ticket, link-tickets, get-test-steps, add-test-steps"
401+
echo ""
402+
echo "Run '/tmp/verify-mcp-connection.sh' to verify the setup"
403+
echo "AI assistants may need to restart to pick up the new MCP configuration"
311404
312405
seedDatabase:
313406
name: "Seed Database"
@@ -322,11 +415,11 @@ tasks:
322415
echo "Waiting for PostgreSQL to be ready..."
323416
for i in {1..30}; do
324417
if PGPASSWORD=gitpod psql -h localhost -U gitpod -d gitpodflix -c "SELECT 1" >/dev/null 2>&1; then
325-
echo "PostgreSQL is ready"
418+
echo "PostgreSQL is ready"
326419
break
327420
fi
328421
if [ $i -eq 30 ]; then
329-
echo "Timeout waiting for PostgreSQL"
422+
echo "Timeout waiting for PostgreSQL"
330423
exit 1
331424
fi
332425
echo "Waiting for PostgreSQL... attempt $i/30"
@@ -337,16 +430,16 @@ tasks:
337430
PGPASSWORD=gitpod psql -h localhost -U gitpod -d gitpodflix -f seeds/movies_complete.sql
338431
sleep 2
339432
340-
echo "Database seeding complete! 🎬"
341-
echo "Movies with categories: 18"
342-
echo "Trending: 4 movies"
343-
echo "Popular: 4 movies"
344-
echo "Sci-Fi: 4 movies"
345-
echo "Award Winners: 4 movies"
346-
echo "Modern Blockbusters: 4 movies"
347-
echo "All movies have complete metadata (genres, trailers, cast, etc.)"
348-
echo "Fixed Moonlight image URL"
349-
echo "Optimized single-file structure"
433+
echo "Database seeding complete"
434+
echo "Movies with categories: 18"
435+
echo "Trending: 4 movies"
436+
echo "Popular: 4 movies"
437+
echo "Sci-Fi: 4 movies"
438+
echo "Award Winners: 4 movies"
439+
echo "Modern Blockbusters: 4 movies"
440+
echo "All movies have complete metadata (genres, trailers, cast, etc.)"
441+
echo "Fixed Moonlight image URL"
442+
echo "Optimized single-file structure"
350443
351444
clearDatabase:
352445
name: "Clear Database"

0 commit comments

Comments
 (0)