xdxb commited on
Commit
769e1d0
·
verified ·
1 Parent(s): a4f27b1

Update entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +62 -141
entrypoint.sh CHANGED
@@ -1,69 +1,56 @@
1
  #!/bin/bash
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  cat <<EOF > /app/config.json
4
  {
5
  "mcpServers": {
6
- "github": {
7
- "command": "npx",
8
- "args": [
9
- "-y",
10
- "@modelcontextprotocol/server-github@latest"
11
- ],
12
- "env": {
13
- "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}",
14
- "NODE_OPTIONS": "--no-deprecation"
15
- }
16
- },
17
- "filesystem": {
18
- "command": "npx",
19
- "args": [
20
- "-y",
21
- "@modelcontextprotocol/server-filesystem@latest",
22
- "/home/mcp"
23
- ],
24
- "env": {
25
- "NODE_OPTIONS": "--no-deprecation"
26
- }
27
- },
28
- "edgeone-pages-mcp-server": {
29
- "command": "npx",
30
- "args": ["edgeone-pages-mcp@latest"],
31
- "env": {
32
- "NODE_OPTIONS": "--no-deprecation"
33
- }
34
- },
35
- "mcp-server-firecrawl": {
36
- "command": "npx",
37
- "args": [
38
- "-y",
39
- "firecrawl-mcp@latest"
40
- ],
41
- "env": {
42
- "FIRECRAWL_API_KEY": "${FIRECRAWL_API_KEY}",
43
- "NODE_OPTIONS": "--no-deprecation"
44
- }
45
- },
46
- "tavily-mcp": {
47
- "command": "npx",
48
- "args": [
49
- "-y",
50
- "tavily-mcp@latest"
51
- ],
52
- "env": {
53
- "TAVILY_API_KEY": "${TAVILY_API_KEY}",
54
- "NODE_OPTIONS": "--no-deprecation"
55
- }
56
- },
57
- "sequential-thinking": {
58
- "command": "npx",
59
- "args": [
60
- "-y",
61
- "@modelcontextprotocol/server-sequential-thinking@latest"
62
- ],
63
- "env": {
64
- "NODE_OPTIONS": "--no-deprecation"
65
- }
66
- },
67
  "fetch": {
68
  "command": "npx",
69
  "args": [
@@ -73,89 +60,23 @@ cat <<EOF > /app/config.json
73
  "env": {
74
  "NODE_OPTIONS": "--no-deprecation"
75
  }
76
- },
77
- "code-runner": {
78
- "command": "npx",
79
- "args": [
80
- "-y",
81
- "deno",
82
- "run",
83
- "--allow-all",
84
- "jsr:@mcpc/code-runner-mcp/bin"
85
- ],
86
- "env": {
87
- "DENO_PERMISSION_ARGS": "--allow-net",
88
- "NODE_OPTIONS": "--no-deprecation"
89
- }
90
- },
91
- "context7": {
92
- "command": "npx",
93
- "args": [
94
- "-y",
95
- "@upstash/context7-mcp@latest"
96
- ],
97
- "env": {
98
- "NODE_OPTIONS": "--no-deprecation"
99
- }
100
- },
101
- "chaitin-ip-intelligence-search-tool": {
102
- "command": "npx",
103
- "args": [
104
- "-y",
105
- "chaitin-ip-intelligence-search-tool@latest"
106
- ],
107
- "env": {
108
- "NODE_OPTIONS": "--no-deprecation"
109
- }
110
- },
111
- "anilist": {
112
- "command": "npx",
113
- "args": [
114
- "-y",
115
- "anilist-mcp@latest"
116
- ],
117
- "env": {
118
- "ANILIST_TOKEN": "${ANILIST_TOKEN}",
119
- "NODE_OPTIONS": "--no-deprecation"
120
- }
121
- },
122
- "brave-search": {
123
- "command": "npx",
124
- "args": [
125
- "-y",
126
- "@modelcontextprotocol/server-brave-search@latest"
127
- ],
128
- "env": {
129
- "BRAVE_API_KEY": "${BRAVE_API_KEY}",
130
- "NODE_OPTIONS": "--no-deprecation"
131
- }
132
- },
133
- "time-mcp": {
134
- "command": "npx",
135
- "args": ["-y", "time-mcp@latest"],
136
- "env": {
137
- "NODE_OPTIONS": "--no-deprecation"
138
- }
139
- },
140
- "youtube": {
141
- "command": "npx",
142
- "args": ["-y", "youtube-data-mcp-server@latest"],
143
- "env": {
144
- "YOUTUBE_API_KEY": "${YOUTUBE_API_KEY}",
145
- "YOUTUBE_TRANSCRIPT_LANG": "${YOUTUBE_TRANSCRIPT_LANG}",
146
- "NODE_OPTIONS": "--no-deprecation"
147
- }
148
  }
149
  }
150
  }
151
  EOF
152
 
153
- # Check Node.js version and display a warning if incompatible
154
- if command -v node &> /dev/null; then
155
- NODE_VERSION=$(node -v)
156
- if [[ ! "$NODE_VERSION" =~ ^v(2[0-9]|[3-9][0-9]) ]]; then
157
- echo "警告: 当前Node.js版本 $NODE_VERSION 可能不兼容。推荐使用Node.js v20或更高版本。"
158
- fi
159
- fi
 
 
 
160
 
161
- exec mcpo --config /app/config.json
 
 
 
 
1
  #!/bin/bash
2
 
3
+ # 设置错误处理和日志记录
4
+ set -e
5
+ trap 'echo "$(date +"%Y-%m-%d %H:%M:%S") - 错误:脚本执行失败,行号: $LINENO, 命令: $BASH_COMMAND"' ERR
6
+
7
+ # 创建日志目录
8
+ mkdir -p /tmp/mcp_logs
9
+ LOG_FILE="/tmp/mcp_logs/mcpo_$(date +%Y%m%d_%H%M%S).log"
10
+
11
+ # 记录开始时间和环境信息
12
+ echo "===== MCP服务器启动 $(date) =====" | tee -a $LOG_FILE
13
+ echo "主机名: $(hostname)" | tee -a $LOG_FILE
14
+
15
+ # 检查Node.js版本
16
+ if command -v node &> /dev/null; then
17
+ NODE_VERSION=$(node -v)
18
+ echo "Node.js版本: $NODE_VERSION" | tee -a $LOG_FILE
19
+ else
20
+ echo "警告: 未找到Node.js" | tee -a $LOG_FILE
21
+ fi
22
+
23
+ # 检查Python版本
24
+ if command -v python3 &> /dev/null; then
25
+ PYTHON_VERSION=$(python3 --version 2>&1)
26
+ echo "Python版本: $PYTHON_VERSION" | tee -a $LOG_FILE
27
+ else
28
+ echo "警告: 未找到Python3" | tee -a $LOG_FILE
29
+ fi
30
+
31
+ # 检查npm版本
32
+ if command -v npm &> /dev/null; then
33
+ NPM_VERSION=$(npm --version 2>&1)
34
+ echo "npm版本: $NPM_VERSION" | tee -a $LOG_FILE
35
+ else
36
+ echo "警告: 未找到npm" | tee -a $LOG_FILE
37
+ fi
38
+
39
+ # 检查mcpo可执行文件
40
+ if command -v mcpo &> /dev/null; then
41
+ MCPO_VERSION=$(mcpo --version 2>&1 || echo "无法获取版本")
42
+ echo "MCPO版本: $MCPO_VERSION" | tee -a $LOG_FILE
43
+ MCPO_PATH=$(which mcpo)
44
+ echo "MCPO路径: $MCPO_PATH" | tee -a $LOG_FILE
45
+ else
46
+ echo "警告: mcpo命令未找到" | tee -a $LOG_FILE
47
+ fi
48
+
49
+ # 创建最小配置 - 只使用一个服务进行测试
50
+ echo "创建最小配置文件..." | tee -a $LOG_FILE
51
  cat <<EOF > /app/config.json
52
  {
53
  "mcpServers": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  "fetch": {
55
  "command": "npx",
56
  "args": [
 
60
  "env": {
61
  "NODE_OPTIONS": "--no-deprecation"
62
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  }
64
  }
65
  }
66
  EOF
67
 
68
+ # 检查配置文件
69
+ echo "配置文件内容:" | tee -a $LOG_FILE
70
+ cat /app/config.json | tee -a $LOG_FILE
71
+
72
+ # 尝试直接通过npx安装和运行fetch服务(测试依赖项是否正常)
73
+ echo "测试NPX安装..." | tee -a $LOG_FILE
74
+ npx -y @kazuph/mcp-fetch@latest --help > /tmp/mcp_logs/npx_test.log 2>&1 || echo "NPX测试失败,查看 /tmp/mcp_logs/npx_test.log" | tee -a $LOG_FILE
75
+
76
+ # 启动MCPO服务器
77
+ echo "启动MCP服务器..." | tee -a $LOG_FILE
78
 
79
+ # 使用debug模式运行mcpo
80
+ # 输出日志到文件,同时显示在控制台
81
+ echo "执行命令: mcpo --config /app/config.json --log-level debug" | tee -a $LOG_FILE
82
+ mcpo --config /app/config.json --log-level debug 2>&1 | tee -a $LOG_FILE