About Systems MCP
Systems MCP is an MCP server published by 4nkitd in the Developer Tools category: mCP server that provides system interaction tools for AI assistants. It has been installed 0 times through Conduid.
The repository has 1 stars and 0 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.
Install
npx systems-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Systems MCP
Powered by Claude · Grounded in docs
Security checks
- ·README presentNot checked yet.
- ·License declaredNot checked yet.
- ·Tests presentNot checked yet.
- ·Dependencies pinnedNot checked yet.
- ·No dynamic code executionNot checked yet.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
Systems MCP Server
A Model Context Protocol (MCP) server that provides system interaction tools for AI assistants. This server enables AI models to interact with your local system through a comprehensive set of tools including volume control, text-to-speech, file system operations, weather information, and more.
Features
🔊 Audio & Volume Control
- Volume Up/Down: Adjust system volume by 10 units
- Mute/Unmute: Control system audio muting
- Text-to-Speech: Convert text to speech using system TTS
💾 Memory & Data Management
- Save Information: Persist information under a key/value pair.
- Get Saved Info: Retrieve information by key. The memory file path is configurable and defaults to
~/.mcp/memory.json.
⏰ Reminders & Alarms
- Set Alarm: Schedule alarms with custom messages
- Support for 24-hour time format (HH:MM)
📁 File System Operations
- Current Directory: Get current working directory
- List Directory: Browse directory contents
- Read Files: Read file contents from the system
🌤️ Internet & Location Services
- Weather Information: Get weather data for any location
- Current Location: Retrieve current geographical location
- Fetch URL Content: Fetch the markdown content of a URL using a configurable API.
Installation
Releases
Download the latest prebuilt binaries for your platform from the GitHub Releases page:
- Linux / macOS (tar.gz): https://github.com/4nkitd/systems-mcp/releases/latest/download/systems_mcp.tar.gz
- Windows (zip): https://github.com/4nkitd/systems-mcp/releases/latest/download/systems_mcp.zip
After downloading, extract and run:
tar -xzf systems_mcp.tar.gz
./systems_mcp serve
For Windows:
Expand-Archive systems_mcp.zip
.\systems_mcp.exe serve
Prerequisites
- Go 1.23.4 or later
- macOS (primary support)
Build from Source
git clone https://github.com/4nkitd/systems-mcp.git
cd systems-mcp/mcp-server
go mod download
go build -o 4nkitd-mcp ./main.go
Usage
Command Line Options
./4nkitd-mcp serve [flags]
Available Flags:
--transport: Transport type (stdioorsse) - Default:stdio--log_dir: Log directory path - Default: current directory--host: Host to bind server (SSE only) - Default:localhost--port: Port to bind server (SSE only) - Default:8080--memory_path: Path to memory file - Default:~/.mcp/memory.json--fetch_url_api: API URL for fetching URL content - Default:https://md.dhr.wtf/
Transport Modes
STDIO Mode (Default)
Best for direct integration with AI assistants like Claude Desktop:
./4nkitd-mcp serve --transport stdio
SSE Mode
For web-based integrations:
./4nkitd-mcp serve --transport sse --host localhost --port 8080
Local Release (Dry Run)
To build and package the project locally without creating or publishing a GitHub release, run:
goreleaser release --snapshot --rm-dist --skip-publish
This will generate the versioned archives under the dist/ directory.
Configuration
Claude Desktop Integration
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"4nkitd-mcp": {
"command": "/path/to/4nkitd-mcp",
"args": ["serve", "--transport", "stdio"],
"env": {}
}
}
}
Environment Variables
The server can be configured using the following environment variables:
LOG_DIR: Override default log directoryTRANSPORT: Set transport modeHOST: Set server host (SSE mode)PORT: Set server port (SSE mode)
Available Tools
| Tool Name | Description | Parameters |
|---|---|---|
volumeUp |
Increase system volume by 10 | None |
volumeDown |
Decrease system volume by 10 | None |
volumeMute |
Mute system volume | None |
volumeUnmute |
Unmute system volume | None |
speak |
Text-to-speech conversion | message (string) |
saveInfo |
Save information to memory | key (string), value (string) |
getSavedInfo |
Get saved information. If no key is provided, all information is returned. | key (string, optional) |
setAlarm |
Set an alarm reminder | time (HH:MM), message (optional) |
getCurrentWorkingDirectory |
Get current directory | None |
listDirectory |
List directory contents | path (optional) |
readFile |
Read file contents | path (required) |
getWeather |
Get weather information | location (optional) |
getCurrentLocation |
Get current location | None |
fetchURL |
Fetch the markdown content of a URL | url (required) |
Development
Project Structure
mcp-server/
├── main.go # Application entry point
├── cmd/ # CLI commands and configuration
│ ├── cli.go # Root command setup
│ ├── serve.go # Server command implementation
│ ├── config.go # Configuration management
│ └── constants.go # Application constants
├── internal/
│ ├── mcp/ # MCP server implementation
│ │ ├── mcp.go # Server initialization
│ │ ├── server.go # Hook registration
│ │ └── tools.go # Tool registration
│ ├── toolsets/ # Tool implementations
│ │ ├── volume_tools.go # Audio/volume tools
│ │ ├── memory_tools.go # Memory management
│ │ ├── reminder_tools.go # Alarm/reminder tools
│ │ ├── filesystem_tools.go # File system operations
│ │ └── internet_tools.go # Weather/location tools
│ └── log/ # Logging utilities
Adding New Tools
- Implement the tool function in the appropriate toolset file
- Register the tool in
internal/mcp/tools.go - Follow the MCP tool specification for parameter definitions
Example:
// In toolsets/example_tools.go
func ExampleTool(ctx context.Context, arguments mcp.CallToolRequestArguments) (*mcp.CallToolResult, error) {
// Tool implementation
}
// In internal/mcp/tools.go
p.Mcp.AddTool(mcp.NewTool("exampleTool",
mcp.WithDescription("Description of the tool"),
mcp.WithString("param", mcp.Description("Parameter description")),
),
toolsets.ExampleTool,
)
Logging
The server provides comprehensive logging with different levels:
- DEBUG: Detailed execution information
- INFO: General operational messages
- ERROR: Error conditions
Logs are written to the specified log directory or current directory if not specified.
Security Considerations
- File system tools operate within the permissions of the running user
- Network tools may require internet connectivity
- Consider running with restricted permissions in production environments
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For issues and questions:
- Open an issue on GitHub
- Check the MCP specification for protocol details
Changelog
v0.1.0
- Initial release
- Basic tool set implementation
- STDIO and SSE transport support
- Comprehensive logging system
README mirrored from the source repository yesterday. The original is authoritative.