netbox-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a clearly distinct purpose: endpoint discovery, schema introspection, list/search, get by ID, and create/update/delete. The only potential overlap is list_objects vs get_object, but their descriptions make the collection-versus-single-object distinction unambiguous.
Naming Consistency5/5All tools follow a consistent netbox_verb_noun pattern (e.g., netbox_list_objects, netbox_create_object, netbox_get_schema). The naming convention is uniform and predictable across the entire set.
Tool Count5/5Seven tools is well-scoped for a generic NetBox CRUD interface. Each tool covers a distinct operation needed to interact with any NetBox endpoint without being redundant or overwhelming.
Completeness5/5The toolset provides full lifecycle coverage for NetBox objects: discovery, schema inspection, listing/searching, retrieving, creating, updating, and deleting. The endpoint-driven design means these operations apply broadly across NetBox's many object types, so there are no obvious dead ends.
Average 4.4/5 across 7 of 7 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 6 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose a meaningful caveat: 'Disabled when the server is running in read-only mode.' However, it does not mention authorization requirements, error behavior, or whether creation is idempotent, so significant behavioral gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the primary action and the read-only caveat. The Args block is structured and every line adds useful information without repetition or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter creation tool, the description covers endpoint format, data meaning, the read-only caveat, and the prerequisite schema lookup. With an output schema available, return values are covered elsewhere; only minor omissions like explicit permission or error-handling details keep this from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only lists 'endpoint' as a string and 'data' as an object, with 0% schema description coverage. The description compensates fully by explaining endpoint as an 'app.endpoint' string with a concrete example and describing data as field values, directing the agent to netbox_get_schema for required and valid fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'Create a new object at a NetBox endpoint.' It also gives the endpoint format ('app.endpoint', e.g. 'dcim.sites'), which distinguishes this creation tool from siblings like netbox_update_object and netbox_delete_object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly instructs the agent to call netbox_get_schema first to discover required and valid fields, establishing a prerequisite workflow. It does not explicitly contrast with update/delete/list alternatives, but the 'Create a new object' framing gives clear context for when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure. The verb "Get" clearly indicates a read-only operation, but no mention is made of not-found behavior, authentication requirements, or error cases. For a simple GET-style tool this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a compact Args block. No filler, the main action is front-loaded, and every line earns its place by explaining how to invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two parameters, an output schema to cover return values, and a straightforward read operation, the description is nearly complete. It lacks only minor details such as behavior for invalid IDs or unavailable endpoints, which are acceptable gaps for a simple getter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates by explaining both parameters: endpoint is an "app.endpoint" string with a concrete example ("dcim.devices"), and id is the object's numeric ID. This adds meaningful guidance beyond the schema's bare types and titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a precise verb and resource: "Get a single object from a NetBox endpoint by its numeric ID." This clearly differentiates from list_objects (single vs. multiple), and from create/update/delete operations, so an agent can select it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: use when you want one object by numeric ID. It does not explicitly name alternatives or say when not to use it, but the "single object" framing inherently distinguishes it from list_objects without needing exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively communicates the partial-update behavior ('Only the fields included in `data` are changed') and the important runtime constraint ('Disabled when the server is running in read-only mode'). The description does not contradict any annotations because none exist. It could add more about error handling or idempotency, but for a PATCH-style operation it covers the key behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the core purpose, and then logically lists the parameters in an Args block. Every sentence earns its place, and the structure makes the parameter meanings easy to scan. There is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a mutation operation with three required parameters, one of which is a dynamic object, and an output schema is present. The description covers the operation semantics, parameter meanings, and the read-only mode caveat. Return value details are not needed because an output schema exists. Minor gaps such as failure behavior are not covered, but the essential information for selecting and invoking the tool is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully compensate for the lack of parameter documentation. It does: endpoint is defined as an 'app.endpoint' string with the clear example 'dcim.devices', id is described as 'The object's numeric ID', and data is explained as 'Field values to change.' This provides meaningful guidance beyond the bare type information in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Partially update an existing object at a NetBox endpoint.' The verb 'partially update' distinguishes it from create and delete siblings, and 'existing object' signals it is not for creation. A sibling like netbox_create_object is clearly differentiated even without opening its schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when an object already exists and only some fields need changing, as stated by 'Only the fields included in `data` are changed.' However, it does not explicitly contrast with sibling tools like netbox_create_object or netbox_delete_object, nor does it state when not to use this tool. The usage context is present but left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the behavioral burden itself. It discloses that filters are applied server-side, documents the default limit of 50, and explains the special '0 for no limit' behavior. It could add more about auth or response shape, but the output schema exists and 'list/search' implies a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a tight Arg-style breakdown. Each parameter explanation earns its place, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list/search tool, the description covers the essential call details: endpoint selection, optional server-side filters, and result limiting. It also points to netbox_list_endpoints for valid values, and return-shape concerns are handled by the output schema. The definition is complete enough for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description compensates thoroughly for all three parameters. It explains the 'app.endpoint' format with an example, provides a concrete filter-object example, and gives the limit's default and zero-meaning. This is far more helpful than the bare schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair, 'List/search objects at a NetBox endpoint', and clarifies the endpoint format with an example ('ipam.prefixes'). This makes it easy to distinguish from siblings like netbox_get_object (single object retrieval) or netbox_list_endpoints (listing endpoints).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for how to use filters and limit ('Omit to list all objects'), but it never explicitly states when to choose this tool over alternatives such as netbox_get_object or netbox_create_object. The intended use is implied by the name and verb, but no direct when-to-use/when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It makes the non-mutating, discovery-oriented behavior clear by stating that the tool lists supported endpoint values and provides explanatory descriptions. It does not discuss rate limits, auth requirements, or response size, but for a read-only catalog tool this is not a major gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence that front-loads the core function, then adds the grouping detail and the critical usage instruction. Every phrase earns its place with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter discovery tool with an output schema, the description is complete: it explains what is returned, how it is organized, and why/when to invoke it. The presence of an output schema covers the return-value shape, and the sibling tool names give enough context for the agent to see where this tool fits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema is empty, so there are no parameter semantics to document. The description usefully reinforces that the tool takes no arguments and simply returns the endpoint catalog. Per the baseline for zero-parameter tools, this is appropriately handled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear, specific action ('List every supported NetBox app.endpoint value') and explains the output structure (grouped by app, with descriptions). This clearly distinguishes it from sibling tools like netbox_list_objects, which list object records rather than endpoint metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent to call this tool first and explains why: to discover valid endpoint strings for the other tools. It provides clear usage context but does not explicitly name alternative tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and meets it well. It discloses the most important destructive behavior: deletion is permanent, confirm=True is mandatory, and the operation is disabled when the server is read-only. This is strong transparency for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the critical warnings appear in the first two sentences, and the Args block is lean. Every sentence earns its place without filler or redundant restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and no annotations are provided, the description covers the essential behavior, parameters, and confirmation requirement needed to invoke the tool correctly. It could optionally reference list_endpoints for valid endpoint strings, but nothing necessary for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates by explaining all three parameters: endpoint as an 'app.endpoint' string with a concrete example, id as a numeric ID, and confirm as the explicit safety gate that must be true. It adds real meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific action and resource: 'Delete an object from a NetBox endpoint.' 'This is permanent' further pins the destructive semantics, and the verb 'delete' plus the endpoint concept distinguishes it from the list/create/update/schema sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear operational context—permanent deletion, confirm=True required, and read-only mode disabling—but it does not explicitly name alternatives or state when not to use this tool versus update_object or create_object. Routing to siblings is only implied by the tool's name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that the operation is an authenticated OPTIONS request, which implies read-only introspection and signals authentication requirements. While it does not explicitly state 'no side effects', the 'get field definitions' framing is clear enough for this tool type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The main purpose and usage guidance are front-loaded in the first sentence. The Args block is a bit redundant with the schema but still adds example and format details. No filler or misleading content—compact and purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter) and has an output schema, so return-value details are already covered. The description supplies everything else: what it returns, how it authenticates, when to use it, and how to obtain valid endpoint values. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains that endpoint is an 'app.endpoint' string, provides a concrete example ('dcim.devices'), and directs the agent to netbox_list_endpoints for valid values. This fully disambiguates the sole parameter beyond what the bare schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear verb and resource: 'Get field definitions for a NetBox endpoint', with a concrete list of returned content (names, types, required/read-only, choice values). It is unmistakably distinct from sibling tools like netbox_list_objects or netbox_create_object, and even cross-references netbox_list_endpoints for valid endpoint values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use this before creating or updating objects to see what fields are valid.' It also references netbox_list_endpoints for valid endpoint strings, giving the agent an actionable path to obtain valid inputs. This is strong usage guidance with no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/David41186/netbox-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server