远程MCP服务器

一个通过HTTP/SSE为Claude Desktop和其他AI客户端提供服务的远程MCP服务器,支持团队共享和集中管理。

  • by kevindupas
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 kevindupas/mcp-server-remote

使用说明

🌐 DQoS MCP远程服务器

可通过HTTP/SSE访问的MCP服务器,用于Claude桌面和其他IA客户端。

🎯 与MCP服务器的区别

特性 mcp服务器(本地) mcp服务器远程(HTTP)
沟通 .stdin/stdout、HTTP/SSE。
部署 本地机器 远程服务器
配置Claude 本地JSON文件 接口中的URL
安全 不需要 需要代币承载器
用法 个人发展 与团队分享

🚀 安装

cd mcp-server-remote
npm install

⚙️ 配置

cp .env.example .env

编辑 .env :

PORT=4000
DQOS_API_URL=https://dqos-mz.com/api/mcp
MCP_SECRET=ton-secret-super-securise-ici

🏃 开始

发展

npm run dev

生产

npm run build
npm start

🌐 部署到服务器

方案1:铁路

railway up
railway variables set MCP_SECRET=ton-secret
railway variables set DQOS_API_URL=https://dqos-mz.com/api/mcp

选项2:渲染

  1. Connecter le仓库
  2. 构建: npm install && npm run build
  3. 开始: npm start
  4. 变量d'env

选项3:VPS(Ubuntu)

# Sur le serveur
git clone votre-repo
cd mcp-server-remote
npm install
npm run build

# PM2 pour garder le serveur actif
npm install -g pm2
pm2 start dist/index.js --name mcp-server-remote
pm2 save
pm2 startup

选项4:Docker

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 4000
CMD ["npm", "start"]
docker build -t mcp-server-remote .
docker run -p 4000:4000 --env-file .env mcp-server-remote

🔧 Claude桌面中的配置

步骤1:部署服务器

您的MCP远程服务器必须可公开访问:

https://mcp.votre-domaine.com

步骤2:在Claude桌面中

  1. 打开克劳德桌面
  2. 进去 设置
  3. 点击 “添加自定义连接器” (BETA)
  4. 填写 :
    • 笔名: DQoS莫桑比克
    • 网址: https://mcp.votre-domaine.com/mcp
    • 令牌: Bearer ton-secret-super-securise-ici

步骤3:测试

问克劳德一个问题:

"Quels sont les opérateurs disponibles au Mozambique ?"

Claude应该自动使用您的MCP远程服务器!🎉

🔐 安全

1.代币持有者

所有请求必须包括:

Authorization: Bearer ton-secret-super-securise-ici

2.需要HTTPS

生产、利用 toujours HTTPS :

# Avec Caddy (auto HTTPS)
caddy reverse-proxy --from mcp.votre-domaine.com --to localhost:4000

# Ou Nginx + Let's Encrypt

3.利率限制(可选)

如有必要,添加速率限制:

import rateLimit from 'express-rate-limit';

const limiter = rateLimit({
  windowMs: 60000,
  max: 100,
});

app.use('/mcp', limiter);

📡 端点

GET/mcp

服务器信息

GET/mcp/工具

可用工具列表

标题:

Authorization: Bearer ton-secret

答复:

{
  "tools": [
    {
      "name": "get_locations",
      "description": "...",
      "inputSchema": {...}
    }
  ]
}

POST/mcp/调用工具

调用工具

标题:

Authorization: Bearer ton-secret
Content-Type: application/json

主体:

{
  "name": "get_locations",
  "arguments": {
    "level": 1,
    "with_stats": true
  }
}

答复:

{
  "content": [
    {
      "type": "text",
      "text": "{...données...}"
    }
  ]
}

🧪 用curl测试

# Liste des outils
curl https://mcp.votre-domaine.com/mcp/tools \
  -H "Authorization: Bearer ton-secret"

# Appeler un outil
curl -X POST https://mcp.votre-domaine.com/mcp/call-tool \
  -H "Authorization: Bearer ton-secret" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "get_operators",
    "arguments": {
      "type": "mobile",
      "with_stats": true
    }
  }'

🎉 MCP远程的好处

✅ 可从任何地方访问 (无需本地安装)
✅ 可与您的团队共享 (每个人都有相同的URL)
✅ 集中 (每个人只有一台服务器)
✅ 易于在Claude中配置 (只有一个URL)
✅ 关闭同事的阀门 😎

🔄 多实例

要管理多个国家,您可以:

选项1:多台服务器

https://mcp-mz.votre-domaine.com  → Mozambique
https://mcp-zm.votre-domaine.com  → Zambie
https://mcp-zw.votre-domaine.com  → Zimbabwe

选项2:具有参数的服务器

修改服务器以接受参数 country :

app.post('/mcp/call-tool', authMiddleware, async (req, res) => {
  const { name, arguments: args, country } = req.body;
  const apiUrl = getApiUrlForCountry(country);
  // ...
});

配置克劳德:

Nom: DQoS Mozambique
URL: https://mcp.votre-domaine.com/mcp?country=mz

版本: 1.0.0
日期: 2024年11月25日
Claude Desktop Beta 🚀