Selaa lähdekoodia

更新安装脚本

Groot 5 kuukautta sitten
vanhempi
commit
0505182701
6 muutettua tiedostoa jossa 144 lisäystä ja 19776 poistoa
  1. BIN
      .DS_Store
  2. 0 97
      README.md
  3. 127 25
      install.sh
  4. 0 19609
      mcp_introduce
  5. 3 1
      requirements.txt
  6. 14 44
      start.sh

BIN
.DS_Store


+ 0 - 97
README.md

@@ -1,97 +0,0 @@
-# RAP2 MCP工具
-
-这个工具提供了RAP2 API的MCP接口,使你可以通过AI助手查询和使用RAP2 API文档。
-
-## 安装
-
-```bash
-# 克隆仓库
-git clone https://github.com/yourusername/rap-mcp.git
-cd rap-mcp
-
-# 运行安装脚本
-chmod +x install.sh
-./install.sh
-```
-
-## 配置
-
-安装完成后,您需要在Cursor的MCP配置文件中添加RAP2 MCP服务器配置。建议使用以下格式:
-
-```json
-{
-  "mcpServers": {
-    "RAP2 MCP": {
-      "command": "/path/to/venv/bin/python",
-      "args": [
-        "/path/to/rap2-mcp/rap2_mcp_server.py",
-        "--rap2-url=http://rap2api.taobao.org",
-        "--rap2-sid=您的koa.sid值",
-        "--rap2-sid-sig=您的koa.sid.sig值"
-      ]
-    }
-  }
-}
-```
-
-### 参数获取方式
-
-RAP2 MCP工具支持以下几种参数获取方式(按优先级从高到低):
-
-1. **请求头传递**:通过HTTP请求头传递参数
-   - `X-RAP2-BASE-URL`: RAP2服务器地址
-   - `X-RAP2-SID`: koa.sid Cookie值
-   - `X-RAP2-SID-SIG`: koa.sid.sig Cookie值
-
-2. **命令行参数**:通过命令行参数传递
-   ```
-   --rap2-url=http://rap2api.taobao.org --rap2-sid=您的koa.sid值 --rap2-sid-sig=您的koa.sid.sig值
-   ```
-
-### MCP配置文件位置
-
-- macOS/Linux: `~/.cursor/mcp.json`
-- Windows: `%USERPROFILE%\.cursor\mcp.json`
-
-### 获取RAP2 Cookie值
-
-1. 使用浏览器登录RAP2
-2. 打开开发者工具(F12)
-3. 切换到Network(网络)标签页
-4. 刷新页面,选择任意请求
-5. 在Headers中找到Cookie字段
-6. 从Cookie中提取以下两个值:
-   - `koa.sid=xxxxxx` 中的 xxxxxx 部分
-   - `koa.sid.sig=yyyyyy` 中的 yyyyyy 部分
-
-## 使用
-
-### 快速启动
-
-安装完成后,可以使用以下命令快速启动服务器:
-
-```bash
-./start.sh --url=http://rap2api.taobao.org --sid=您的koa.sid值 --sid-sig=您的koa.sid.sig值
-```
-
-查看帮助信息:
-
-```bash
-./start.sh --help
-```
-
-### 通过Cursor插件使用
-
-配置完成后,在Cursor IDE中启用RAP2 MCP插件即可使用。
-
-## 主要功能
-
-- **查询接口详情**:获取指定ID的接口信息
-- **获取仓库接口**:获取指定仓库中的所有接口
-- **搜索接口**:通过关键词搜索接口
-- **生成API代码**:根据接口生成前端调用代码(支持fetch、axios、react-query)
-- **测试连接**:测试与RAP2服务器的连接状态
-
-## 开发者信息
-
-如需贡献代码或报告问题,请访问我们的GitHub仓库:[rap-mcp](https://github.com/yourusername/rap-mcp) 

+ 127 - 25
install.sh

@@ -16,18 +16,66 @@ echo -e "${BLUE}      RAP2 MCP 工具安装程序           ${NC}"
 echo -e "${BLUE}=========================================${NC}"
 echo ""
 
+# 检查Conda环境
+echo -e "${YELLOW}[1/7] 检查Conda环境...${NC}"
+if ! command -v conda &> /dev/null; then
+    echo -e "${YELLOW}未检测到Conda,是否要安装Miniconda? [y/N] ${NC}"
+    read -r response
+    if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]; then
+        echo -e "开始下载Miniconda安装程序..."
+        if [[ "$OSTYPE" == "darwin"* ]]; then
+            # macOS
+            curl -o miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
+        else
+            # Linux
+            curl -o miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
+        fi
+        
+        if [ $? -ne 0 ]; then
+            echo -e "${RED}下载Miniconda失败,请手动安装Conda后重试${NC}"
+            echo -e "安装指南: https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html"
+            exit 1
+        fi
+        
+        echo -e "安装Miniconda..."
+        bash miniconda.sh -b -p $HOME/miniconda
+        
+        if [ $? -ne 0 ]; then
+            echo -e "${RED}安装Miniconda失败,请手动安装后重试${NC}"
+            exit 1
+        fi
+        
+        # 添加到PATH
+        export PATH="$HOME/miniconda/bin:$PATH"
+        
+        # 初始化conda
+        conda init bash
+        conda init zsh
+        
+        echo -e "${GREEN}✓ Miniconda已安装${NC}"
+        echo -e "${YELLOW}请关闭并重新打开终端,然后重新运行此安装脚本${NC}"
+        exit 0
+    else
+        echo -e "${RED}错误: 需要Conda环境来继续安装${NC}"
+        echo -e "请安装Conda后重试。安装指南: https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html"
+        exit 1
+    fi
+fi
+
+CONDA_VERSION=$(conda --version | awk '{print $2}')
+echo -e "${GREEN}✓ 已找到Conda $CONDA_VERSION${NC}"
+
 # 检查Python环境
-echo -e "${YELLOW}[1/6] 检查Python环境...${NC}"
+echo -e "${YELLOW}[2/7] 检查Python环境...${NC}"
 if ! command -v python3 &> /dev/null; then
-    echo -e "${RED}错误: 未找到Python3,请先安装Python3${NC}"
-    exit 1
+    echo -e "${YELLOW}未找到Python3,将通过Conda安装${NC}"
+else
+    PYTHON_VERSION=$(python3 --version | awk '{print $2}')
+    echo -e "${GREEN}✓ 已找到系统Python $PYTHON_VERSION${NC}"
 fi
 
-PYTHON_VERSION=$(python3 --version | awk '{print $2}')
-echo -e "${GREEN}✓ 已找到Python $PYTHON_VERSION${NC}"
-
 # 检查和创建目录结构
-echo -e "${YELLOW}[2/6] 设置目录结构...${NC}"
+echo -e "${YELLOW}[3/7] 设置目录结构...${NC}"
 if [ ! -d "${SCRIPT_DIR}/rap2-mcp" ]; then
     echo -e "创建rap2-mcp目录..."
     mkdir -p "${SCRIPT_DIR}/rap2-mcp"
@@ -41,36 +89,44 @@ fi
 
 echo -e "${GREEN}✓ 目录结构已准备就绪${NC}"
 
-# 创建虚拟环境
-echo -e "${YELLOW}[3/6] 创建Python虚拟环境...${NC}"
-if [ -d "${SCRIPT_DIR}/venv" ]; then
-    echo -e "检测到已有虚拟环境,是否重新创建? [y/N] "
+# 创建Conda环境
+echo -e "${YELLOW}[4/7] 创建Conda环境...${NC}"
+CONDA_ENV_NAME="rap2_mcp"
+
+# 检查环境是否已存在
+if conda info --envs | grep -q "$CONDA_ENV_NAME"; then
+    echo -e "检测到已有Conda环境'$CONDA_ENV_NAME',是否重新创建? [y/N] "
     read -r response
     if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]; then
-        echo -e "删除旧的虚拟环境..."
-        rm -rf "${SCRIPT_DIR}/venv"
-        python3 -m venv "${SCRIPT_DIR}/venv"
+        echo -e "删除旧的Conda环境..."
+        conda env remove -n "$CONDA_ENV_NAME" -y
+        conda create -n "$CONDA_ENV_NAME" python=3.9 -y
     fi
 else
-    python3 -m venv "${SCRIPT_DIR}/venv"
+    echo -e "创建新的Conda环境 '$CONDA_ENV_NAME'..."
+    conda create -n "$CONDA_ENV_NAME" python=3.9 -y
 fi
 
-# 激活虚拟环境
-if [ -f "${SCRIPT_DIR}/venv/bin/activate" ]; then
-    source "${SCRIPT_DIR}/venv/bin/activate"
-    echo -e "${GREEN}✓ 虚拟环境已激活${NC}"
-else
-    echo -e "${RED}错误: 无法创建或激活虚拟环境${NC}"
+# 激活Conda环境
+echo -e "${YELLOW}[5/7] 激活Conda环境...${NC}"
+# 这里我们需要使用source命令来激活conda环境
+source $(conda info --base)/etc/profile.d/conda.sh
+conda activate "$CONDA_ENV_NAME"
+
+if [ $? -ne 0 ]; then
+    echo -e "${RED}错误: 无法激活Conda环境${NC}"
     exit 1
 fi
 
+echo -e "${GREEN}✓ Conda环境'$CONDA_ENV_NAME'已激活${NC}"
+
 # 更新pip
-echo -e "${YELLOW}[4/6] 更新pip...${NC}"
+echo -e "${YELLOW}[6/7] 更新pip...${NC}"
 pip install --upgrade pip > /dev/null 2>&1
 echo -e "${GREEN}✓ pip已更新至最新版本${NC}"
 
 # 安装依赖
-echo -e "${YELLOW}[5/6] 安装依赖...${NC}"
+echo -e "${YELLOW}[7/7] 安装依赖...${NC}"
 
 # 创建requirements.txt如果不存在
 if [ ! -f "${SCRIPT_DIR}/requirements.txt" ]; then
@@ -113,8 +169,54 @@ else
     echo -e "${GREEN}✓ 所有依赖已成功安装${NC}"
 fi
 
+# 创建启动脚本
+echo -e "创建启动脚本..."
+cat > "${SCRIPT_DIR}/start.sh" << EOF
+#!/bin/bash
+
+# 获取脚本所在目录的绝对路径
+SCRIPT_DIR="\$(cd "\$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
+
+# 默认值
+RAP2_URL="http://rap2api.taobao.org"
+RAP2_SID=""
+RAP2_SID_SIG=""
+
+# 解析参数
+while [[ \$# -gt 0 ]]; do
+    case \$1 in
+        --url=*)
+            RAP2_URL="\${1#*=}"
+            shift
+            ;;
+        --sid=*)
+            RAP2_SID="\${1#*=}"
+            shift
+            ;;
+        --sid-sig=*)
+            RAP2_SID_SIG="\${1#*=}"
+            shift
+            ;;
+        *)
+            echo "未知参数: \$1"
+            exit 1
+            ;;
+    esac
+done
+
+# 激活Conda环境
+source \$(conda info --base)/etc/profile.d/conda.sh
+conda activate rap2_mcp
+
+# 启动服务器
+python "\${SCRIPT_DIR}/rap2-mcp/rap2_mcp_server.py" \\
+    --rap2-url="\$RAP2_URL" \\
+    --rap2-sid="\$RAP2_SID" \\
+    --rap2-sid-sig="\$RAP2_SID_SIG"
+EOF
+
 # 设置启动脚本权限
-echo -e "${YELLOW}[6/6] 设置启动脚本权限...${NC}"
+echo -e "设置启动脚本权限..."
 chmod +x "${SCRIPT_DIR}/start.sh"
 echo -e "${GREEN}✓ 启动脚本权限已设置${NC}"
 
@@ -131,7 +233,7 @@ echo -e "配置格式:"
 echo -e "${YELLOW}{
   \"mcpServers\": {
     \"RAP2 MCP\": {
-      \"command\": \"${SCRIPT_DIR}/venv/bin/python\",
+      \"command\": \"$(conda info --base)/envs/rap2_mcp/bin/python\",
       \"args\": [
         \"${SCRIPT_DIR}/rap2-mcp/rap2_mcp_server.py\",
         \"--rap2-url=http://rap2api.taobao.org\",

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 19609
mcp_introduce


+ 3 - 1
requirements.txt

@@ -1,2 +1,4 @@
 httpx>=0.24.0
-mcp-server>=0.1.0 
+fastmcp>=0.1.0
+mcp-server>=0.1.0
+fastapi>=0.100.0

+ 14 - 44
start.sh

@@ -3,19 +3,12 @@
 # 获取脚本所在目录的绝对路径
 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 
-# 激活虚拟环境
-if [ -f "${SCRIPT_DIR}/venv/bin/activate" ]; then
-    source "${SCRIPT_DIR}/venv/bin/activate"
-else
-    echo "警告: 虚拟环境未找到,将使用系统Python环境"
-fi
+# 默认值
+RAP2_URL="http://rap2api.taobao.org"
+RAP2_SID=""
+RAP2_SID_SIG=""
 
-# 默认配置
-RAP2_URL=${RAP2_URL:-"http://rap2.atmob.com"}
-RAP2_SID=${RAP2_SID:-""}
-RAP2_SID_SIG=${RAP2_SID_SIG:-""}
-
-# 解析命令行参数
+# 解析参数
 while [[ $# -gt 0 ]]; do
     case $1 in
         --url=*)
@@ -30,42 +23,19 @@ while [[ $# -gt 0 ]]; do
             RAP2_SID_SIG="${1#*=}"
             shift
             ;;
-        --help)
-            echo "用法: ./start.sh [选项]"
-            echo "选项:"
-            echo "  --url=URL       设置RAP2服务器地址"
-            echo "  --sid=SID       设置RAP2 koa.sid Cookie值"
-            echo "  --sid-sig=SIG   设置RAP2 koa.sid.sig Cookie值"
-            echo "  --help          显示此帮助信息"
-            exit 0
-            ;;
         *)
-            echo "未知选项: $1"
-            echo "使用 --help 查看帮助"
+            echo "未知参数: $1"
             exit 1
             ;;
     esac
 done
 
-# 构建参数
-ARGS=""
-if [ -n "$RAP2_URL" ]; then
-    ARGS="$ARGS --rap2-url=$RAP2_URL"
-fi
-if [ -n "$RAP2_SID" ]; then
-    ARGS="$ARGS --rap2-sid=$RAP2_SID"
-fi
-if [ -n "$RAP2_SID_SIG" ]; then
-    ARGS="$ARGS --rap2-sid-sig=$RAP2_SID_SIG"
-fi
-
-echo "启动RAP2 MCP服务器..."
-echo "RAP2服务器: $RAP2_URL"
-if [ -n "$RAP2_SID" ] && [ -n "$RAP2_SID_SIG" ]; then
-    echo "RAP2认证: 已配置"
-else
-    echo "RAP2认证: 未配置"
-fi
+# 激活Conda环境
+source $(conda info --base)/etc/profile.d/conda.sh
+conda activate rap2_mcp
 
-# 运行服务器,直接传递参数
-python "${SCRIPT_DIR}/rap2-mcp/rap2_mcp_server.py" $ARGS
+# 启动服务器
+python "${SCRIPT_DIR}/rap2-mcp/rap2_mcp_server.py" \
+    --rap2-url="$RAP2_URL" \
+    --rap2-sid="$RAP2_SID" \
+    --rap2-sid-sig="$RAP2_SID_SIG"