プロジェクト

全般

プロフィール

バグ #345

未完了

Setup-1: TypeScript開発環境セットアップ (4h)

Redmine Admin さんが約17時間前に追加. 約17時間前に更新.

ステータス:
解決
優先度:
高め
担当者:
-
開始日:
2025-06-07
期日:
進捗率:

0%

予定工数:

説明

リモートMCP統合管理サーバー開発用のTypeScript環境をセットアップする。

セットアップ内容

1. プロジェクト基盤構築

# VPS-ROOT環境での作業
cd /root
mkdir -p mcp-gateway && cd mcp-gateway

# Git初期化
git init
git remote add origin <repository-url>

# TypeScriptプロジェクト初期化
npm init -y
npm install typescript @types/node ts-node nodemon --save-dev
npx tsc --init

2. 必要ライブラリインストール

# MCP関連
npm install @modelcontextprotocol/sdk

# サーバー・認証関連
npm install express cors helmet jsonwebtoken
npm install @types/express @types/cors @types/jsonwebtoken --save-dev

# SSH・Redis関連  
npm install node-ssh ioredis
npm install @types/node-ssh @types/ioredis --save-dev

# セキュリティ・ユーティリティ
npm install express-rate-limit rate-limit-redis axios joi winston
npm install @types/express-rate-limit --save-dev

3. プロジェクト構造作成

/root/mcp-gateway/
├── src/
│   ├── server.ts              # メインサーバー
│   ├── auth/
│   │   └── oauth.ts           # OAuth実装
│   ├── managers/
│   │   ├── ssh-manager.ts     # SSH管理
│   │   ├── docker-manager.ts  # Docker管理
│   │   └── redmine-manager.ts # Redmine管理
│   ├── security/
│   │   ├── audit.ts           # 監査ログ
│   │   └── rate-limiter.ts    # Rate Limiting
│   └── types/
│       └── index.ts           # 型定義
├── nginx/
│   └── mcp.call2arm.com.conf  # Nginx設定
├── ssh-keys/                  # SSH鍵格納
├── docker-compose.yml         # 開発用
├── docker-compose.prod.yml    # 本番用
├── Dockerfile
├── .env.example
├── .gitignore
└── README.md

4. 開発用設定ファイル

  • tsconfig.json: TypeScript設定
  • package.json: scripts設定
  • .env.example: 環境変数テンプレート
  • .gitignore: Git除外設定
  • docker-compose.yml: 開発環境用

5. 開発サーバー起動確認

# 開発サーバー起動テスト
npm run dev

# 基本エンドポイント確認
curl http://localhost:3000/health

成果物

  • TypeScript開発環境完成
  • プロジェクト構造確立
  • 開発サーバー起動確認
  • Git管理体制確立

作業時間: 4時間

前提条件: VPS-ROOT環境アクセス

他の形式にエクスポート: Atom PDF