MCP Latrach节点
使用Node.js和TypeScript构建的简单模型上下文协议(MCP)服务器,可在Google云平台上部署。
部署到Google Cloud Run(分步)
云构建所需的权限
确保您的Google帐户对GCP项目具有足够的权限:
- 您必须是所有者或拥有该角色
Editor哦Cloud Build Editor关于项目。 - 要检查或添加权限:
- 转到GCP控制台>IAM&Admin>IAM
- 添加带有角色的电子邮件
roles/cloudbuild.builds.editor哦roles/editor
- 如果您有多个Google帐户,请检查活动帐户:
gcloud auth login
gcloud config set account VOTRE_EMAIL@gmail.com- 如果您没有权限,请要求项目管理员授予您权限。
1.安装gcloud工具
遵循官方文件:https://cloud.google.com/sdk/docs/install
在macOS上:
brew install --cask google-cloud-sdk安装后,重新加载终端或运行:
gcloud init2.准备Dockerfile
确保Dockerfile包含:
FROM node:20-slim
WORKDIR /app
COPY package*.json ./
COPY tsconfig.json ./
RUN npm ci
COPY src ./src
RUN npm run build
EXPOSE 8080
ENV PORT=8080
CMD ["node", "dist/index.js"]3.在Google容器注册表(GCR)上构建并推送Docker映像
# Trouver l'ID de votre projet GCP (project_id)
#
# 1. Depuis la console web : https://console.cloud.google.com/ (colonne "ID du projet")
# 2. Ou en ligne de commande :
gcloud projects list
# L'ID du projet est dans la colonne PROJECT_ID
# Configurer le projet GCP
gcloud config set project mcp-latrach
## Méthode 1 : Build manuel (local)
# Construire l'image
docker build -t gcr.io/mcp-latrach/mcp-latrach-node:latest .
# Pousser l'image
docker push gcr.io/mcp-latrach/mcp-latrach-node:latest
## Méthode 2 : Build et déploiement automatique avec Cloud Build
# (Recommandé pour CI/CD)
#
# 1. Vérifiez que votre fichier cloudbuild.yaml contient une étape de déploiement Cloud Run (voir plus bas)
# 2. Avant de lancer le build, vérifiez que vous êtes bien authentifié avec le bon compte Google :
gcloud auth login
gcloud config set account xxxxx@gmail.com
# 3. Lancez le build et le déploiement :
gcloud builds submit --config cloudbuild.yaml
# Cloud Build va construire, pousser et déployer automatiquement sur Cloud Run (avec accès public)
# Pour éviter l'erreur Forbidden, assurez-vous que l'option --allow-unauthenticated est bien présente dans la commande de déploiement Cloud Run4.部署到云运行
gcloud run deploy mcp-latrach-node \
--image gcr.io/mcp-latrach/mcp-latrach-node:latest \
--platform managed \
--region europe-west1 \
--allow-unauthenticated5.获取云运行应用程序的URL
部署后,要获取服务的公共URL:
gcloud run services describe mcp-latrach-node --platform managed --region europe-west1 --format 'value(status.url)'或者列出所有服务及其URL:
gcloud run services list --platform managed --region europe-west1URL将显示在服务的“URL”列中 mcp-latrach-node.
HTTP服务器将通过云运行提供的URL(自动管理端口8080)访问。看 API_DOC.md 有关REST API的文档。
功能
- HTTP操作模式:
- 超文本传输协议 (index.ts):对于本地部署或GCP,监听端口8080
- 可用工具:
- greet:用名字问候某人 - calculate:执行简单的数学计算
- 可用资源:
- example://info:服务器信息
地方发展
先决条件
- Node.js 20或更高版本
- npm瓯纱
安装
npm install编译
npm run build执行
HTTP模式(端口8080):
npm run start:http自动充电开发
npm run dev:httpHTTP服务器将在 http://localhost:8083.见 API_DOC.md 有关完整的API文档。
选项2:云构建(自动CI/CD)
- 配置程序云构建:
# Activer l'API Cloud Build
gcloud services enable cloudbuild.googleapis.com
# Configurer les permissions
gcloud projects add-iam-policy-binding mcp-latrach \
--member serviceAccount:YOUR_PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
--role roles/run.admin- 触发构建:
gcloud builds submit --config cloudbuild.yaml- 构建后自动部署到云运行:
将此步骤添加到 cloudbuild.yaml:
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
entrypoint: gcloud
args:
- 'run'
- 'deploy'
- 'mcp-latrach-node'
- '--image'
- 'gcr.io/$PROJECT_ID/mcp-latrach-node:$COMMIT_SHA'
- '--region'
- 'europe-west1'
- '--platform'
- 'managed'测试员l'image Docker本地化
构建映像后,在Docker容器中启动MCP服务器:
docker run --rm -p 8080:8080 gcr.io/mcp-latrach/mcp-latrach-node:latest然后,您可以访问APIhttp://localhost:8080
项目结构
.
├── src/
│ └── index.ts # Point d'entrée principal
├── dist/ # Code compilé (généré)
├── package.json
├── tsconfig.json
├── Dockerfile
├── cloudbuild.yaml
└── README.md许可证
麻省理工学院
