Local Utilities MCP Server

by arjshiv
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Supports Linux systems for port checking functionality, allowing users to identify processes running on specific ports.

  • Supports macOS systems for port checking functionality, allowing users to identify processes running on specific ports.

  • Provides access to Node.js version information, allowing clients to retrieve details about the Node.js environment running on the local system.

Local Utilities MCP Server

A Model Context Protocol (MCP) server that provides access to various local system utilities. This server can be used with Cursor and other MCP-compatible clients to provide quick access to system information.

Features

The server provides the following utilities:

  • Time and Date: Get the current local time and date, including day of the week, in various formats
  • Hostname: Get the system's hostname
  • Public IP: Get the machine's public IP address
  • Directory Listing: List the contents of a specified directory
  • Node.js Version: Get the currently running Node.js version
  • Port Checker: Check what process is running on a specific port
  • Think Tool: Record, retrieve, and analyze thoughts during development sessions

Installation

Global Installation

pnpm add -g localutils-mcp-server

Using with npx

You can also run the server directly using npx without installing it globally:

npx localutils-mcp-server

Usage

Starting the Server

If installed globally:

localutils-mcp

With npx:

npx localutils-mcp-server

Using with Cursor

The server can be used with Cursor by configuring it as an MCP server in Cursor's settings.

  1. Open Cursor settings
  2. Navigate to the MCP section
  3. Add a new MCP server with the following configuration:
    { "name": "localutils", "command": "npx", "args": ["localutils-mcp-server"] }

Using the MCP Inspector

You can test the server using the MCP Inspector:

pnpm run inspector

This will start the MCP Inspector at http://localhost:5173.

Available Tools

get_time_and_date

Returns the current local time and date in various formats, including:

  • Local time
  • Local date
  • Day of the week
  • ISO 8601 format
  • Unix timestamp

get_hostname

Returns the hostname of the machine running the MCP server.

get_public_ip

Returns the public IP address of the machine running the MCP server.

list_directory

Lists the contents of a specified directory.

Parameters:

  • path (string, required): Directory path to list

get_node_version

Returns the Node.js version information of the environment running the MCP server.

check_port

Checks what process is running on a specific port.

Parameters:

  • port (number or string, required): Port number to check (1-65535). String values will be automatically converted to numbers.

Example Response (macOS/Linux):

{ "processes": [ { "command": "node", "pid": "12345", "user": "username", "fd": "12u", "type": "IPv4", "device": "0x1234567890", "size": "0t0", "node": "TCP", "name": "*:3000 (LISTEN)" } ], "message": "Found 1 process(es) using port 3000" }

think

Records a new thought with timestamp.

Parameters:

  • thought (string, required): The thought content to record

Example Response:

{ "success": true, "data": { "message": "Thought recorded successfully" } }

get_thoughts

Retrieves all recorded thoughts.

Example Response:

{ "success": true, "data": { "thoughts": [ { "timestamp": "2025-03-24T15:00:00.000Z", "content": "Need to update the documentation" } ] } }

clear_thoughts

Clears all recorded thoughts.

Example Response:

{ "success": true, "data": { "message": "All thoughts cleared" } }

get_thought_stats

Returns statistics about recorded thoughts.

Example Response:

{ "success": true, "data": { "totalThoughts": 1, "averageLength": 28, "oldestThought": "2025-03-24T15:00:00.000Z", "newestThought": "2025-03-24T15:00:00.000Z" } }

Development

Building

pnpm run build

Running in Development Mode

pnpm run dev

Testing

pnpm test

Git Workflow

This repository includes a pre-commit hook that automatically builds the server before each commit. This ensures that the build files are always up-to-date in the repository.

The build folder is included in the git repository to make it easier to use the package with npx without having to build it first.

To set up the pre-commit hook after cloning the repository:

pnpm install

This will install dependencies and set up the pre-commit hook via Husky.

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Provides quick access to local system utilities including time/date, hostname, public IP, directory listings, Node.js version, and port usage through an MCP server interface compatible with Cursor and other MCP clients.

  1. Features
    1. Installation
      1. Global Installation
      2. Using with npx
    2. Usage
      1. Starting the Server
      2. Using with Cursor
      3. Using the MCP Inspector
    3. Available Tools
      1. get_time_and_date
      2. get_hostname
      3. get_public_ip
      4. list_directory
      5. get_node_version
      6. check_port
      7. think
      8. get_thoughts
      9. clear_thoughts
      10. get_thought_stats
    4. Development
      1. Building
      2. Running in Development Mode
      3. Testing
      4. Git Workflow
    5. License