nd-quirks

nd-quirks

An MCP Server that leverages notes written in Markdown, tailored for developing Cisco Nexus Dashboard applications using the REST API.

Category
Visit Server

README

nd-quicks MCP Server

Summary

An MCP Server that leverages notes written in Markdown. The server is tailored for those developing Cisco Nexus Dashboard applications which use the REST API, but could easily be leveraged for other uses.

My use case is providing Claude Code with a resource through which it can determine the suitability of Nexus Dashboard endpoints for a given task, and whether an endpoint exhibits any behavioral quirks and, if so, what version(s) exhibit the behavior and what version (if any) fixes the behavior. Notes might also contain workaround(s).

The actual notes are not included in this repository.

Setup

1. Install Obsidian and login

2. Setup sync with the ND Vault (vault should be in $HOME/Obsidian/ND)

3. Edit com.nd-quirks-mcp.plist such that the paths match your environment

  • OBSIDIAN_VAULT_PATH should point to your ND vault (e.g. $HOME/Obsidian/ND)
  • ProgramArguments should call uv server.py via their full paths e.g.
    • /Users/arobel/repos/mcp/nd-quirks/.venv/bin/uv
    • run
    • /Users/arobel/repos/mcp/nd-quirks/server.py
  • WorkingDirectory should point to this repository on your host
    • /Users/arobel/repos/mcp/nd-quirks
cd $HOME/repos/mcp/nd-quirks
vi com.nd-quirks-mcp.plist
cp com.nd-quirks-mcp.plist $HOME/Library/LaunchAgents
chmod 644 $HOME/Library/LaunchAgents/com.nd-quirks-mcp.plist

4. (Re)start the LaunchAgent

launchctl bootout gui/$(id -u)/com.nd-quirks
launchctl bootstrap gui/$(id -u) $HOME/Library/LaunchAgents/com.nd-quirks-mcp.plist

5. Edit Claude Code's config on the client Mac to point to this MCP server

  • edit $HOME/.claude.json
  • Search for the mcpServers block
  • Add the following (where mm1e is the hostname or IP address of the Mac that's hosting the MCP server)
  "mcpServers": {
    "nd-quirks": {
      "type": "http",
      "url": "http://mm1e:8001/mcp"
    }
  }

5. Restart Claude Code and check the MCP server status using the /mcp slash command

MCP Server Logic Diagram

flowchart TD
    A("Module import and setup") --> B["Read environment, constants, and create FastMCP"]
    B --> C{"Running as main script?"}
    C -->|Yes| D["Start MCP HTTP server"]
    D --> E["Await MCP tool calls"]
    C -->|No| E

    E --> F{"Which tool is called?"}
    F -->|list_quirks or search_quirks| I[["_all_notes()"]]
    F -->|find_quirks_for_endpoint or find_quirks_for_version| G{"Version parses?"}
    F -->|get_quirk| J{"Target file exists and is relevant?"}

    G -->|No| ERR["Raise ValueError or FileNotFoundError"]
    G -->|Yes| I
    J -->|No| ERR
    J -->|Yes| L[["_load_note(path)"]]

    I --> M{"Vault directory exists?"}
    M -->|No| ERR
    M -->|Yes| R[("Vault files and note cache")]
    R --> N{"More markdown files?"}
    N -->|Yes| O{"Relevant markdown file?"}
    N -->|No| W["Drop stale cache entries and return note set"]

    O -->|No| N
    O -->|Yes| L

    L --> P{"Cached note has same mtime?"}
    P -->|Yes| Q["Reuse cached Note"]
    P -->|No| S["Parse frontmatter and build Note"]

    Q --> T{"Called from get_quirk?"}
    S --> T
    T -->|Yes| Z["Return full metadata and content"]
    T -->|No| N

    W --> X["Apply tool-specific sorting, scoring, snippets, and filters"]
    X --> Z

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
Qdrant Server

Qdrant Server

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

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