Token导航 LogoToken导航TokenDH.com
Lifemd MCP logo
开发工具未说明官方级别未说明来源级核验

Lifemd MCP

MCP Server

MCP服务器用于连接ChatGPT与外部API,通过自然语言实现API交互。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
API集成开发工具TypeScript自然语言处理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kostiantynPHP

提供方

kostiantynPHP

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

用于具有外部API集成的ChatGPT应用程序的MCP服务器

MCP(模型上下文协议)服务器,用于将ChatGPT连接到外部API。允许您通过ChatGPT中的自然语言与API进行通信。

🚀 快速开始

1.安装

npm install

2.API配置

cp .env.example .env

编辑 .env:

最低配置要求:

API_BASE_URL=https://api.yourservice.com
API_KEY=your-api-key-here        # Optional: for 'api-key' header
API_TIMEOUT=30000                # Optional: request timeout in ms
PORT=3000                        # Optional: server port

关于AUTH_TOKEN:

AUTH_TOKEN可选的 并且取决于您的API身份验证方法:

选项1:静态承载令牌(如果您的API使用固定的令牌,但该令牌不会更改):

API_BASE_URL=https://api.yourservice.com
API_KEY=12345                    # Static API key (for 'api-key' header)
AUTH_TOKEN=bearer-token-here     # Static Bearer token (for 'authorization' header)

选项2:动态令牌(如果令牌是在患者授权后生成的):

API_BASE_URL=https://api.yourservice.com
API_KEY=12345                    # Static API key (for 'api-key' header)
# AUTH_TOKEN not needed - will be set dynamically after authorization

然后使用 api_auth 自动授权患者和存储令牌的工具。动态生成的令牌将覆盖任何静态令牌 AUTH_TOKEN.env.

测试示例(无需密钥):

API_BASE_URL=https://jsonplaceholder.typicode.com
API_KEY=

3.构建和运行

npm run build
npm start

服务器将于启动 http://localhost:3000

4.连接到ChatGPT

当地通过ngrok:

  1. 安装ngrok:https://ngrok.com/download
  2. Run-ngrok:
   ngrok http 3000
  1. 复制HTTPS URL(例如。, https://abc123.ngrok.app)
  2. 在ChatGPT应用程序/开发人员模式下,添加一个URL为的连接器: https://abc123.ngrok.app/mcp

生产: 部署到HTTPS托管(Cloudflare Workers、Fly.io、Vercel等)

5.使用方法

连接后,只需在ChatGPT中写入:

如果您的API需要患者授权:

  1. 首次授权:“使用用户名授权患者john@example.com密码密码123“
  2. 然后使用API:“获取患者列表”、“创建预约”等。

如果您的API不需要授权:

  • “获取用户列表”
  • “创建一个名为John的新用户”
  • “更新id为1的用户”
  • “删除id为5的帖子”

📖 运作原理

建筑

ChatGPT → MCP Server → Your External API → Response → ChatGPT

过程

  1. 您在ChatGPT中: “获取用户列表”
  2. ChatGPT 调用 api_get 带参数的工具
  3. MCP服务器 向发出GET请求 https://api.yourservice.com/users
  4. 您的API 返回数据
  5. MCP服务器 将结构化数据返回给ChatGPT
  6. ChatGPT 显示结果

MCP服务器做什么

  • ✅ 自动添加 api-key 标题与 API_KEY 值(如果提供)
  • ✅ 自动添加 Authorization: Bearer 标题为:

- 静态 AUTH_TOKEN.env (如有提供),或 - 动态令牌来自 api_auth 工具(如果进行了患者授权)

  • ✅ 处理错误和超时
  • ✅ 返回对ChatGPT的结构化响应
  • ✅ 永远不要将您的API密钥传递给ChatGPT(留在服务器上)

🛠️ 可用工具

api_auth -授权患者

授权患者并自动存储用于所有后续API请求的身份验证令牌。

命令示例:

  • “使用用户名授权患者john@example.com密码密码123“
  • “使用凭据登录患者”
  • “对患者进行身份验证”

参数:

{
  "endpoint": "/auth/login",
  "credentials": {
    "username": "john@example.com",
    "password": "secret123"
  },
  "tokenField": "token" // Optional: field name in response (default: "token" or "accessToken")
}

它是如何工作的:

  1. 使用患者凭据向授权端点发送POST请求
  2. 从响应中提取令牌(尝试: token, accessToken, access_token)
  3. 将令牌存储在内存中
  4. 所有后续API请求将自动包括 Authorization: Bearer 头球

注: 令牌存储在内存中,并持续到服务器重新启动。每次会话使用此工具一次。

api_get -获取数据

对外部API执行GET请求。

命令示例:

  • “获取用户列表”
  • “显示id为1的帖子”
  • “查找帖子5的所有评论”

参数:

{
  "endpoint": "/users",
  "params": {
    "page": 1,
    "limit": 10
  }
}

api_post -创建数据

执行POST请求以创建资源。

命令示例:

  • “使用电子邮件创建一个名为John的新用户john@example.com"
  • “添加标题为“Hello”、文本为“World”的新帖子”

参数:

{
  "endpoint": "/users",
  "data": {
    "name": "John Doe",
    "email": "john@example.com"
  }
}

api_put -更新数据

执行PUT请求以更新资源。

命令示例:

  • 更新id为1的用户,将名称更改为Jane
  • 将任务5的状态更改为“已完成”

参数:

{
  "endpoint": "/users/1",
  "data": {
    "name": "Jane Doe"
  }
}

api_delete -删除数据

执行DELETE请求以删除资源。

命令示例:

  • “删除id为3的用户”
  • “删除第10条帖子”

参数:

{
  "endpoint": "/users/3"
}

get_info -服务器信息

返回有关MCP服务器和API配置的信息。

🧪 测试

在本地检查服务器

# Check tools list
curl http://localhost:3000/mcp \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

测试工具调用

# Call api_get
curl http://localhost:3000/mcp \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "api_get",
      "arguments": {
        "endpoint": "/users"
      }
    },
    "id": 1
  }'

在ChatGPT中进行测试

⚠️ 重要提示: 您需要先将服务器连接到ChatGPT!

  1. 启动服务器: npm start
  2. 启动ngrok: ngrok http 3000
  3. 连接到ChatGPT(请参阅“连接到ChatGP”部分)
  4. 然后 您可以在聊天中编写命令

示例测试命令:

  • “获取用户列表”
  • “显示id为1的帖子”
  • “创建新帖子”

📝 不同API的示例

JSON占位符(测试API)

API_BASE_URL=https://jsonplaceholder.typicode.com
API_KEY=

命令:

  • “获取所有用户”
  • “显示id为1的帖子”
  • “创建新帖子”

GitHub API

API_BASE_URL=https://api.github.com
API_KEY=ghp_your_github_token_here

命令:

  • “显示我的存储库”
  • “获取有关存储库microsoft/vcode的信息”

您自己的API

API_BASE_URL=https://api.yourservice.com
API_KEY=your-api-key

🔐 高级API配置

如果API使用与默认Bearer令牌不同的身份验证方法,则需要修改 server/src/api-client.ts.

1.自定义标头中的API密钥(例如,X-API-Key)

如果您的API需要自定义标头中的密钥:

// In api-client.ts, modify the constructor:
if (this.config.apiKey) {
  this.config.headers["X-API-Key"] = this.config.apiKey; // Instead of Authorization
  // Or remove the Authorization line if not needed
}

2.查询参数中的API键

如果API需要密钥作为查询参数:

// Modify buildUrl method:
private buildUrl(endpoint: string, params?: Record): string {
  const url = new URL(endpoint, this.config.baseUrl);

  // Add API key as query parameter
  if (this.config.apiKey) {
    url.searchParams.append("api_key", this.config.apiKey);
  }

  if (params) {
    Object.entries(params).forEach(([key, value]) => {
      if (value !== undefined && value !== null) {
        url.searchParams.append(key, String(value));
      }
    });
  }

  return url.toString();
}

3.基本身份验证

如果您的API使用基本验证:

// In createApiClient function:
export function createApiClient(): ApiClient {
  const baseUrl = process.env.API_BASE_URL || "https://api.example.com";
  const username = process.env.API_USERNAME || "";
  const password = process.env.API_PASSWORD || "";

  const credentials = Buffer.from(`${username}:${password}`).toString("base64");

  return new ApiClient({
    baseUrl,
    headers: {
      "User-Agent": "MCP-Server/1.0.0",
      Authorization: `Basic ${credentials}`,
    },
    timeout: parseInt(process.env.API_TIMEOUT || "30000", 10),
  });
}

然后在 .env:

API_BASE_URL=https://api.yourservice.com
API_USERNAME=your-username
API_PASSWORD=your-password

4.自定义标题

如果您的API需要自定义标头:

// In createApiClient function:
export function createApiClient(): ApiClient {
  const baseUrl = process.env.API_BASE_URL || "https://api.example.com";
  const apiKey = process.env.API_KEY || "";

  return new ApiClient({
    baseUrl,
    apiKey,
    headers: {
      "User-Agent": "MCP-Server/1.0.0",
      "X-Custom-Header": process.env.CUSTOM_HEADER_VALUE || "",
      Accept: "application/vnd.api+json", // Example
    },
    timeout: parseInt(process.env.API_TIMEOUT || "30000", 10),
  });
}

测试您的自定义配置

  1. 设置您的 .env 文件
  2. 卷曲测试:
# Test GET request
curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://api.yourservice.com/endpoint

# Test POST request
curl -X POST \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"key":"value"}' \
     https://api.yourservice.com/endpoint
  1. 如果curl正常工作,MCP服务器也应该正常工作(具有相同的标头)

其他配置问题

403禁止:

  • 检查API密钥权限
  • 验证API侧的CORS设置
  • 检查是否需要IP白名单

需要帮助?

  • 查看API文档以了解身份验证要求
  • 修改 api-client.ts 以满足API的要求
  • 首先使用curl进行测试,然后在代码中实现

🔧 项目结构

mcp/
├── server/
│   └── src/
│       ├── index.ts          # Main MCP server
│       └── api-client.ts     # API client
├── .env                      # Your API settings (not in git)
├── .env.example              # Configuration template
├── package.json
└── README.md

🐛 故障排除

错误:“找不到模块”

npm install

错误:“API错误:401未经授权”

  • 检查 API_KEY.env (如果需要,用于“api密钥”标头)
  • 如果使用静态令牌:检查 AUTH_TOKEN.env (用于“授权”标题)
  • 如果使用动态令牌:请确保您已调用 api_auth 首先授权患者的工具
  • 确保令牌未过期
  • 验证令牌格式是否正确

错误:“请求超时”

  • 增加 API_TIMEOUT.env
  • 检查API的可用性

服务器无法启动

  • 检查端口3000是否未被占用
  • 改变 PORT.env

ChatGPT无法连接

  • 确保使用HTTPS(ngrok或生产)
  • 检查一下 /mcp 端点可访问
  • 检查CORS设置

ChatGPT不调用工具

  • 检查服务器是否正在运行
  • 检查ngrok连接
  • 确保ChatGPT中的URL以结尾 /mcp

TypeScript错误

  • 确保使用Node.js 18+(内置fetch)

🔒 安全

  • ✅ API密钥仅存储在服务器上(位于 .env)
  • .env 文件已在 .gitignore
  • ✅ API密钥从不传递给ChatGPT
  • ⚠️ 对于生产,使用安全的秘密存储方法

📚 附加信息

  • 官方文件: https://developers.openai.com/apps-sdk/build/mcp-server
  • MCP协议: https://modelcontextprotocol.io

🎯 后续步骤

  1. 在中配置API .env
  2. 在本地启动服务器
  3. 通过ngrok连接到ChatGPT
  4. 使用不同命令进行测试
  5. 部署到生产环境以供永久使用

______________________________________________________________________

准备好了! 现在您可以通过ChatGPT与您的API进行通信! 🚀

目录标签

目录标签

API集成开发工具TypeScript自然语言处理本地部署ChatGPT插件自动化工具

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP