UUIDv7生成器

一个用于生成UUIDv7字符串的Model Context Protocol (MCP)服务器,支持单次和批量生成。

  • by pomazanbohdan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 pomazanbohdan/mcp-uuidv7-generator

使用说明

mcp-uuidv7-生成器

用于生成UUID v7字符串的模型上下文协议(MCP)服务器。

使用trae.ai通过vibe编码创建

特性

  • 获取一个UUID v7字符串。
  • 获取一批UUID v7字符串。

用法

要将此服务器与Claude Desktop等MCP客户端一起使用,您可以按如下方式进行配置。此示例假设您直接从源代码运行服务器。

首先,确保您安装了Python和必要的依赖项(请参阅开发部分)。

然后在MCP客户端配置中(例如。, claude-desktop-settings.json):

{
  "mcpServers": {
    "uuid_v7_generator": {
      "command": "python",
      "args": ["/path/to/your/mcp-uuid-server/mcp_uuid_server/server.py"],
      // Optional: specify the working directory if needed
      // "cwd": "/path/to/your/mcp-uuid-server/"
    }
  }
}

替换 /path/to/your/mcp-uuid-server/ 带有克隆或放置服务器代码的实际路径。

如果服务器以某种方式打包和发布 uvx 可以运行它(就像一些官方的MCP服务器一样),配置可能如下(这是一个假设的例子,因为该服务器目前没有以这种方式发布):

{
  "mcpServers": {
    "uuid_v7_generator": {
      "command": "uvx",
      "args": ["mcp-uuid-server"]
    }
  }
}

直接运行服务器

您可以直接运行服务器进行开发或本地使用:

python /path/to/your/mcp-uuid-server/mcp_uuid_server/server.py

服务器将启动并监听stdin/stdout上的MCP客户端连接。

可用工具

  1. get_uuidv7:

    • 描述:生成并返回一个UUID v7字符串。
    • 参数:无
    • 返回:表示UUID v7的字符串。
  2. get_uuidv7_batch:

    • 描述:生成并返回UUID v7字符串列表。
    • 论据:
      • count (整数):要生成的UUID v7字符串的数量。必须是正整数。
    • 返回:一个字符串列表,其中每个字符串都是UUID v7。

发展

设置开发环境:

  1. 克隆存储库。

  2. 建议创建并激活虚拟环境:

    python -m venv .venv
    source .venv/bin/activate  # On Windows use .venv\Scripts\activate
    
  3. 从安装依赖项 pyproject.toml (包括 mcp 和 uuid6):

    pip install .
    

    对于可编辑模式,这在开发过程中很有用,因为对源代码的更改会立即反映出来,而无需重新安装:

    pip install -e .
    
  4. 直接运行服务器进行测试:

    python mcp_uuid_server/server.py
    

故障排除

JSON解析错误

如果您遇到类似的错误消息 MCP ERROR (uuid_v7_generator): SyntaxError: JSON Parse error: Unable to parse JSON string,这通常表示MCP客户端(例如Claude Desktop)向此服务器发送了格式错误的JSON请求。

要解决此问题,请执行以下操作:

  • 验证客户端请求:检查MCP客户端正在制定和发送的JSON请求。确保它们是语法正确的JSON。
  • 检查编码:确保JSON请求是UTF-8编码的,因为这是JSON的标准。
  • 工具参数:
    • 对于 get_uuidv7,客户端应发送一个指示工具名称的请求,通常没有参数或参数对象为空。
    • 对于 get_uuidv7_batch,客户端必须将参数作为带整数的JSON对象发送 count 字段,例如: {"count": 10}.发送用于计数的字符串(例如。 {"count": "10"})或者请求结构中的其他畸形可能导致解析问题。