Local Utilities

by arjshiv

2 stars
165 downloads
Not rated
GitHub

About

Provides access to system utilities for retrieving local information including time, hostname, IP address, directory listings, Node.js version, and port process checks

Details

Author
arjshiv
Repository
arjshiv/localutils-mcp-server
GitHub stars
2
Downloads
165
License
MIT License
Categories
AI, Design, Developer Tools, File Management, Knowledge Base, Frontend, Infrastructure, Other

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

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Local Utilities
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 github:arjshiv/localutils-mcp-server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

pnpm add -g localutils-mcp-server
pnpm run dev

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, and 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.

think

Records a new thought with timestamp. Parameters: thought (string, required): The thought content to record.

get_thoughts

Retrieves all recorded thoughts.

clear_thoughts

Clears all recorded thoughts.

get_thought_stats

Returns statistics about recorded thoughts.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "local utilities": {
            "env": {},
            "args": [
                "github:arjshiv/localutils-mcp-server"
            ],
            "shell": false,
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "github:arjshiv/localutils-mcp-server"
    ],
    "shell": false,
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "github:arjshiv/localutils-mcp-server"
    ],
    "shell": false,
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "github:arjshiv/localutils-mcp-server"
    ],
    "shell": true,
    "command": "cmd"
}

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:

   {
"mcpServers": {
"localutils": {
"command": "npx",
"args": ["github:arjshiv/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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.