niwashi-mcp
MCP server for Cisco ACI (APIC). It reads the fabric's own object model rather than a fixed list of endpoints, so an LLM agent can navigate all 15,452 ACI classes through five generic tools — with no hardcoded class knowledge.
uvx niwashi-mcp
No repository to clone, no schema bundle to download. The object model ships
inside the niwaki dependency as an
embedded catalogue.
Configure
Three variables, in a .env file or the environment:
APIC_HOST=10.0.0.1
APIC_USER=admin
APIC_PASSWORD=…
Optional: APIC_VERIFY_SSL (default false), MCP_PORT (default 8000),
MCP_API_KEYS (comma-separated bearer tokens — unset means no
authentication, and the server says so loudly at startup),
NIWASHI_MCP_ENV_FILE (explicit path to the .env).
The five tools
| Tool | Purpose |
|---|---|
search_classes |
find the exact ACI class name from a keyword |
get_schema |
identifiers, containment, relations, properties of a class |
query |
filtered class query against the APIC |
get_by_dn |
fetch one object directly by DN |
count |
count objects without transferring them |
The intended order is search_classes → get_schema → query. Skipping the
first two returns empty results silently, because the APIC answers 200 OK with
an empty list for an unknown class or attribute — it does not error.
Documentation
Full documentation, architecture notes and deployment guides: https://github.com/k3l0-dev/niwashi-mcp
The repository also carries mcp/client/SKILL.md — the operating guide to give
an LLM client alongside the server. It teaches the ACI object model, the
mandatory tool order, and how to read a relation without concluding wrongly.
Requirements
Python ≥ 3.12. A reachable APIC and a read-only service account.
Licence
PolyForm Noncommercial 1.0.0 — free for personal, research and noncommercial use. Commercial deployment or integration requires a commercial licence: monark.aiops@pm.me.
Cisco, Cisco ACI and APIC are trademarks of Cisco Systems, Inc. niwashi-mcp is an independent project, not affiliated with or endorsed by Cisco Systems, Inc.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file niwashi_mcp-2.1.1.tar.gz.
File metadata
- Download URL: niwashi_mcp-2.1.1.tar.gz
- Upload date:
- Size: 472.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18de94d7972bc8d5c633a03850b584d98e74d10eb95f70a5083500ce4808f19e
|
|
| MD5 |
5f711b7bdadcb4333770f7ad8b922665
|
|
| BLAKE2b-256 |
0c001ee1c12919359a3a872c86ab2d0d3d42a2bfe586d5a61ec5927978d2a457
|
Provenance
The following attestation bundles were made for niwashi_mcp-2.1.1.tar.gz:
Publisher:
release.yml on k3l0-dev/niwashi-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
niwashi_mcp-2.1.1.tar.gz -
Subject digest:
18de94d7972bc8d5c633a03850b584d98e74d10eb95f70a5083500ce4808f19e - Sigstore transparency entry: 2394664533
- Sigstore integration time:
-
Permalink:
k3l0-dev/niwashi-mcp@f2d185a3207cfce5032aa4aaf4fe18e6ba4c43b6 -
Branch / Tag:
refs/tags/v2.1.1 - Owner: https://github.com/k3l0-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f2d185a3207cfce5032aa4aaf4fe18e6ba4c43b6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file niwashi_mcp-2.1.1-py3-none-any.whl.
File metadata
- Download URL: niwashi_mcp-2.1.1-py3-none-any.whl
- Upload date:
- Size: 60.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2665092bed2982ef02dce0dd2ece522a3a87bc2d78a105312c85bb07a064ac5
|
|
| MD5 |
f19caa0a937d1b42a097b835eef7e953
|
|
| BLAKE2b-256 |
decd29147485163ad95b9a723fcb2cc96fa56432ea14945c5a321dee025e97c0
|
Provenance
The following attestation bundles were made for niwashi_mcp-2.1.1-py3-none-any.whl:
Publisher:
release.yml on k3l0-dev/niwashi-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
niwashi_mcp-2.1.1-py3-none-any.whl -
Subject digest:
f2665092bed2982ef02dce0dd2ece522a3a87bc2d78a105312c85bb07a064ac5 - Sigstore transparency entry: 2394664596
- Sigstore integration time:
-
Permalink:
k3l0-dev/niwashi-mcp@f2d185a3207cfce5032aa4aaf4fe18e6ba4c43b6 -
Branch / Tag:
refs/tags/v2.1.1 - Owner: https://github.com/k3l0-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f2d185a3207cfce5032aa4aaf4fe18e6ba4c43b6 -
Trigger Event:
push
-
Statement type: