nd-quirks
Provides tools for querying notes about Cisco Nexus Dashboard API endpoints, including endpoint quirks, version-specific behaviors, and workarounds.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@nd-quirksfind quirks for version 5.2(1)"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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/uvrun
/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.plist4. (Re)start the LaunchAgent
launchctl bootout gui/$(id -u)/com.nd-quirks
launchctl bootstrap gui/$(id -u) $HOME/Library/LaunchAgents/com.nd-quirks-mcp.plist5. Edit Claude Code's config on the client Mac to point to this MCP server
edit $HOME/.claude.json
Search for the
mcpServersblockAdd 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 --> ZThis server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/allenrobel/nd-quirks'
If you have feedback or need assistance with the MCP directory API, please join our Discord server