nd-quirks
An MCP Server that leverages notes written in Markdown, tailored for developing Cisco Nexus Dashboard applications using the REST API.
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_PATHshould point to your ND vault (e.g.$HOME/Obsidian/ND)ProgramArgumentsshould calluv server.pyvia their full paths e.g./Users/arobel/repos/mcp/nd-quirks/.venv/bin/uv- run
/Users/arobel/repos/mcp/nd-quirks/server.py
WorkingDirectoryshould 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
mcpServersblock - Add the following (where
mm1eis 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.