Skip to content

MCP server

Notory ships an MCP server (Model Context Protocol). It lets any AI assistant that supports MCP talk to your Notory instance: the assistant can read your inventory and - with the right token - maintain it, by calling the Notory REST API under the hood. The server is client-neutral; it does not matter which MCP-capable app you use.

The server exposes these tools:

ToolPurpose
notory_list_endpointsList the available API endpoints from the live OpenAPI spec (optionally filtered).
notory_getRead any endpoint (GET only).
notory_requestCall any endpoint with any method (writes need a write scope).
notory_list_assetsList assets with filters and pagination.
notory_get_assetFetch a single asset by id.

Because notory_list_endpoints and notory_request together cover the whole API (200+ endpoints), the assistant can work with assets, network, software, licenses, certificates, compliance and more - not just the convenience tools.

  • Node.js 18+ on the machine that runs the assistant.
  • A Notory API token. Create one in the web UI under Settings → API tokens (see API tokens). It is shown once, in clear text, and starts with inv_. Use the read scope to keep the assistant read-only, or write to allow changes.

1. Get and build the server:

Terminal window
# from the Notory MCP repository
npm install
npm run build

2. Register the server with your MCP client. Almost every MCP-capable client reads a JSON config with an mcpServers section. Add the server there (adjust the path, base URL and token):

{
"mcpServers": {
"notory": {
"command": "node",
"args": ["/absolute/path/to/notory_mcp/dist/index.js"],
"env": {
"NOTORY_BASE_URL": "https://demo.notory.io",
"NOTORY_API_TOKEN": "inv_your_token_here"
}
}
}
}

Where exactly this config lives depends on the client (usually a JSON file in its settings). The launch command is always the same: node .../dist/index.js with the two environment variables.

3. Restart the client. You can then ask things like “list the assets in maintenance” or “show asset SN-001”.

VariableRequiredDescription
NOTORY_BASE_URLyesInstance base URL, e.g. https://demo.notory.io (no trailing /api).
NOTORY_API_TOKENyesNotory API token (inv_...). The scope decides read-only vs read/write.
  • Prefer a read token unless the assistant genuinely needs to write.
  • The server is a thin, stateless proxy over HTTPS - nothing is stored.
  • The machine-readable spec is at OpenAPI spec (JSON); the searchable reference is at API reference.