Skip to main content
Glama

Columbia MCP Server

by smithery-ai
migrate-server.sh3.47 kB
#!/bin/bash # Check if required arguments are provided if [ "$#" -lt 2 ]; then echo "Usage: $0 <source_path> <server_type> [server_name]" echo "Example: $0 /path/to/server ai minimax" echo "Server types: ai, data, tools" exit 1 fi SOURCE_PATH=$1 SERVER_TYPE=$2 SERVER_NAME=${3:-$(basename "$SOURCE_PATH")} # Validate server type case $SERVER_TYPE in ai|data|tools) ;; *) echo "Invalid server type. Must be one of: ai, data, tools" exit 1 ;; esac # Set target directory TARGET_DIR="services/$SERVER_TYPE/$SERVER_NAME" # Create target directory mkdir -p "$TARGET_DIR" # Copy files echo "Copying files from $SOURCE_PATH to $TARGET_DIR..." cp -r "$SOURCE_PATH"/* "$TARGET_DIR/" # Remove build artifacts and node_modules rm -rf "$TARGET_DIR/build" "$TARGET_DIR/dist" "$TARGET_DIR/node_modules" # Update package.json if [ -f "$TARGET_DIR/package.json" ]; then echo "Updating package.json..." # Use node to modify package.json node -e " const fs = require('fs'); const path = require('path'); const pkg = require('./$TARGET_DIR/package.json'); // Update package name pkg.name = '@columbia-mcp/$SERVER_TYPE-$SERVER_NAME'; // Update version to 1.0.0 if not already set if (!pkg.version) pkg.version = '1.0.0'; // Ensure private is set pkg.private = true; // Add workspace-specific scripts pkg.scripts = { ...pkg.scripts, build: 'tsc', test: 'jest', lint: 'eslint src/**/*.ts', clean: 'rimraf build dist' }; // Write updated package.json fs.writeFileSync( path.join(process.cwd(), '$TARGET_DIR/package.json'), JSON.stringify(pkg, null, 2) ); " fi # Create tsconfig.json if it doesn't exist if [ ! -f "$TARGET_DIR/tsconfig.json" ]; then echo "Creating tsconfig.json..." echo '{ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": "./build", "rootDir": "./src" }, "include": ["src/**/*"], "exclude": ["**/*.test.ts", "**/*.spec.ts"] }' > "$TARGET_DIR/tsconfig.json" fi # Create jest.config.js if it doesn't exist if [ ! -f "$TARGET_DIR/jest.config.js" ]; then echo "Creating jest.config.js..." echo "/** @type {import('jest').Config} */ const config = { preset: 'ts-jest', testEnvironment: 'node', verbose: true, transform: { '^.+\\.ts$': ['ts-jest', { useESM: true }] }, moduleNameMapper: { '^(\\.{1,2}/.*)\\.js$': '$1' }, extensionsToTreatAsEsm: ['.ts'] }; export default config;" > "$TARGET_DIR/jest.config.js" fi # Create README.md if it doesn't exist if [ ! -f "$TARGET_DIR/README.md" ]; then echo "Creating README.md..." echo "# @columbia-mcp/$SERVER_TYPE-$SERVER_NAME Part of the Columbia MCP Servers collection. ## Installation \`\`\`bash npm install \`\`\` ## Usage \`\`\`typescript import { YourServer } from '@columbia-mcp/$SERVER_TYPE-$SERVER_NAME'; \`\`\` ## Development \`\`\`bash # Build npm run build # Test npm test # Lint npm run lint \`\`\` " > "$TARGET_DIR/README.md" fi echo "Migration complete! Server migrated to $TARGET_DIR" echo "Next steps:" echo "1. Review and update dependencies in package.json" echo "2. Update import paths in source files" echo "3. Run 'npm install' in the root directory" echo "4. Run tests to verify the migration"

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/smithery-ai/COLUMBIA-MCP-SERVERS'

If you have feedback or need assistance with the MCP directory API, please join our Discord server