Skip to main content
Glama
tanker327

UUID MCP Provider

by tanker327
README.md
# UUID MCP Provider

A simple Model Context Protocol (MCP) server that provides timestamp-based UUIDs whenever it's called by an LLM.

## Features

- Provides a single tool: `generateUuid`
- Uses UUID v7 for timestamp-based unique identifiers
- Simple interface with no input parameters needed
- Easy integration with Claude and other LLMs

## Installation

```bash
# Install dependencies
npm install

# Build the project
npm run build
```

## Usage

You can run the server directly:

```bash
npm start
```

### Integration with Claude Desktop

To integrate with Claude Desktop, add this to your Claude Desktop configuration file:

- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "uuid-provider": {
      "command": "node",
      "args": ["/absolute/path/to/uuid-mcp/build/index.js"]
    }
  }
}
```

Replace `/absolute/path/to/uuid-mcp/build/index.js` with the absolute path to your built index.js file.

After updating the configuration, restart Claude Desktop to see the UUID generation tool available.

## How It Works

This server uses the official `uuid` package to generate UUID v7 identifiers. UUID v7 is specifically designed to be timestamp-based while maintaining strong uniqueness guarantees:

- Incorporates a Unix timestamp in millisecond precision
- Adds randomized data to ensure uniqueness even when multiple IDs are generated in the same millisecond
- Follows the latest RFC standards for UUID generation
- Provides chronologically sortable identifiers
- Prevents collisions in distributed systems

This approach is more reliable than custom UUID implementations and eliminates the potential for duplicates even under high load.

## Dependencies

- `@modelcontextprotocol/sdk`: For MCP server implementation
- `uuid`: For RFC-compliant UUID generation
- TypeScript and related tools for development

## Example

When called, the tool returns a UUID v7 string that looks like:

```
018e94d2-279b-7bd3-9289-80d1e6619670
```

The first part of the UUID contains the timestamp, making these identifiers chronologically sortable while still maintaining the standard UUID format.

TDQS

A3.9/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool has a clear, distinct purpose that cannot be confused with any other tool in the set.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The tool name 'generateUuid' follows a clear verb_noun pattern and stands alone without any conflicting conventions.

Tool Count2/5

A single tool is too few for most practical server purposes, making the set feel thin and limited. While generating UUIDs is a straightforward task, a server with only one tool lacks the breadth typically expected for agent workflows, even for a simple domain like UUID generation.

Completeness3/5

For the narrow domain of UUID generation, the tool provides the core functionality (generate a UUID v7). However, there are notable gaps, such as no tools for generating other UUID versions (e.g., v4), validating UUIDs, or parsing UUIDs, which limits agent flexibility in handling UUID-related tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues