MCP (Model Context Protocol) servers extend Claude with tools that access external services, files, databases, and APIs. As of 2026-05-03, there are 22 local MCP servers registered in claude_desktop_config.json.
Built specifically for Ed’s infrastructure. Source at ~/.mcp-servers/ (each in its own directory with a .venv).
| Server | Path | Tools | Purpose |
|---|---|---|---|
| Farm Data | ~/.mcp-servers/farm-data/ |
19 tools โ species CRUD, plantings, harvests, observations, collections, locations, suppliers, SQL | PostgreSQL farm database (772 species, plantings, harvests). Bridges Tana knowledge to structured queries |
| Homelab Snapshot | ~/.mcp-servers/homelab-snapshot/ |
docker_containers, disk_usage_ct100, zfs_pools, proxmox_cts, caddy_hostnames, mac_studio_launchd | Cached snapshots of CT100 Docker, ZFS, Proxmox state. Fast reads without SSH round-trips |
| Structured Exec | ~/.mcp-servers/structured-bash/ |
exec, ssh_exec, pct_exec | Shell execution with argv arrays (no shell parsing). Replaces Desktop Commander for reliable SSH/pct chains |
| Docs Search | ~/.mcp-servers/docs-search/ |
search Hugo/Caddy/Anthropic docs | Site-scoped search via Brave API, fetches and extracts full page content |
| Wallabag | ~/.mcp-servers/wallabag/ |
search, save, get, archive, tag articles, list tags | Read-later integration with wallabag.edmd.me (OAuth2, user: delgross) |
| iNaturalist | ~/.mcp-servers/inaturalist/ |
taxon lookup, observations by taxon/coords, pollinator species, county species | Native plant + pollinator queries near Brownsville (39.947ยฐN, 82.256ยฐW) |
| USDA PLANTS | ~/.mcp-servers/usda-plants/ |
search, lookup by symbol/name, native status, plants by state+category | Verified taxonomic + native-status data for species validation |
| NWS Weather | ~/.mcp-servers/nws-weather/ |
forecast, hourly, current conditions, alerts | NOAA 7-day forecast at Brownsville coords, pairs with seasonal-calendar |
Installed from npm, uvx, or GitHub. Configured in claude_desktop_config.json.
| Server | Install | Purpose |
|---|---|---|
| Tana Local | npx mcp-remote http://127.0.0.1:8262/mcp |
Search, read, create Tana nodes. Requires Tana desktop running. Main workspace: rav2D0ijeq |
| Life Archive | Custom (~/Sync/ED/life_archive/mcp_server.py) |
RAG over personal document archive. LanceDB + SQLite knowledge graph |
| Obsidian | uvx mcp-obsidian |
Read/write/search Obsidian vault, periodic notes |
| Sequential Thinking | npx @modelcontextprotocol/server-sequential-thinking |
Structured multi-step reasoning |
| Memory | npx @modelcontextprotocol/server-memory |
Persistent knowledge graph across sessions |
| Exa | npx mcp-remote https://mcp.exa.ai/mcp |
Web search and content extraction |
| Brave Search | npx @modelcontextprotocol/server-brave-search |
Web search via Brave API (shared key with docs-search) |
| Kagi | uvx kagimcp |
Kagi search and page summarization |
| Tavily | npx tavily-mcp |
Web search and research |
| Firecrawl | npx firecrawl-mcp |
Web scraping, crawling, structured extraction |
| Navidrome | npx navidrome-mcp |
Music library queries (Subsonic API) โ search, playlists, listening history, ratings |
| TIDAL | uv run --with requests at ~/.mcp-servers/tidal-mcp/ |
TIDAL streaming โ discovery, recommendations, playlist management. OAuth flow |
| YouTube Transcript | npx @kimtaeyoon83/mcp-server-youtube-transcript |
Fetch video transcripts for research |
| Voicemode | uvx voice-mode |
Voice conversation |
These are available in Cowork mode (Claude Desktop app) without claude_desktop_config.json entries:
| Tool | Purpose |
|---|---|
| Desktop Commander | Terminal, file ops, process management on Mac Studio |
| Filesystem | Read/write/list/search files on Mac |
| Control your Mac | AppleScript/osascript execution |
| Read and Send iMessages | iMessage integration |
| PDF Tools | PDF viewing, filling, merging, splitting |
| Drafts | Drafts app integration |
| Computer Use | Screenshot, mouse, keyboard control of desktop apps |
| Claude in Chrome | Browser automation via Chrome extension |
Connected in Claude.ai Settings โ Integrations:
| App | Purpose |
|---|---|
| Google Drive | File search and access |
| Gmail | Search threads, create drafts, manage labels |
| Google Calendar | List, create, update, delete events |
| GitHub | Issues, PRs, branches, file push (delgross repos) |
| Sentry | Error monitoring and issue tracking |
| Mermaid Chart | Diagram rendering |
| Hugging Face | Model, dataset, paper search |
| S&P Global | Financial data |
| BioRender | Scientific illustration |
| Server | Status | Purpose |
|---|---|---|
| Home Assistant | Planned โ eval community impls | Query entity states (irrigation, sensors, weather, hives), trigger automations on farm HA |
| Weather Station | Pending station selection | Soil temp, rainfall, humidity, gust history. Davis / Tempest / Ambient Weather candidates |
| OPNsense | Backlog | vespo92/OPNSenseMCP โ direct API access to firewall, VLAN, gateway groups |
Claude Desktop Config
Location: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"tana-local": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://127.0.0.1:8262/mcp"]
}
}
}
Adding a New MCP Server
- Find or build the server (check MCP Server Registry)
- Add to
claude_desktop_config.json - Restart Claude Desktop
- Verify tools appear in the sidebar
Building Custom MCP Servers
Use the mcp-builder skill in Claude Code:
claude
# Then ask: "Build an MCP server that queries my PostgreSQL farm database"
The skill walks through: research โ planning โ implementation โ testing โ deployment.