defined-mcp

defined-mcp

MCP server for managing Defined Networking infrastructure through API tools. It enables network administration including host management, firewall rules, tags, and network configuration with Claude Code integration for interactive network design and auditing.

Category
Visit Server

README

defined-mcp

MCP server for the Defined Networking API.

Installation

uv tool install git+https://github.com/quickvm/defined-mcp.git

To install a specific version or branch:

uv tool install git+https://github.com/quickvm/defined-mcp.git@main

For local development:

git clone git@github.com:quickvm/defined-mcp.git
cd defined-mcp
uv tool install --editable .

Configuration

Set the DEFINED_API_KEY environment variable to your Defined Networking API key. Get one from your admin panel.

export DEFINED_API_KEY=dnkey-...

Usage

Add to Claude Code

claude mcp add defined_mcp -- defined-mcp serve

Then restart Claude Code.

Verify connectivity

defined-mcp check

Run standalone

defined-mcp serve

Available Tools

Hosts

  • list_hosts — List hosts with filters (role, blocked, lighthouse, relay)
  • get_host — Get host details
  • create_host — Create a host/lighthouse/relay
  • update_host — Update a host (full replacement)
  • delete_host — Delete a host
  • block_host / unblock_host — Block/unblock a host
  • add_host_tag / remove_host_tag — Add/remove a tag on a host
  • create_enrollment_code — Generate enrollment code
  • create_host_and_enrollment_code — Create host + enrollment code

Roles & Firewall Rules

  • list_roles / get_role — List/get roles with firewall rules
  • create_role / update_role — Create/update roles (full replacement)
  • delete_role — Delete a role
  • add_firewall_rule — Add a firewall rule to a role (flat params, no JSON)
  • remove_firewall_rule — Remove a firewall rule by index

Tags

  • list_tags / get_tag — List/get tags
  • create_tag / update_tag — Create/update tags with config overrides
  • delete_tag — Delete a tag
  • add_tag_config_override — Add/replace a config override on a tag
  • remove_tag_config_override — Remove a config override by key

Networks

  • list_networks / get_network — List/get networks
  • create_network / update_network — Create/update networks

Routes

  • list_routes / get_route — List/get routes with firewall rules
  • create_route / update_route — Create/update routes (full replacement)
  • delete_route — Delete a route
  • add_route_firewall_rule — Add a firewall rule to a route
  • remove_route_firewall_rule — Remove a route firewall rule by index

Other

  • list_audit_logs — Audit log with filters
  • list_downloads — Software download links (unauthenticated)

Claude Code Skills

This repo includes a Claude Code skill for interactive network management. When you run Claude Code from this repo, the /network-architect command is available automatically.

To use the skill from any project, copy it to your Claude Code profile:

cp -r .claude/skills/network-architect ~/.claude/skills/

/network-architect audit

Performs a security and configuration audit of your Defined Networking account. Fetches all networks, roles, tags, and hosts, then reports:

  • Roles with missing or overly permissive firewall rules
  • Dead tags (zero hosts assigned)
  • Hosts with no tags, outdated dnclient versions, or stale last-seen times
  • Firewall coverage summary per role with port/protocol/tag details

/network-architect design

Interactive firewall policy design session. Asks about your services, access requirements, and segmentation needs, then proposes:

  • Role structure (what each host type IS)
  • Tag taxonomy (access tags like ssh:allow, identity tags like user-type:admin)
  • Firewall rules per role in table format with AND logic (role + tags)

/network-architect apply

Implements a network design using atomic tools (add_firewall_rule, add_host_tag, etc.). Reads current state first, shows a diff, asks for confirmation, then verifies after applying.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured