autocad-mcp
Server Quality Checklist
Latest release: v3.0.0
- Disambiguation5/5
Each tool targets a distinct domain (layers, drawings, entities, blocks, annotations, P&ID symbols, views, system). The only minor overlap is between entity create_mtext and annotation create_text, but they are clearly differentiated as multi-line vs single-line text.
Naming Consistency5/5All tool names follow a consistent lowercase noun pattern, with operations nested as verbs underneath. No mixed conventions, camelCase, or unpredictable verbs; the naming is uniform and intuitive.
Tool Count5/58 tools is well-scoped for an AutoCAD automation server, each covering a major functional area without unnecessary overlap. The count fits squarely in the ideal 3-15 range and avoids redundancy.
Completeness5/5The tool set provides thorough coverage of drawing lifecycle (create, open, save, plot, purge), entity creation/editing, block management, layer management, annotation, and even specialized P&ID workflows. There are no obvious missing operations that would cause agent failures.
Average 3.7/5 across 8 of 8 tools scored. Lowest: 2.7/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 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
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
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description directly contradicts the readOnlyHint annotation. While the annotation claims read-only behavior, the description includes 'init' (re-initialize) and 'execute_lisp' (execute arbitrary code), which are mutating operations. This is a serious inconsistency that could mislead an agent into assuming safe read-only 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 well-structured with a clear summary and a bulleted list of operations. It is concise and front-loaded with the core purpose, though the list format could be more compact by grouping similar operations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While an output schema exists, the description omits critical behavioral context like which operations are mutating, parameter details for 'data' and 'include_screenshot', and clarifications around 'File IPC only'. The read-only contradiction and missing parameter semantics make it incomplete for a multi-operation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description is expected to compensate by explaining params. It implicitly describes the 'operation' parameter via the list of operations and explains 'data' for execute_lisp, but 'include_screenshot' is never described. The 'data' parameter is only contextualized for one operation, leaving ambiguity for others.
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 server status and management, with a list of operations that specify exactly what it does. It distinguishes itself from sibling tools (layer, drawing, etc.) by focusing on backend operations, though the broad 'management' term could be more specific.
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 operation list implies when to use the tool (e.g., for health checks, backend info), but there is no explicit guidance on when to prefer this tool over alternatives. It does not mention exclusions or alternatives, leaving usage intent somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate mutability (readOnlyHint: false). The description adds the operation list and data shapes but does not disclose behavioral consequences, such as how freezing or locking a layer affects the drawing, whether permissions are required, or any side effects. For a mutation tool with multiple state-changing operations, this lack of behavioral context is a gap.
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 well-structured with a concise summary line followed by a bullet-style list of operations. Each operation line is short and useful, containing only the essential data shape. No filler or redundant information is present, making it efficient to parse.
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's complexity (8 operations) and the presence of an output schema (so return values need not be described), the description covers most operational inputs but misses the 'include_screenshot' parameter and does not elaborate on the effects of operations like freeze or set_current. It is adequate for basic invocation but not fully complete for nuanced decision-making.
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%, so the description must compensate. It provides data structures for each operation (e.g., create: {name, color?, linetype?}, freeze: {name}), which adds significant meaning to the 'operation' and 'data' parameters. However, it does not explain the 'include_screenshot' parameter, and the data for 'list' is not specified, leaving some gaps.
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 for 'Layer creation and management' and lists eight specific operations (list, create, set_current, set_properties, freeze, thaw, lock, unlock). This is a specific verb+resource combination, and it distinguishes from sibling tools (drawing, entity, block, etc.) by focusing exclusively on layers.
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 a clear list of operations with their required data, which implies when each operation is appropriate, but it does not explicitly state when to use this tool versus alternatives. There are no exclusions or mentions of sibling tools, so the agent must infer that layer management belongs here based on the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, which already signals mutation. The operation names (insert, draw, connect, add) are consistent with that. However, the description adds no behavioral context beyond the operation list—no prerequisites, side effects, state changes, or error behavior. For a tool with many mutating operations, this is a meaningful 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 compact bulleted list, front-loaded with the tool's general purpose. Each line enumerates an operation and its data payload with no filler. It is concise and well-structured for quick reference.
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?
With many operations and an output schema, the description provides a useful reference but lacks context about sequencing (e.g., 'setup_layers' may need to run first), return values, or whether a drawing must be open. The include_screenshot parameter is not explained either. It is adequate but not complete for an agent to fully plan multi-step workflows.
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%, but the description fills in the data shapes for each operation, e.g., 'insert_symbol — data: {category, symbol, x, y, scale?, rotation?}' and 'add_flow_arrow — data: {x, y, rotation?}'. This is essential for constructing valid data objects. Still, it doesn't enumerate allowed values for fields like category or valve_type, and coordinate units are not specified.
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 opens with 'P&ID drawing with CTO symbol library' and lists concrete operations (insert_symbol, draw_process_line, etc.). This clearly communicates the tool's scope. However, the top-level statement is a noun phrase rather than an explicit verb+resource, and it doesn't directly distinguish from sibling tools beyond listing specialized operations.
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?
Usage is implied by the list of operations: it's for P&ID drawing tasks like inserting symbols and drawing process lines. There is no explicit 'use this when...' or mention of alternatives, and no guidance on when not to use it. Sibling tools like layer, drawing, and entity suggest other areas, but the description doesn't clarify the boundary.
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 (move, erase, copy) and details their parameters, which goes beyond the simple readOnlyHint=false annotation. However, it does not disclose side effects (e.g., erase is destructive), error conditions, or any required permissions, leaving behavioral gaps.
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 well-structured with clear section headers and compact per-operation signatures. It is front-loaded with a summary line and avoids redundant prose. It is long, but each line is necessary to cover the many operations.
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 operation signatures, but for a tool with 10 parameters and many distinct operations, it lacks higher-level context such as prerequisite conditions (e.g., an open drawing), return value behavior, and any caveats about destructive operations. The presence of an output schema mitigates the return value gap, but other contextual details remain 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?
With 0% schema coverage, the description carries the full burden of explaining parameters. It does this well by mapping each operation to its specific parameters, including nested data fields like fillet's {id1, id2, radius}. However, it omits the include_screenshot parameter and doesn't explain the meaning of '?' in the signatures.
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 function as 'Entity creation, querying, and modification' and lists all supported operations (create_line, list, move, erase, etc.), making its scope unambiguous and distinguishing it from sibling tools like layer, block, 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 groups operations into Create, Read, and Modify, implying when each operation should be used. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusionary guidance or prerequisites.
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 already declare readOnlyHint=true, covering the safety profile. The description adds the behavior of each operation (zoom, screenshot) but does not disclose potential side effects, coordinate system details, or error conditions. It adds some behavioral context beyond the annotation but not deeply.
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, front-loaded with the main purpose, and lists operations in a clear bullet-like format. Every sentence earns its place, with 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?
Given the tool's moderate complexity (3 operations, 5 params, output schema present), the description is mostly complete. It covers the operation types and their arguments, and the output schema likely explains return values. It lacks finer details like coordinate units or default behavior, but remains sufficient for basic usage.
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 description coverage is 0%, so the description must compensate. It does explain the 'operation' parameter values and mentions that zoom_window uses x1, y1, x2, y2, but does not clarify their meaning beyond being coordinates, nor the role of null defaults for optional parameters. Partial compensation for the schema gap.
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 'Viewport control and screenshot capture' with a specific verb and resource, and enumerates three distinct operations (zoom_extents, zoom_window, get_screenshot). It is easily distinguishable from sibling tools focused on layers, drawing 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 implies usage via the operation list, but provides no explicit guidance on when to choose this tool over alternatives. It does not mention exclusions or context such as 'use this when you need to adjust the view or capture the screen' – the purpose is stated but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include readOnlyHint=false, indicating mutation. The description adds no further behavioral context, such as whether operations modify the current drawing, prerequisites for coordinates, or potential side effects. It is purely a list of operations with data fields, providing no disclosure beyond what the readOnlyHint already implies.
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 compact, well-organized list. It front-loads the purpose and then enumerates operations with their required data fields in a consistent, scannable format. Every line is informative and there is no redundant or filler text.
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 complexity (six distinct operations) and the sparse schema, the description covers the essential information needed to invoke each operation. An output schema exists, so return values need not be explained. However, it omits contextual details like coordinate system, units, or the effect of include_screenshot, leaving some ambiguity for an agent without prior AutoCAD knowledge.
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 is extremely generic (data is an untyped object), so the description is essential to know which fields each operation expects. It lists the data structure for every operation, enabling an agent to pass correct parameters. However, it does not explain the meaning of coordinate fields (e.g., x, y, dim_x) or units, which would add further semantic value.
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: 'Annotation: text, dimensions, and leaders.' It then lists specific creation operations (create_text, create_dimension_linear, etc.), making it obvious this tool creates annotation entities. This distinguishes it from siblings like 'layer' or 'entity' which handle different drawing aspects.
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 provides clear context that this tool is for creating annotations, and the separation from sibling tools (layer, drawing, etc.) makes the usage context obvious. However, it does not explicitly state when not to use this tool or name alternatives, so it lacks the explicit exclusion guidance that would earn a 5.
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?
While annotations only include readOnlyHint=false, the description adds operation-specific behaviors such as save's fallback to QSAVE when no path is given and open requiring an existing drawing. It does not detail destructive side effects for purge or plot_pdf, but it provides more than the raw annotations.
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 compact bulleted list with one-line explanations for each operation, front-loaded with the tool's purpose. No redundant text.
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 complex with ten sub-operations, and the description covers each operation's purpose and data fields. However, it omits the include_screenshot parameter and does not explicitly guide usage relative to sibling tools, but the output schema likely covers return values.
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?
With 0% schema description coverage, the description compensates by listing operation-specific data fields (e.g., data: {path} for open, data: {names: [...]} for get_variables). However, the include_screenshot parameter is not documented, leaving a gap.
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 'Drawing file management' and enumerates ten specific operations (create, open, info, save, etc.) with brief explanations, distinguishing it from sibling tools like layer and entity.
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 through 'Drawing file management' and operation names, but does not explicitly state when to choose this tool over siblings like layer or entity. It provides context but no exclusions or direct comparisons.
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?
Annotations only provide readOnlyHint=false, offering little behavioral detail. The description compensates by listing mutating operations (insert, define, update_attribute) and specifying the data payload expected for each. It still omits side effects or permissions, but the operation-level detail goes well beyond the minimal annotation.
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 scannable, with a one-line summary followed by a bulleted list of operations. Every line adds necessary information, and there is no filler or redundancy.
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 multi-operation tool with a non-specific schema, this description provides a solid operation catalog and per-operation data contracts. It lacks detail on the 'include_screenshot' parameter and error/return behavior, but the presence of an output schema reduces the need to document returns. Overall, it is sufficient for an agent to select and invoke the correct operation in most cases.
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 is highly generic: 'operation' is a bare string without an enum, and 'data' is a free-form object. The description compensates by enumerating valid operation values and giving explicit data shapes (name, x, y, scale?, rotation?, etc.). However, the 'include_screenshot' parameter is never explained, preventing full semantic coverage.
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 'Block definition, insertion, and attribute management,' which clearly identifies the resource (blocks) and the verbs (define, insert, manage attributes). It then enumerates six specific sub-operations, making the tool's scope unmistakable and distinct from sibling tools like layer, entity, or annotation.
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 conveys a clear domain: everything here is block-related, so an agent can infer when to choose this tool. However, it does not explicitly state exclusions or alternatives (e.g., 'use entity for non-block operations'), leaving a minor gap in when-not-to-use guidance.
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:
shields.io Endpoint
For READMEs with an existing badge row. Append &style=flat-square (or any other shields.io style) to match the rest, and &metric=tools, &metric=maintenance or &metric=claim to badge a different dimension.
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/ks40-academy/autocad-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server