AutoCAD MCP Server
Server Quality Checklist
Latest release: v3.0.0
- Disambiguation4/5
The eight tools cover distinct domains (layers, drawing, entities, blocks, annotations, PID, view, system) with clear purposes. However, entity.create_mtext and annotation.create_text both handle text creation, which could cause confusion about which tool to use for text.
Naming Consistency5/5All tool names follow a consistent single-noun pattern (layer, drawing, entity, block, etc.), and within each tool, operations consistently use verb_noun style (create_line, set_current, etc.). The naming convention is uniform and predictable.
Tool Count5/5With 8 tools, each representing a major functional area of AutoCAD, the count is well-scoped and avoids unnecessary granularity. The breadth covered (drawing management, entity creation, annotation, P&ID, system) is substantial but each tool earns its place.
Completeness4/5The tool set covers most core workflows: drawing lifecycle, entity CRUD, block management, annotations, and system maintenance. Minor gaps exist such as no layer deletion/renaming and no modification operations for annotations, but these are not critical for typical automation tasks.
Average 3.8/5 across 8 of 8 tools scored. Lowest: 3.2/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit 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
This repository is licensed under MIT License.
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?
The description goes beyond the readOnlyHint:false annotation by exposing the specific operations and their data shapes, implying mutating behavior. However, it does not disclose side effects, required permissions, or what happens on success/failure, leaving behavioral transparency only partially covered.
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 description is concise, front-loads the purpose, and organizes operations as a scannable list. It is not overly verbose, though the list structure could be improved with a short introductory verb phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has six distinct operations and an output schema, the description covers the operation specifics but lacks broader context: no use-case examples, no prerequisites, and no explanation of when each dimension type is appropriate. The output schema, if present, may cover return values, but the description remains incomplete for a tool with this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description compensates well by detailing the data fields for each operation and implicitly enumerating valid operation values. Missing is any explanation of the include_screenshot parameter, which is a clear gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deals with annotations (text, dimensions, leaders) and enumerates specific create operations, so an agent can infer the tool creates annotation objects. However, it does not explicitly distinguish this from sibling tools like entity or drawing, and the opening line is more of a category label than a verb-driven statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of prerequisites (e.g., open drawing), and no exclusionary context. The description simply lists operations without explaining the appropriate scenarios for each.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, yet the description includes 'init — Re-initialize the backend' and 'execute_lisp — Execute arbitrary AutoLISP code', both of which are mutating/executing operations. This is a direct contradiction between structured annotation and description.
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 summary line is followed by a compact bulleted list of operations; every line adds specific information. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all six operations and their purposes, which is strong for a multi-tool. However, it omits the include_screenshot parameter and provides no guidance on when to use this tool vs siblings; the contradiction with readOnlyHint further undermines completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description compensates by enumerating valid operation values and noting data:{code} for execute_lisp. However, include_screenshot is never explained, and the data parameter is only partially specified.
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?
Description opens with 'Server status and management' and enumerates six specific operations (status, health, get_backend, runtime, init, execute_lisp). This clearly identifies the resource (server/backend) and distinguishes it from sibling tools focused on drawing/entities.
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?
No explicit when-to-use or alternative guidance is provided. The operation list implies usage contexts (e.g., health checks, runtime diagnostics), but the description never states when to choose system over sibling tools or which operations are appropriate for which scenarios.
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?
The description lists mutating operations (setup_layers, insert_symbol, etc.), consistent with readOnlyHint=false. However, it does not disclose side effects, persistence requirements, or whether operations are reversible. It provides more than a tautology but lacks deeper behavioral context like permission needs or transaction behavior.
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 description is efficiently structured as a bullet-like list with no redundant prose. It front-loads the purpose and then lists operations with their data fields in a scannable format. A few operation details are terse, but overall the compactness is appropriate for the information conveyed.
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?
Given the existence of an output schema (not shown) and generic input schema, the description provides the essential operation dictionary and data shapes, which is critical for correct invocation. It lacks examples or enumerations of valid symbol/category values, but for a tool of this complexity, it covers the main invocation paths adequately.
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 coverage is 0% for the top-level parameters, but the description compensates by specifying the allowed 'operation' values and the expected 'data' payload for each operation (e.g., insert_symbol with category, symbol, x, y). It does not explain the 'include_screenshot' parameter, which is a minor gap. The detailed operation list provides substantial semantic value beyond the generic schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as 'P&ID drawing with CTO symbol library' and enumerates specific operations (setup_layers, insert_symbol, etc.), making the purpose evident. It does not explicitly contrast with sibling tools, but the focused domain and operation list distinguish it from generic tools like 'entity' or 'drawing'.
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 (for P&ID drawing operations) but does not explicitly state alternatives or exclusions. It offers no guidance such as 'use this for P&ID symbols, use entity for generic entities', but the operation list itself conveys that this is the place for P&ID-specific tasks.
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?
The annotation readOnlyHint=false already signals this is a read/write tool. The description adds a concrete list of operations but doesn't disclose behavioral nuances such as side effects on the current drawing, file system changes, or reversibility beyond the operation names themselves. It's adequate but not deeply transparent.
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 efficiently structured as a bulleted list of operations, with each line providing a clear verb and optional data parameters. It's front-loaded with a one-line summary and avoids unnecessary prose.
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?
Given the tool's many operations, the description covers each one's core purpose and data inputs, and includes special cases like QSAVE. It lacks details on prerequisites (e.g., whether a drawing must be open) and the incomplete `include_screenshot` flag, but overall it's reasonably complete.
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 description goes beyond the schema by documenting the expected `data` structure for each operation (e.g., `{path}` for open, `{name?}` for create), which greatly helps parameter usage. However, it doesn't mention the `include_screenshot` parameter and uses an ad-hoc notation rather than aligning with the schema properties.
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 'Drawing file management' and enumerates specific file-level operations (create, open, save, export, plot, purge, undo, redo), distinguishing this tool from sibling tools that focus on layers, entities, blocks, etc.
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 groups operations under a single tool with a clear file-management scope, but it never explicitly states when to use this tool versus sibling tools like `layer` or `entity`. The usage is implied by the operation list, not directly stated.
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?
The description enumerates read and modify operations, and the annotations already signal readOnlyHint=false. It does not disclose side effects such as whether modifications are permanent, destructive actions like erase are irreversible, or how screenshot capture works. It adds the operation list but not deeper behavioral context.
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 efficiently structured into Create, Read, and Modify sections with each operation on a single line. It is front-loaded with a summary line and contains no filler. Every sentence earns its place in conveying the operation set and parameter usage.
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 description covers all operations and their parameters, which is comprehensive for a multi-operation tool. It omits the include_screenshot parameter and some operation-specific nuances (e.g., what fillet radius means), but given the output schema exists and annotations are present, it is sufficiently complete. The missing screenshot behavior is a minor gap.
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 schema provides zero descriptions for its 10 parameters, but the description maps each operation to its relevant parameters (e.g., create_line — x1, y1, x2, y2, layer?). This is valuable beyond the schema. However, it does not fully explain nested data objects (e.g., for create_hatch, data: {pattern?} is cryptic), so it earns a 4 rather than a 5.
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 'Entity creation, querying, and modification,' clearly stating the tool's purpose and scope. It then enumerates specific operations (create_line, list, erase, etc.), which distinguishes it from sibling tools like layer or drawing. This is a specific verb+resource statement with clear scope.
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 lists all sub-operations, implying when to use the tool for entity tasks. However, it does not explicitly state when to prefer this tool over siblings or provide exclusions (e.g., 'for layer management, use the layer tool'). The context is clear but lacks explicit guidance on alternatives.
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 readOnlyHint=true in annotations, the safety profile is already declared. The description adds behavioral context by enumerating the specific operations and noting that get_screenshot captures the current view as a PNG image. It does not contradict the annotation, and the mention of coordinate parameters for zoom_window provides some operational transparency beyond the raw schema.
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 and well-structured: a one-line summary followed by an operation list. It front-loads the main purpose and uses a bullet format for operations, making it easy to scan. Every sentence adds value, with no redundant or extraneous content.
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?
Given the tool's moderate complexity (5 params, 1 required, no enums) and the presence of an output schema, the description covers the main operations and their associated parameters. It does not detail edge cases like invalid operations or coordinate requirements, but the essentials are present. The output schema presumably handles return-value documentation, so the description is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, leaving the description to compensate. The description does add meaning by linking x1, y1, x2, y2 to the zoom_window operation, and it names the operations. However, it does not explain the coordinate system, units, or whether all coordinates are required for zoom_window, so parameter semantics remain partially under-specified.
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 identifies the tool as controlling the viewport and capturing screenshots, with specific operations listed: zoom_extents, zoom_window, and get_screenshot. This is a specific verb+resource combination that distinguishes it from sibling tools like layer or entity, which handle different aspects.
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 usage by listing operations and their parameters (e.g., 'zoom_window — Zoom to window: x1, y1, x2, y2'), but it does not explicitly state when to use this tool versus alternatives or provide exclusions. For a viewport-focused tool, the usage context is fairly clear from the operation list, but without explicit alternative guidance it remains at the 'implied usage' level.
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?
The description aligns with annotations (readOnlyHint: false) by showing mutating operations like insert and update_attribute. It does not, however, disclose potential side effects, error conditions, or prerequisites beyond the operations themselves.
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 description is reasonably concise, front-loading the purpose and using a structured bullet list for operations. It avoids unnecessary prose, though the operation list is somewhat lengthy.
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 description covers all primary operations and their data requirements, which is sufficient given the presence of an output schema and annotations. It could be enhanced by explaining the 'include_screenshot' flag and any return values, but overall it provides a complete picture for this multi-operation tool.
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 input schema has three parameters with zero description coverage. The description compensates by listing valid operation values and providing the expected shape of the 'data' object for each operation, though it omits the 'include_screenshot' parameter.
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 tool's scope: block definition, insertion, and attribute management. It enumerates specific operations (list, insert, define, etc.), making the purpose distinct from sibling tools like entity or layer.
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 list of operations effectively tells an agent when to use this tool (e.g., for block insertion or attribute updates). However, it does not explicitly mention when not to use it or name alternative tools for non-block tasks.
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?
Annotations only indicate readOnlyHint=false, which is consistent with the mutating operations listed. The description adds operation-specific data fields but does not disclose side effects, error behavior, or prerequisites. It covers the basic behavior but not deeper context like permissions or reversibility.
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 well-structured with a brief intro and a clean bullet list of operations. Every line communicates meaningful information without redundancy or fluff. It is appropriately sized for the tool's complexity.
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 description covers all operations and their data parameters, which is essential for this multi-operation tool. Since an output schema exists, return value details are not required. However, it lacks any mention of error handling, side effects, or the purpose of include_screenshot, leaving minor gaps for a complete understanding.
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 compensate. It does so thoroughly by defining the expected 'data' object for each operation (e.g., create: {name, color?, linetype?}, set_current: {name}). It also clarifies that 'operation' accepts the listed values, making the schema far more usable.
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 'Layer creation and management' and enumerates eight specific operations (list, create, set_current, etc.) with a verb and resource. This makes the tool's purpose unambiguous and distinguishes it from sibling tools like 'entity' or 'block'.
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 usage for layer operations but does not explicitly state when to use this tool vs alternatives. There are no exclusions or references to sibling tools. The operation list gives context, but the 'when-to-use' guidance is only implicit.
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/gpt2nndk/autocad-mcp-nndk'
If you have feedback or need assistance with the MCP directory API, please join our Discord server