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

Update entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +55 -66
entrypoint.sh CHANGED
@@ -1,82 +1,71 @@
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": [
57
  "-y",
58
- "@kazuph/mcp-fetch@latest"
59
  ],
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
 
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"
11
+ ],
12
+ "env": {
13
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
14
+ }
15
+ },
16
+ "filesystem": {
17
+ "command": "npx",
18
+ "args": [
19
+ "-y",
20
+ "@modelcontextprotocol/server-filesystem",
21
+ "/home/mcp"
22
+ ]
23
+ },
24
+ "edgeone-pages-mcp-server": {
25
+ "command": "npx",
26
+ "args": ["edgeone-pages-mcp"]
27
+ },
28
+ "mcp-server-firecrawl": {
29
  "command": "npx",
30
  "args": [
31
  "-y",
32
+ "firecrawl-mcp"
33
  ],
34
  "env": {
35
+ "FIRECRAWL_API_KEY": "${FIRECRAWL_API_KEY}"
36
+ }
37
+ },
38
+ "sequential-thinking": {
39
+ "command": "npx",
40
+ "args": [
41
+ "-y",
42
+ "@modelcontextprotocol/server-sequential-thinking"
43
+ ]
44
+ },
45
+ "brave-search": {
46
+ "command": "npx",
47
+ "args": [
48
+ "-y",
49
+ "@modelcontextprotocol/server-brave-search"
50
+ ],
51
+ "env": {
52
+ "BRAVE_API_KEY": "${BRAVE_API_KEY}"
53
+ }
54
+ },
55
+ "time-mcp": {
56
+ "command": "npx",
57
+ "args": ["-y", "time-mcp"]
58
+ },
59
+ "youtube": {
60
+ "command": "npx",
61
+ "args": ["-y", "youtube-data-mcp-server"],
62
+ "env": {
63
+ "YOUTUBE_API_KEY": "${YOUTUBE_API_KEY}",
64
+ "YOUTUBE_TRANSCRIPT_LANG": "${YOUTUBE_TRANSCRIPT_LANG}"
65
  }
66
  }
67
  }
68
  }
69
  EOF
70
 
71
+ exec mcpo --config /app/config.json