Skip to main content
Glama
README.md
# basiclocalmcpservertools

A small local [MCP](https://modelcontextprotocol.io) server (stdio transport) that
exposes a handful of basic Windows utilities to an MCP client such as Claude Code.

> Windows only. The tools shell out to `explorer.exe`, `notepad.exe` and `powershell.exe`.

## Tools

| Tool | Description |
|------|-------------|
| `open_explorer` | Opens Windows File Explorer at a path (a file is shown selected in its folder). |
| `open_notepad` | Writes text (from `message` and/or a `sourceFile`) to a file and opens it in Notepad. |
| `get_system_info` | Hardware inventory (OS, CPU, RAM, GPU, motherboard, BIOS, disks) via WMI/CIM. |
| `list_processes` | Running processes with PID, CPU seconds, working-set memory and thread count. |
| `list_connections` | Active network connections mapped to their owning process, with geolocation for public remote IPs. |
| `help` | Returns this catalog at runtime. |

## Install

```bash
git clone <this-repo>
cd basiclocalmcpservertools
npm install
```

## Use with Claude Code

The included [`.mcp.json`](./.mcp.json) registers the server with a **relative** path
(`./index.js`), so it works when Claude Code is started from the project directory.

To add it from anywhere else, register it with an absolute path to `index.js`:

```bash
claude mcp add basiclocalmcpservertools -- node "C:\\path\\to\\basiclocalmcpservertools\\index.js"
```

Any other MCP client works the same way: run `node index.js` as a stdio server.

## Privacy note

`list_connections` sends the **public** remote IP addresses of your active
connections to the free third-party service `http://ip-api.com` (plain HTTP) to
resolve country/region/city/ISP. Private and loopback addresses are never sent.
If you don't want that lookup, don't call `list_connections`.

## License

No license yet.