A Model Context Protocol (MCP) server that provides access to Unix manual pages directly within Claude. Query man pages, search documentation, and explore Unix commands without leaving your conversation.
- Read Manual Pages: Get the full text of any Unix man page
- Search Documentation: Find commands by keyword using
apropos - Browse Sections: Explore the standard Unix manual page sections
- macOS Native: Built with Swift for optimal performance on macOS
| Tool | Description | Parameters |
|---|---|---|
read_manpage |
Read a Unix manual page | command (required), section (optional) |
search_manpages |
Search man pages by keyword | query (required) |
list_man_sections |
List standard manual sections | None |
Claude, can you read the man page for grep?
Claude, search for commands related to "network"
Claude, show me the list of manual sections
- macOS 13.0 or later
- Swift 6.2 or later
- Xcode (for building)
Clone the repository and build a release version:
git clone <repository-url>
cd MCPUnixManual
swift build -c releaseThe executable will be located at .build/release/mcp-unix-manual.
Open the Claude Desktop configuration file:
open ~/Library/Application\ Support/Claude/claude_desktop_config.jsonIf the file doesn't exist, create it:
mkdir -p ~/Library/Application\ Support/Claude
touch ~/Library/Application\ Support/Claude/claude_desktop_config.jsonAdd the following configuration to claude_desktop_config.json:
{
"mcpServers": {
"unix-manual": {
"command": "/absolute/path/to/MCPUnixManual/.build/release/mcp-unix-manual"
}
}
}Important: Replace /absolute/path/to/MCPUnixManual with the actual absolute path to your cloned repository.
To find the absolute path, run this in your project directory:
pwdThen use that path in your configuration. For example:
{
"mcpServers": {
"unix-manual": {
"command": "/Users/yourname/Projects/MCPUnixManual/.build/release/mcp-unix-manual"
}
}
}Completely quit and restart Claude Desktop for the changes to take effect.
Open Claude Desktop and look for the MCP icon (🔌) in the bottom right corner. Click it to see available MCP servers - you should see "unix-manual" listed.
You can now ask Claude to use the Unix manual tools:
- "Read the man page for
ls" - "Search for commands related to processes"
- "What are the Unix manual sections?"
MCP server not appearing:
- Verify the path in
claude_desktop_config.jsonis absolute and correct - Check that the executable has execute permissions:
chmod +x .build/release/mcp-unix-manual - Ensure you've restarted Claude Desktop completely
Permission errors:
- Make sure the executable is built and accessible
- Try running the executable directly to check for errors:
.build/release/mcp-unix-manual
JSON syntax errors:
- Validate your
claude_desktop_config.jsonsyntax - Ensure there are no trailing commas in the JSON
For Claude Code (CLI), add the following to your MCP settings file:
{
"mcpServers": {
"unix-manual": {
"command": "/absolute/path/to/MCPUnixManual/.build/release/mcp-unix-manual"
}
}
}swift run mcp-unix-manualswift testMCPUnixManual/
├── Package.swift # Swift package manifest
├── Sources/
│ └── MCPUnixManual/
│ └── MCP.swift # Main server implementation
└── README.md
This MCP server executes shell commands (man, apropos) to retrieve Unix manual pages. Input validation is performed to prevent command injection:
- Only alphanumeric characters, dots, hyphens, and underscores are allowed in command names
- Arguments are properly escaped before execution
- Commands run with the same permissions as Claude Desktop
- macOS: Full support (uses
Foundation.Process) - iOS/tvOS/watchOS/visionOS: Compiles but returns error messages (Process unavailable)
This is intentional - Unix manual pages are only available on macOS.
[Add your license here]
Contributions are welcome! Please feel free to submit issues or pull requests.
Built with the MCP Swift SDK by Anthropic.