Skip to main content
Glama
prazedotid

UUID MCP Provider

by prazedotid
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.6/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool has a single, clearly defined purpose of generating UUID v7s, making it impossible for an agent to misselect among alternatives.

Naming Consistency5/5

The tool name 'generateUuid' follows a clear verb_noun pattern (generate + Uuid), and since there is only one tool, there is no inconsistency to evaluate. The naming is straightforward and predictable for its singular function.

Tool Count2/5

A single tool is too few for most practical server purposes, as it offers minimal functionality and lacks related operations. While UUID generation is a narrow domain, typical MCP servers benefit from more tools (e.g., 3-15) to cover broader workflows, making this feel thin and limited in scope.

Completeness3/5

The tool covers the core function of generating UUID v7s, but there are notable gaps in the domain. For example, it lacks tools for validating UUIDs, generating other UUID versions (e.g., v4), or handling UUID-related operations like parsing or conversion, which limits agent capabilities in broader UUID management tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues