nifdi-diagram

nifdi-diagram

An MCP server that generates and manages nifdi diagrams as SVG files, bundled with skills that teach models in depth, placement grammar, and build workflow through natural language.

Category
Visit Server

README

nifdi plugin

The nifdi diagram plugin: the @nifdi/mcp diagram server bundled with the skills that teach it — the model in depth, the placement grammar, worked recipes, and the build loop that keeps what you build looking like what you meant.

The server is the verb surface. The skills are the craft. They install as one thing.

Install

claude plugin marketplace add nifdi-app/nifdi-plugin
claude plugin install nifdi@nifdi-plugin

That registers this repo as a marketplace and installs the plugin: the nifdi-diagram MCP server (launched with npx -y @nifdi/mcp@<pinned>) plus the skills, loaded progressively by your client as a task calls for them.

Under Claude Code no directory configuration is needed — it injects the project root, and diagrams land as .nifdi.svg files in the repo you are working in. On a client that does not, set NIFDI_ROOT to the folder you want them in.

The server alone, without the teaching layer, remains installable exactly as before:

claude mcp add nifdi-diagram -s project -- npx -y @nifdi/mcp@latest

What is in here

.claude-plugin/plugin.json       the plugin: pins the server version, ships the skills
.claude-plugin/marketplace.json  the single-plugin marketplace
skills/nifdi/                    the core skill: the model, placement, styling, connectors, workflow
test/                            contract CI — every fenced example, through the pinned server

The core skill's SKILL.md is an index at the same altitude as the server's own instructions; the depth lives in skills/nifdi/references/, which a client loads only when the path it took needs it.

The bare server still stands alone

Skills are optional context — a raw MCP client never sees them. So nothing an agent needs for correct tool use lives only in a skill. What lives here is the unbounded layer: model deep-dives, recipes, style judgement, provider conventions. The contract — what each tool does, accepts and rejects — stays in the server, delivered to every client.

The corollary matters more: a behaviour defect is fixed in the server, never papered over in a skill. A skill that teaches agents to route around a broken tool hides the defect from every bare-MCP client. See CONTRIBUTING.md.

Skills are contracts too

Every fenced example in every skill is executed by CI through the published @nifdi/mcp — the same round-trip discipline the server applies to its own quoted examples, applied from the outside. A recipe whose XML no longer parses, or whose claimed outcome no longer matches what the tool reports, fails the build.

The skills pin the server version they were tested against and the manifest pins both together, so an install is a coherent pair. A scheduled run tests the skills against @nifdi/mcp@latest as well, so a server release that invalidates a recipe is detected here rather than discovered by an agent mid-diagram.

npm install && npm test

To run the contract against a server build that is not on npm — a local checkout, a tarball, a release candidate — point NIFDI_MCP_SPEC at it:

NIFDI_MCP_SPEC=../nifdi-app/mcp npm run test:examples

Status. @nifdi/mcp@0.1.1 — the version this repo pins — is not yet published to npm. Until it is, the install commands above and the pinned CI job cannot resolve the server, and the contract runs only via NIFDI_MCP_SPEC.

Contributing

Provider conventions — what a good AWS, Azure or GCP diagram looks like, and which nifdi vocabulary produces it — are the flagship contribution surface: valuable, bounded, and needing no access to nifdi internals. CONTRIBUTING.md has the bar and how to run the checks locally.

Licence

Apache-2.0. The nifdi application itself is closed; this teaching layer is open.

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