We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/worksona/-worksona-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
#!/bin/bash
set -e
echo "ποΈ Building Worksona MCP Server..."
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Function to print colored output
print_status() {
echo -e "${BLUE}$1${NC}"
}
print_success() {
echo -e "${GREEN}β
$1${NC}"
}
print_warning() {
echo -e "${YELLOW}β οΈ $1${NC}"
}
print_error() {
echo -e "${RED}β $1${NC}"
}
# Check if Node.js is installed
if ! command -v node &> /dev/null; then
print_error "Node.js is not installed. Please install Node.js 18+ to continue."
exit 1
fi
# Check Node.js version
NODE_VERSION=$(node --version | cut -d'v' -f2 | cut -d'.' -f1)
if [ "$NODE_VERSION" -lt 18 ]; then
print_error "Node.js version 18 or higher is required. Current version: $(node --version)"
exit 1
fi
print_success "Node.js version check passed: $(node --version)"
# Clean previous build
print_status "π§Ή Cleaning previous build..."
rm -rf dist/
print_success "Cleaned previous build"
# Install dependencies
print_status "π¦ Installing dependencies..."
if [ -f "package-lock.json" ]; then
npm ci
else
npm install
fi
print_success "Dependencies installed"
# Build TypeScript
print_status "π§ Compiling TypeScript..."
npx tsc
if [ $? -eq 0 ]; then
print_success "TypeScript compilation successful"
else
print_error "TypeScript compilation failed"
exit 1
fi
# Make the output file executable
chmod +x dist/index.js
# Copy agents for bundling
print_status "π¦ Copying agents for bundling..."
if [ -d "teams" ]; then
rm -rf agents/
cp -r teams agents
print_success "Agents copied to agents/ directory"
# Count agents
AGENT_COUNT=$(find agents -name "metadata.json" | wc -l | tr -d ' ')
print_success "Found $AGENT_COUNT agents ready for bundling"
else
print_warning "Teams directory not found - agents will need to be provided separately"
fi
# Verify worksona-teams directory exists
TEAMS_PATH="../worksona-teams"
if [ ! -d "$TEAMS_PATH" ]; then
print_warning "Worksona teams directory not found at $TEAMS_PATH"
print_status "Checking alternative locations..."
if [ ! -d "../../worksona-teams" ]; then
if [ ! -d "./worksona-teams" ]; then
print_error "Worksona teams directory not found in any expected location"
print_status "Please ensure the worksona-teams repository is available at one of:"
echo " - ../worksona-teams (sibling directory)"
echo " - ../../worksona-teams (parent's sibling)"
echo " - ./worksona-teams (subdirectory)"
echo " - Or set WORKSONA_TEAMS_PATH environment variable"
exit 1
else
print_success "Found worksona-teams at ./worksona-teams"
fi
else
print_success "Found worksona-teams at ../../worksona-teams"
fi
else
print_success "Found worksona-teams at $TEAMS_PATH"
fi
# Create start script
cat > start.sh << 'EOF'
#!/bin/bash
exec node dist/index.js "$@"
EOF
chmod +x start.sh
print_success "Build complete!"
echo ""
print_status "π Next steps:"
echo " 1. Configure Claude Desktop:"
echo " Add to ~/.claude-desktop/config.json:"
echo ' {'
echo ' "mcpServers": {'
echo ' "worksona-agents": {'
echo ' "command": "node",'
echo ' "args": ["'$(pwd)'/dist/index.js"],'
echo ' "cwd": "'$(pwd)'"'
echo ' }'
echo ' }'
echo ' }'
echo ""
echo " 2. Test the server:"
echo " ./start.sh"
echo ""
echo " 3. Restart Claude Desktop to load the MCP server"
echo ""
print_success "Worksona MCP Server is ready! π"