DenoKV MCP 服务器使用说明

项目简介

本项目 'DenoKV MCP Server' 是一个实现了 Model Context Protocol (MCP) 协议的服务器,它基于 Deno 的内建 KV 数据库 (Deno KV) 构建,旨在为大型语言模型 (LLM) 应用提供可靠、高效的键值数据存储和访问服务。通过标准化的 MCP 接口,LLM 客户端可以方便地利用此服务器存储和检索上下文信息,或执行与数据存储相关的工具。

主要功能点

  • 资源管理: 基于 Deno KV 数据库,提供稳定可靠的键值对数据存储。
  • 工具注册与执行: 内置 'denokv_set', 'denokv_get', 'denokv_delete' 三个工具,允许 LLM 客户端通过调用这些工具来操作 Deno KV 数据库中的数据。
    • 'denokv_set': 向 Deno KV 数据库中设置键值对。
    • 'denokv_get': 从 Deno KV 数据库中获取指定键的值。
    • 'denokv_delete': 从 Deno KV 数据库中删除指定的键值对。
  • MCP 协议兼容: 完全遵循 MCP 协议规范,能够与任何支持 MCP 协议的 LLM 客户端进行通信。
  • Stdio 传输: 使用标准输入输出 (Stdio) 作为默认的传输协议,方便部署和集成。

安装步骤

  1. 安装 Deno: 确保您的系统已安装 Deno 运行时环境。您可以访问 https://deno.land 按照官方指南安装。
  2. 无需额外安装: 本项目以 JSR 包的形式发布,可以直接通过 Deno 运行时环境执行,无需手动下载或构建代码。

服务器配置

MCP 客户端需要配置服务器的启动命令才能连接到 'DenoKV MCP Server'。以下是配置信息,通常在客户端的 MCP 服务器配置中添加:

{
  "mcpServers": {
    "denokv": {
      "command": "deno",
      "args": [
        "--unstable-kv",
        "jsr:@divy/mcp-deno-kv",
        "./.deno_kv_data" // (可选) Deno KV 数据存储路径,默认为当前目录下的 .deno_kv_data 目录
      ]
    }
  }
}

配置参数说明:

  • '"denokv"': 服务器名称,客户端用此名称引用该服务器。可以自定义。
  • '"command": "deno"': 启动服务器的命令,这里使用 'deno' 运行时。
  • '"args"': 启动参数数组,包含以下参数:
    • '"--unstable-kv"': Deno KV 功能目前处于不稳定状态,需要添加此标志启用。
    • '"jsr:@divy/mcp-deno-kv"': 指定要运行的 JSR 包,即 'DenoKV MCP Server' 的入口。
    • '"./.deno_kv_data"': (可选) 指定 Deno KV 数据库的数据存储路径。您可以根据需要修改此路径,或者省略此参数使用默认路径(当前工作目录下的 '.deno_kv_data' 目录)。

注意: 请确保 MCP 客户端能够找到 'deno' 命令。如果 'deno' 未添加到系统环境变量 'PATH' 中,您可能需要提供 'deno' 命令的完整路径。

基本使用方法

  1. 启动服务器: 在配置好 MCP 客户端后,启动客户端,客户端会自动根据配置启动 'DenoKV MCP Server'。
  2. 客户端调用工具: LLM 应用可以通过 MCP 客户端 SDK,调用 'DenoKV MCP Server' 提供的工具,例如:
    • 使用 'denokv_set' 工具存储数据。
    • 使用 'denokv_get' 工具检索数据。
    • 使用 'denokv_delete' 工具删除数据。

具体的工具调用方式和参数格式,请参考 MCP 客户端 SDK 的文档和 'DenoKV MCP Server' 提供的工具定义 (例如 'denokv_set' 工具需要 'key' 和 'value' 参数)。客户端会通过 MCP 协议与服务器进行通信,完成数据操作。

示例 (LLM 客户端调用 'denokv_set' 工具):

{
  "jsonrpc": "2.0",
  "method": "tool_call",
  "params": {
    "tool_name": "denokv_set",
    "arguments": {
      "key": ["my_app", "user_id_123", "name"],
      "value": "Alice"
    }
  },
  "id": "1"
}

此示例展示了客户端如何通过 'tool_call' 方法调用 'denokv_set' 工具,将键 '["my_app", "user_id_123", "name"]' 的值设置为 '"Alice"'。

信息

分类

数据库与文件