使用说明
通用MCP服务器
OpenAI和Claude支持的Model Context Protocol服务器实施
特徴
- ✅ 支持多模式
- STDIO模式:克劳德桌面統合
- HTTP模式: OpenAI、ngrok、支持外部访问
- ✅ OpenAI & Claude 完全対応
- ✅ 文件读写删除搜索功能
- ✅ MCP严格遵守规格(SDK v1.18.1)
- ✅ SSE (Server-Sent Events) 支持
- ✅ API密钥验证(可选)
- ✅ CORS対応
- ✅ 全面记录(使用Winston)
- ✅ 异步写入控制(锁定机构)
- ✅ TypeScript完全型安全
- ✅ 模块化设计
项目结构
universal-mcp-server/
├── src/
│ ├── index.ts # メインサーバー実装(STDIOモード)
│ ├── index-multimode.ts # マルチモード対応版
│ ├── http-server.ts # HTTP/SSEサーバー実装
│ ├── logger.ts # ロギングモジュール
│ └── storage.ts # ストレージモジュール
├── build/ # ビルド出力
├── data/ # データストレージ
├── logs/ # ログファイル
├── .env.example # 環境設定例
├── NGROK.md # ngrok設定ガイド
├── OPENAI.md # OpenAI統合ガイド
├── package.json
├── tsconfig.json
└── README.md
安装
npm install
npm run build
快速启动
详情 QUICKSTART.md 来修改标记元素的显示属性。
Claude Desktop(STDIO模式)
npm start
OpenAI / Web集成(HTTP模式)
# 認証なし(開発用)
MCP_MODE=http npm run dev:http
# 認証あり(推奨)
export MCP_API_KEY=$(openssl rand -hex 32)
./start-http.sh
ngrok公开
最简单的方法(多功能一体机)
# MCPサーバー + ngrokを同時起動
./start-all.sh
个别起动
# ターミナル1: MCPサーバー
./start-http.sh
# ターミナル2: ngrok
./start-ngrok.sh
手动起动
ngrok http 3000
使用方法
STDIO模式(Claude Desktop用)
# 開発モード
npm run dev
# 本番実行
npm start
HTTP模式(OpenAI,支持ngrok)
# 開発モード(認証なし)
MCP_MODE=http npm run dev:http
# 本番実行(認証なし)- 開発用のみ
MCP_MODE=http npm start:http
# 本番実行(認証あり)- 推奨
MCP_MODE=http MCP_HTTP_PORT=3000 MCP_API_KEY=your-secret-key npm start:http:auth
环境变数设定
# .envファイルを作成
cp .env.example .env
# .envファイルを編集
# MCP_MODE=http
# MCP_HTTP_PORT=3000
# MCP_HTTP_HOST=0.0.0.0
# MCP_API_KEY=your-secret-api-key
ngrok外部发布
# 別のターミナルでngrokを起動
ngrok http 3000
详情 NGROK.md 来修改标记元素的显示属性。
OpenAI与集成
详情 OPENAI.md 来修改标记元素的显示属性。
调试检查器
npm run inspect
Claude Desktop中的设置
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"universal-mcp": {
"command": "node",
"args": ["/path/to/universal-mcp-server/build/index.js"]
}
}
}
HTTP模式端点
|端点|方法|说明|认证|
|--------------|---------|------|------|
| /health | GET | 健康检查|不需要|
| /info | GET | 服务器信息|需要*|
| /sse | GET | SSE接続(MCP通信) | 必要* |
| /message | POST | 发送消息|必要*|
*API仅当设置了键时
认证页眉
curl -H "Authorization: Bearer your-api-key" \
http://localhost:3000/info
停止方法
# すべてのプロセスを停止
./stop-all.sh
# ngrokのみ停止
./stop-ngrok.sh
# または個別に停止
pkill -f "node build/index"
pkill -f "ngrok"
故障排除
进程无法停止、端口专有等问题 故障排除.md 来修改标记元素的显示属性。
常见问题:
- ngrok无法停止
./stop-ngrok.sh - 端口3000正在使用→
lsof -ti:3000 | xargs kill -9 - "endpoint already online"错误-现有ngrok停止隧道
机能
Resources(导入)
file:///{key}-使用密钥导入文件file:///list-获取所有文件列表
Tools(写入操作)
write_file-将内容写入文件delete_file-删除文件search_files-查找文本
日志
所有操作都将详细记录:
logs/combined.log-所有日志logs/error.log-仅错误- stderr - 实时输出
每个日志条目包括:
- 时间戳
- 会话ID
- 请求ID
- 操作类型
- 上下文信息
许可证
麻省理工学院
