Skip to main content
Glama
drdudda-org

My Little MCP Server

by drdudda-org

My Little MCP Server

현재 시간과 랜덤 숫자를 제공하는 아주 간단한 MCP (Model Context Protocol) 서버입니다.

기능

  1. 현재 시간 조회 (get_current_time)

    • 한국 시간(KST) 기준으로 현재 날짜와 시간을 반환

    • 포맷: locale (기본), iso, timestamp

  2. 랜덤 숫자 생성 (get_random_number)

    • 1~50 사이의 랜덤한 숫자를 생성

    • 범위 커스터마이징 가능 (1~100)

Related MCP server: MCP Time Server

설치 및 실행

# 의존성 설치
npm install

# 빌드
npm run build

stdio transport (기본)

# 개발 모드
npm run dev

# 프로덕션
npm start

HTTP transport

# 개발 모드 (포트 8004)
npm run dev:http

# 프로덕션 (포트 8004)
npm run start:http

# 커스텀 포트
npm run dev -- --transport=http --port=8005

사용법

MCP 클라이언트에서 사용

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "my-little-mcp": {
      "command": "node",
      "args": ["/Users/swan/swan/chequer-projects/chequer-io/ironman/mcp-suite/mcp-servers/my-little-mcp/dist/index.js"]
    }
  }
}

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "my-little-mcp": {
      "command": "node", 
      "args": ["/Users/swan/swan/chequer-projects/chequer-io/ironman/mcp-suite/mcp-servers/my-little-mcp/dist/index.js"]
    }
  }
}

HTTP transport 사용 시

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "my-little-mcp": {
      "url": "http://localhost:8004/mcp"
    }
  }
}

로컬에서 테스트

stdio transport

# MCP Inspector로 테스트
npx @modelcontextprotocol/inspector node dist/index.js

HTTP transport

# 서버 실행 (별도 터미널)
npm run start:http

# MCP Inspector로 테스트
npx @modelcontextprotocol/inspector http://localhost:8004/mcp

# 또는 직접 HTTP API 호출
curl http://localhost:8004/health
curl http://localhost:8004/

도구 사용 예제

현재 시간 조회

  • 기본: get_current_time

  • ISO 포맷: get_current_time with {"format": "iso"}

  • 타임스탬프: get_current_time with {"format": "timestamp"}

랜덤 숫자 생성

  • 기본 (1-50): get_random_number

  • 커스텀 범위: get_random_number with {"min": 10, "max": 30}

특징

  • 매우 간단함: 100줄 미만의 코드

  • 순수 MCP SDK: 추가 의존성 최소화

  • 한국어 지원: 한국 시간대 및 한국어 메시지

  • 타입 안전성: TypeScript + Zod

요구사항

  • Node.js 18.0.0+

  • TypeScript 5.0+

라이센스

MIT License

Available Tools

2 tools
get_current_time현재 시간 조회A

현재 시간을 알려주는 도구입니다. 한국 시간(KST)으로 현재 날짜와 시간을 반환합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNo시간 포맷 (기본값: locale)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the tool's behavior by specifying it returns current time in KST, but does not mention potential traits like rate limits, error conditions, or whether it's read-only (implied but not stated). It adds some context but lacks comprehensive behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and concise, consisting of two efficient sentences that directly state the tool's function and output without unnecessary details. Every sentence earns its place by providing essential information, making it well-structured and easy to understand.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one optional parameter, no output schema), the description is complete enough for basic usage, covering purpose and output format. However, it could benefit from mentioning the optional parameter or example outputs to enhance usability, but it adequately serves its simple function.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, documenting the 'format' parameter with enum values. The description does not add any parameter-specific information beyond what the schema provides, such as explaining the default 'locale' format or usage examples. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('알려주는', '반환합니다') and resource ('현재 시간'), and distinguishes it from the sibling tool get_random_number by focusing on time retrieval rather than number generation. It specifies the timezone (KST) and scope (current date and time), making it highly specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by stating it returns the current time in KST, which helps users know when to use it for time-related queries. However, it does not explicitly mention when not to use it or name alternatives, such as using get_random_number for non-time data, so it lacks explicit exclusions or named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_random_number랜덤 숫자 생성B

1부터 50 사이의 랜덤한 숫자를 하나 뽑아주는 도구입니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
minNo최소값 (기본값: 1)
maxNo최대값 (기본값: 50)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. While it states the basic function (generating a random number between 1-50), it doesn't disclose important behavioral traits like whether the number generation is truly random or pseudorandom, whether there are rate limits, what happens if min/max parameters conflict, or what format the output takes. The description is minimal and lacks behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for this simple tool and front-loads the essential information about what the tool does and its default range.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple random number generator with 2 optional parameters and 100% schema coverage, the description is adequate but has clear gaps. Without annotations or an output schema, the description should ideally provide more context about the randomness quality, output format, and usage scenarios. It meets minimum viability but doesn't fully compensate for the lack of structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with both parameters (min, max) fully documented in the schema. The description doesn't add any parameter semantics beyond what's already in the schema - it only mentions the 1-50 range which corresponds to the default values. According to the rules, when schema coverage is high (>80%), the baseline is 3 even with no additional param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('랜덤한 숫자를 하나 뽑아주는' - picks one random number) and resource ('1부터 50 사이' - between 1 and 50). It distinguishes from the sibling tool get_current_time by focusing on random number generation rather than time retrieval. The purpose is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool get_current_time or any other potential alternatives for generating numbers or randomness. There's no context about when this tool is appropriate versus other approaches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedget_current_time
    • First observedget_random_number

TDQS

A3.5/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have completely distinct purposes: one returns the current time in KST, and the other generates a random number between 1 and 50. There is no overlap in functionality, making it impossible to confuse them.

Naming Consistency5/5

Both tools follow a consistent verb_noun naming pattern (get_current_time and get_random_number), using snake_case and starting with 'get_' to indicate retrieval actions. This uniformity makes the set predictable and easy to understand.

Tool Count2/5

With only two tools, the server feels thin and under-scoped for any meaningful domain, such as time or random number utilities. It lacks depth, offering basic functions without supporting operations like time conversion or number range adjustments.

Completeness2/5

Inferred as a utility server, the toolset is severely incomplete. For time-related functions, there are no tools for timezone conversion or formatting, and for random numbers, no tools to set custom ranges or generate sequences. This leaves obvious gaps in coverage.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that allows checking local time on the client machine or current UTC time from an NTP server
    2
    16 PyPI
    34
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A minimal MCP server that provides current time information with configurable timezone support set on the client side.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A lightweight MCP server providing tools for adding integers, getting current time, and fetching weather forecasts via wttr.in.
    -