Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Multi-Tool MCP Serversearch my Obsidian vault for notes about network security"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server
A custom Model Context Protocol (MCP) server that provides Claude Code and other MCP clients with secure access to filesystem, system information, Obsidian vault, SQLite database, and UniFi network controller tools.
Features
Filesystem Tools - Read, write, list, and search files within allowed paths
System Tools - Get system info, run whitelisted commands, view processes and disk usage
Obsidian Tools - List notes, read content, search text, and find backlinks in your vault
Database Tools - Query SQLite databases with read-only access
UniFi Tools - Query and manage UniFi Dream Machine networks, including Threat Management (CyberSecure)
Security
HTTPS with TLS certificates (Let's Encrypt supported)
Bearer token authentication for all MCP requests
Path restrictions for filesystem operations
Command whitelist for system operations
Read-only database access with query filtering
API key authentication for UniFi integration
Requirements
Node.js 18+ (for native fetch support)
npm or yarn
TLS certificates (self-signed for development, Let's Encrypt for production)
Optional: UniFi Dream Machine with API key
Installation
Clone the repository:
git clone https://github.com/Shawn-Falconbury/mcp-server.git cd mcp-serverInstall dependencies:
npm installConfigure environment:
cp .env.example .env # Edit .env with your settingsGenerate TLS certificates (for development):
mkdir -p certs openssl req -x509 -newkey rsa:4096 -keyout certs/server.key -out certs/server.crt -days 365 -nodes -subj "/CN=localhost"Build and run:
npm run build npm start
Configuration
Copy .env.example to .env and configure:
Variable | Required | Description |
| Yes | Authentication token for MCP clients |
| No | Server port (default: 8443) |
| No | Use HTTPS (default: true) |
| No | Path to SSL certificate |
| No | Path to SSL private key |
| No | Comma-separated paths for filesystem access |
| No | Path to Obsidian vault |
| No | Path to SQLite database |
| No | UniFi controller IP/hostname |
| No | UniFi API key |
| No | UniFi site name (default: "default") |
Usage
Development
Production
Systemd Service
Create /etc/systemd/system/mcp-server.service:
Then:
Connecting Claude Code
Add to your Claude Code MCP settings:
Available Tools
See docs/tools-reference.md for complete tool documentation.
Tool Categories
Category | Tools | Description |
Filesystem | 4 | File read/write/list/search |
System | 4 | System info and commands |
Obsidian | 4 | Vault notes and search |
Database | 3 | SQLite queries |
UniFi | 17 | Network management and security |
Project Structure
API Endpoints
Endpoint | Method | Auth | Description |
| GET | No | Health check |
| POST | Yes | MCP protocol endpoint |
License
ISC
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.