项目简介

ServeMyAPI 是一个专为 macOS 设计的个人 MCP 服务器,旨在安全地存储和管理 API 密钥,并将其便捷地提供给各类 LLM(大型语言模型)应用使用。它利用 macOS Keychain 的安全特性来存储敏感的 API 密钥,并通过实现了 Model Context Protocol (MCP) 协议,对外提供标准化的接口,使得 LLM 客户端可以安全可靠地访问和管理这些密钥。

主要功能点

  • 安全密钥存储: 使用 macOS Keychain 安全存储 API 密钥,避免明文泄露和硬编码风险。
  • MCP 协议支持: 完全兼容 Model Context Protocol,可以与任何 MCP 客户端(如 Claude Desktop, Windsurf 等)无缝集成。
  • API 密钥管理工具: 提供完善的 API 密钥管理功能,包括存储、检索、列出和删除密钥,方便用户和 LLM 应用进行密钥操作。
  • 多种传输协议: 支持 Stdio (标准输入输出) 和 HTTP/SSE (HTTP Server-Sent Events) 两种传输协议,满足不同应用场景的需求。
  • 易于集成: 可以轻松配置到支持 MCP 协议的 LLM 客户端中,例如 Claude Desktop,提升 LLM 应用的功能和安全性。

安装步骤

  1. 克隆仓库
    git clone https://github.com/Jktfe/serveMyAPI.git
  2. 进入项目目录
    cd serveMyAPI
  3. 安装依赖
    npm install
  4. 构建项目
    npm run build

服务器配置

为了让 MCP 客户端(例如 Claude Desktop)能够连接到 ServeMyAPI 服务器,您需要配置客户端的 MCP 服务器设置。以下是针对 Claude Desktop 的配置示例,您需要将配置信息添加到 Claude Desktop 的配置文件 'claude_desktop_config.json' 中。

Claude Desktop 配置示例 (macOS)

打开或创建 Claude Desktop 配置文件 '~/Library/Application Support/Claude/claude_desktop_config.json',并在 'mcpServers' 字段中添加以下配置:

{
  "mcpServers": {
    "serveMyAPI": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/serveMyAPI/dist/index.js"
      ]
    }
  }
}

配置参数说明:

  • 'server name': 'serveMyAPI' - 服务器名称,可以自定义,用于在客户端中标识该服务器。
  • 'command': 'node' - 启动服务器的命令,这里使用 Node.js 运行时。
  • 'args': '["/ABSOLUTE/PATH/TO/serveMyAPI/dist/index.js"]' - 启动服务器的参数,指向 ServeMyAPI 项目构建后的 'dist/index.js' 文件。请务必将 '/ABSOLUTE/PATH/TO/serveMyAPI' 替换为您 ServeMyAPI 项目的实际绝对路径。

完成配置后,重启 Claude Desktop 即可。

基本使用方法

  1. 启动服务器

    • Stdio 服务器 (推荐用于 Claude Desktop 等客户端):

      npm start

      启动后,服务器将通过标准输入输出与客户端通信。

    • HTTP 服务器 (适用于需要 HTTP 访问的应用):

      node dist/server.js

      启动后,服务器默认监听 3000 端口,您可以通过 HTTP SSE 协议访问。

  2. 使用 MCP 客户端

    配置完成后,在支持 MCP 协议的客户端中选择 'serveMyAPI' 服务器。您可以使用自然语言指令或客户端提供的界面来调用 ServeMyAPI 提供的工具,例如:

    • 存储 API 密钥 (store-api-key): 'Using serveMyAPI, store my API key YOUR_API_KEY as "Your API Key Name"'
    • 获取 API 密钥 (get-api-key): 'Using serveMyAPI, get the API key named "Your API Key Name"'
    • 列出所有 API 密钥 (list-api-keys): 'Using serveMyAPI, list all my stored API keys'
    • 删除 API 密钥 (delete-api-key): 'Using serveMyAPI, delete the API key named "Your API Key Name"'

    请将 'YOUR_API_KEY' 和 '"Your API Key Name"' 替换为您实际的 API 密钥和密钥名称。

通过 ServeMyAPI,您可以安全、便捷地在 LLM 应用中使用 API 密钥,提高开发效率和安全性。

信息

分类

桌面与硬件