IcePanel MCP server has solid naming conventions (all tools start with action verbs: get*, getLandscapes, getModelObjects, etc.) and comprehensive parameter schemas using Zod for validation. However, descriptions lack depth and specificity for most tools, parameter descriptions are sparse or generic, and output schemas are not documented. Most tools have descriptions between 34-194 chars (within baseline range p10=34, p90=392), but parameter-level annotations are minimal. Error handling returns generic error messages without recovery guidance. The server demonstrates good intent but lacks the LLM-optimization details required for A-tier scores.
Get a specific landscape from IcePanel
Get all your landscapes from IcePanel
Get detailed information about a model object in IcePanel. IcePanel is a C4 diagramming tool. C4 is a framework for visualizing the architecture of software systems. Use this tool to get detailed information about a model object, such as it's description, type, hierarchical information (i.e. parent and children objects), any teams associated with it, as well as the technologies it uses.
Get information about the relationships a model object has in IcePanel. IcePanel is a C4 diagramming tool. C4 is a framework for visualizing the architecture of software systems. Use this tool when you want to know about what objects are related to the current object. It provides a succinct list of related items.
Get all the model objects in an IcePanel landscape. IcePanel is a C4 diagramming tool. C4 is a framework for visualizing the architecture of software systems. To get the C1 level objects - query for 'system' type. To get the C2 level objects - query for 'app' and 'store' component types. To get the C3 level objects - query for the 'component' type. The 'group' and 'actor' types can be used in any of the levels, and should generally by included in user queries. - 'group' - is a type agnostic group which groups objects together - 'actor' - is a actor in the system, typically a kind of user. Ex. 'our customer', 'admin user', etc. Use this tool to filter / query against many model objects at once. It provides high level details such as; name, ID, type, status, and external. Prefer filtering by Technology ID and Team ID when the query is asking things like: - "What services does the Automations Team own?" - "We need to upgrade our .NET applications - what is affected by this?"
Minimal parameter descriptions across all tools. Parameters like 'domainId', 'external', 'parentId' in getModelObjects lack actionable guidance for LLMs. Schema is present but descriptions do not explain WHEN or WHY to use each filter.
No documented output schemas. Tools return JSON responses but do not specify what fields are present, their types, or their meaning. LLMs must infer structure from examples. Baseline shows 100% of A+ tools document return types.
Generic error messages ('Error: {error.message}') provide no recovery guidance. Patterns like 'User not found. Try search_users() with a partial name' are missing entirely.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 47 | - | v1 |
Get teams from your IcePanel organization
Get the technology catalog in IcePanel. IcePanel is a C4 diagramming tool. C4 is a framework for visualizing the architecture of software systems. Use this tool to get the technology catalog, which is a list of all the technologies available in the system.
Tool descriptions for 'getLandscapes' and 'getTeams' are under 50 characters (rule: descriptions <20 chars cap at 0-40). Baseline shows average tool description is 194 chars, these are too terse to guide LLM selection.
No pagination or result limits documented. getModelObjects filters can return potentially thousands of items but no limit, offset, or next_cursor parameters are visible. Baseline pattern requires pagination for discovery tools.
Parameter type suffixes not standardized. 'landscapeId', 'modelObjectId', 'technologyId', 'teamId', 'domainId' all denote IDs but parameter names are inconsistent (some use 'Id', others could be clearer). This makes it harder for LLMs to chain tools.