Skip to main content
Glama

OmniFocus MCP Enhanced

by jqlts1
5
10
  • Apple
publish.sh4.42 kB
#!/bin/bash # OmniFocus MCP Enhanced 发布脚本 # 用于发布到 NPM set -e echo "🚀 OmniFocus MCP Enhanced 发布脚本" echo "=================================" # 检查是否已经登录 npm if ! npm whoami > /dev/null 2>&1; then echo "❌ 请先登录 NPM: npm login" exit 1 fi echo "👤 当前 NPM 用户: $(npm whoami)" # 检查参数 if [ "$1" = "check" ]; then echo "🔍 检查发布准备状态..." # 检查必要文件 echo "📝 检查必要文件..." required_files=("package.json" "README.md" "CLAUDE.md" "cli.cjs" ".npmignore") for file in "${required_files[@]}"; do if [ -f "$file" ]; then echo " ✅ $file" else echo " ❌ $file (缺失)" exit 1 fi done # 检查构建产物 echo "🔨 检查构建产物..." if [ -d "dist" ]; then echo " ✅ dist/ 目录存在" if [ -f "dist/server.js" ]; then echo " ✅ dist/server.js 存在" else echo " ❌ dist/server.js 不存在,请运行 npm run build" exit 1 fi else echo " ❌ dist/ 目录不存在,请运行 npm run build" exit 1 fi # 检查 package.json 信息 echo "📦 检查 package.json..." PACKAGE_NAME=$(node -p "require('./package.json').name") PACKAGE_VERSION=$(node -p "require('./package.json').version") echo " 📋 包名: $PACKAGE_NAME" echo " 🏷️ 版本: $PACKAGE_VERSION" # 检查版本是否已存在 echo "🔍 检查版本冲突..." if npm view "$PACKAGE_NAME@$PACKAGE_VERSION" version > /dev/null 2>&1; then echo " ⚠️ 版本 $PACKAGE_VERSION 已存在于 NPM" echo " 💡 请更新 package.json 中的版本号" exit 1 else echo " ✅ 版本 $PACKAGE_VERSION 可用" fi # 测试打包 echo "📦 测试打包..." npm pack --dry-run > /dev/null echo " ✅ 打包测试通过" echo "" echo "✅ 所有检查通过!可以发布。" echo "🚀 运行 './publish.sh release' 开始发布" elif [ "$1" = "release" ]; then echo "🚀 开始发布流程..." # 先运行检查 echo "🔍 运行发布前检查..." ./publish.sh check PACKAGE_NAME=$(node -p "require('./package.json').name") PACKAGE_VERSION=$(node -p "require('./package.json').version") echo "" echo "📦 准备发布:" echo " 📋 包名: $PACKAGE_NAME" echo " 🏷️ 版本: $PACKAGE_VERSION" echo "" read -p "确认发布? (y/N): " -n 1 -r echo if [[ ! $REPLY =~ ^[Yy]$ ]]; then echo "❌ 发布已取消" exit 1 fi # 清理并重新构建 echo "🔨 重新构建项目..." rm -rf dist/ npm run build # 发布到 NPM echo "📤 发布到 NPM..." npm publish echo "" echo "🎉 发布成功!" echo "" echo "📋 用户可以通过以下方式安装:" echo "" echo "# Claude Code 一键安装" echo "claude mcp add omnifocus-enhanced -- npx -y $PACKAGE_NAME" echo "" echo "# 或者全局安装" echo "npm install -g $PACKAGE_NAME" echo "claude mcp add omnifocus-enhanced -- $PACKAGE_NAME" echo "" echo "🔗 NPM 包地址: https://www.npmjs.com/package/$PACKAGE_NAME" elif [ "$1" = "version" ]; then if [ -z "$2" ]; then echo "❌ 请指定版本类型: patch, minor, major" echo "用法: ./publish.sh version patch" exit 1 fi echo "🏷️ 更新版本..." npm version "$2" --no-git-tag-version NEW_VERSION=$(node -p "require('./package.json').version") echo "✅ 版本已更新为: $NEW_VERSION" echo "💡 现在可以运行 './publish.sh release' 发布新版本" else echo "用法:" echo " ./publish.sh check # 检查发布准备状态" echo " ./publish.sh version <type> # 更新版本 (patch/minor/major)" echo " ./publish.sh release # 发布到 NPM" echo "" echo "发布流程:" echo " 1. ./publish.sh check # 检查状态" echo " 2. ./publish.sh version patch # 更新版本(可选)" echo " 3. ./publish.sh release # 发布" echo "" echo "发布后用户安装命令:" echo " claude mcp add omnifocus-enhanced -- npx -y omnifocus-mcp-enhanced" fi

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/jqlts1/omnifocus-mcp-enhanced'

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