Skip to main content
Glama

MCP 랜드

npm 버전 라이센스: ISC

UUID, 숫자, 문자열, 비밀번호, 가우시안 분포, 주사위 굴리기, 카드 뽑기 등 다양한 난수 생성 유틸리티를 제공하는 MCP(모델 컨텍스트 프로토콜) 서버입니다.

설치

지엑스피1

또는 전역적으로 설치:

npm install -g mcp-rand

Related MCP server: RandomUser MCP Server

특징

UUID 생성기

  • RFC 4122 버전 4 UUID를 생성합니다.

  • 안전한 난수 생성을 위해 Node의 기본 암호화 모듈을 사용합니다.

  • 매개변수가 필요하지 않습니다

난수 생성기

  • 지정된 범위 내에서 난수를 생성합니다

  • 구성 가능한 최소값 및 최대값(포함)

  • 매개변수가 제공되지 않으면 기본값은 0-100 범위입니다.

가우시안 난수 생성기

  • 가우스(정규) 분포에 따라 난수를 생성합니다.

  • 0-1 범위로 정규화됨

  • 매개변수가 필요하지 않습니다

난수 문자열 생성기

  • 구성 가능한 길이와 문자 집합을 사용하여 무작위 문자열을 생성합니다.

  • 다양한 문자 집합을 지원합니다:

    • 영숫자(기본값): AZ, az, 0-9

    • 숫자: 0-9

    • 소문자: az

    • 대문자: AZ

    • 특수: !@#$%^&*()_+-=[]{};'"\|,.<>/?

  • 구성 가능한 문자열 길이(기본값은 10)

비밀번호 생성기

  • 다양한 문자 유형을 혼합하여 강력한 비밀번호를 생성합니다.

  • 각 유형(대문자, 소문자, 숫자, 특수문자)에서 최소한 한 문자가 포함되어 있는지 확인합니다.

  • 구성 가능한 길이(최소 8, 기본값 16)

  • 경고: 비밀번호는 로컬로 생성되지만 전용 비밀번호 관리자를 사용하는 것이 좋습니다.

주사위 롤러

  • 표준 주사위 표기법을 사용하여 여러 개의 주사위를 굴립니다.

  • "2d6"(6면체 주사위 2개), "1d20"(20면체 주사위 1개)과 같은 표기법을 지원합니다.

  • 각 주사위 세트에 대한 개별 롤과 총합을 반환합니다.

  • 한 번에 여러 개의 다른 주사위 세트를 굴릴 수 있습니다(예: "2d6", "1d20", "4d4")

카드 서랍

  • 표준 52장 덱에서 카드를 뽑습니다.

  • Base64 인코딩을 사용하여 추첨 간 데크 상태를 유지합니다.

  • 뽑은 카드와 남은 덱 상태를 반환합니다.

  • 덱 크기에 맞춰 원하는 수의 카드를 뽑을 수 있습니다.

  • 각 추첨 전에 사용 가능한 카드를 적절히 섞습니다.

용법

CLI 도구로서

npx mcp-rand

MCP 클라이언트와의 통합

MCP 클라이언트 구성에 추가:

{ "mcpServers": { "mcp-rand": { "command": "node", "args": ["path/to/mcp-rand/build/index.js"], "disabled": false, "alwaysAllow": [] } } }

사용 예

// Generate UUID const uuid = await client.callTool('generate_uuid', {}); console.log(uuid); // e.g., "550e8400-e29b-41d4-a716-446655440000" // Generate random number const number = await client.callTool('generate_random_number', { min: 1, max: 100 }); console.log(number); // e.g., 42 // Generate Gaussian random number const gaussian = await client.callTool('generate_gaussian', {}); console.log(gaussian); // e.g., 0.6827 // Generate random string const string = await client.callTool('generate_string', { length: 15, charset: 'alphanumeric' }); console.log(string); // e.g., "aB9cD8eF7gH6iJ5" // Generate password const password = await client.callTool('generate_password', { length: 20 }); console.log(password); // e.g., "aB9#cD8$eF7@gH6*iJ5" // Roll dice const rolls = await client.callTool('roll_dice', { dice: ['2d6', '1d20', '4d4'] }); console.log(rolls); /* Output example: [ { "dice": "2d6", "rolls": [3, 1], "total": 4 }, { "dice": "1d20", "rolls": [4], "total": 4 }, { "dice": "4d4", "rolls": [2, 3, 2, 3], "total": 10 } ] */ // Draw cards const draw1 = await client.callTool('draw_cards', { count: 5 }); console.log(draw1); /* Output example: { "drawnCards": [ { "suit": "hearts", "value": "A" }, { "suit": "diamonds", "value": "7" }, { "suit": "clubs", "value": "K" }, { "suit": "spades", "value": "2" }, { "suit": "hearts", "value": "10" } ], "remainingCount": 47, "deckState": "t//+///bDw==" } */ // Draw more cards using previous deck state const draw2 = await client.callTool('draw_cards', { count: 3, deckState: draw1.deckState }); console.log(draw2); /* Output example: { "drawnCards": [ { "suit": "diamonds", "value": "Q" }, { "suit": "clubs", "value": "5" }, { "suit": "spades", "value": "J" } ], "remainingCount": 44, "deckState": "l//+//zbDw==" } */

기여하다

개발 설정 및 지침은 CONTRIBUTING.md를 참조하세요.

특허

아이에스씨

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/turlockmike/mcp-rand'

If you have feedback or need assistance with the MCP directory API, please join our Discord server