Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VISIO_MCP_FAKENoSet to '1' to use an in-memory sample drawing instead of a real Visio instance. Equivalent to the --fake command line flag.
VISIO_MCP_READ_ONLYNoSet to '1' to enable read-only mode, which publishes only inspection tools. Equivalent to the --read-only command line flag.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
visio_statusA

Check which running Visio instance is attached and what it has open.

Call this first, and again if another tool reports a lost connection.

visio_list_documentsA

List the drawings open in Visio right now.

Args: include_stencils: Also list open stencil and template documents, which are normally hidden because they are not the user's drawing.

visio_list_pagesA

List the pages of a document, with their size in inches and shape counts.

Args: document: File name or 1-based index. Omit for the active document.

visio_list_shapesA

List the shapes on a page with their id, text, master and geometry.

This is the way to find the shape ids every editing tool needs. x and y are the centre of the shape in inches from the bottom-left of the page.

Args: page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document. include_connectors: Set false to hide connector lines and see only the boxes.

visio_get_shapeA

Read everything about one shape: text, geometry, Shape Data, layers, links.

shape_data keys are ShapeSheet row names, which is exactly what visio_set_shape_data expects back.

Args: shape_id: Id from visio_list_shapes. page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document.

visio_list_connectionsA

Read the page as a graph: which shape each connector runs from and to.

Connectors that are glued at only one end, or at neither, come back with null on the loose side, which is how you spot a broken diagram.

Args: page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document.

visio_search_textA

Find shapes whose text contains a substring, across every page.

Args: query: Substring to look for. document: File name or 1-based index. Omit for the active document. match_case: Match case exactly instead of ignoring it.

visio_list_mastersA

List the shape masters available to drop with visio_add_shape.

With no arguments this covers the masters already used in the drawing plus every open stencil, which is usually what matches the drawing's existing style.

Args: stencil: Look inside this stencil instead, by file name Visio knows (for example "BASIC_U.VSSX") or a full path to a .vssx file. document: File name or 1-based index. Omit for the active document.

visio_render_pageA

Render a page to a PNG and return it, so you can look at the drawing.

Use this whenever layout, overlap or visual style matters; shape coordinates alone rarely tell you whether a diagram reads well.

Args: page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document. max_pixels: Longest edge of the image. Keep it modest unless you need to read small print.

visio_export_pageA

Write a page to an image file on disk.

The extension picks the format; Visio handles .png, .jpg, .gif, .bmp, .tif, .svg and .emf.

Args: path: Destination file path. Relative paths resolve against the server's working directory. page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document. max_pixels: Longest edge for raster formats.

visio_export_pdfA

Export a document to PDF.

Args: path: Destination .pdf path. document: File name or 1-based index. Omit for the active document. page: Page to export when all_pages is false. all_pages: Export every page rather than a single one.

visio_set_shape_textB

Replace the text of one shape.

Args: shape_id: Id from visio_list_shapes. text: New text. Use \n for a line break. page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document.

visio_add_shapeA

Add a shape to a page and return its new id.

Prefer a master that the drawing already uses, so the new shape inherits the drawing's style; visio_list_masters shows what is available. Without a master you get a plain drawn shape.

Args: x: Centre of the shape, inches from the left edge. y: Centre of the shape, inches from the bottom edge. text: Text to put in the shape. master: Master name to drop, for example "Process". stencil: Stencil to look in if the master is not already available. width: Width in inches. Defaults to the master's own size, or 2. height: Height in inches. Defaults to the master's own size, or 1. primitive: Shape to draw when no master is given: rectangle, ellipse or line. page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document.

visio_connect_shapesA

Draw a dynamic connector from one shape to another.

The connector is glued to both shapes, so it reroutes itself when either one moves.

Args: from_shape_id: Shape the arrow leaves. to_shape_id: Shape the arrow points at. label: Optional text to put on the connector. page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document.

visio_move_shapeA

Move, resize or rotate a shape. Only the values you pass are changed.

Args: shape_id: Id from visio_list_shapes. x: New centre x in inches from the left edge. y: New centre y in inches from the bottom edge. width: New width in inches. height: New height in inches. angle: New rotation in degrees, counter-clockwise. page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document.

visio_delete_shapeA

Delete a shape from the page.

Deleting a box leaves its connectors behind as dangling lines, so delete those too, or check visio_list_connections afterwards.

Args: shape_id: Id from visio_list_shapes. page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document.

visio_add_pageA

Add a page to a document.

Args: name: Name for the new page. Visio picks one if you omit it. document: File name or 1-based index. Omit for the active document.

visio_set_shape_dataA

Set a Shape Data field on a shape, creating the row if it is missing.

Args: shape_id: Id from visio_list_shapes. name: Row name, as shown in visio_get_shape's shape_data keys. Letters, digits and underscores only. value: Value to store. label: Display label shown in Visio's Shape Data window. page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document.

visio_replace_textA

Replace a substring in the text of every shape that contains it.

Args: find: Substring to look for. replace: Replacement text. page: Restrict to one page. Omit to cover every page. document: File name or 1-based index. Omit for the active document. match_case: Match case exactly instead of ignoring it.

visio_select_shapesA

Select shapes in the Visio window, to show the user what you mean.

This changes the selection and the page on screen but not the drawing.

Args: shape_ids: Ids to select. page: Page name or 1-based index. Omit for the page on screen. document: File name or 1-based index. Omit for the active document.

visio_saveB

Write the document to disk. Edits are in memory until this is called.

Args: document: File name or 1-based index. Omit for the active document. path: Save to this path instead of the document's own, leaving the original file untouched.

visio_undoA

Undo the last actions in Visio, exactly as Ctrl+Z would.

This undoes whatever is on top of Visio's undo stack, which may be the user's own last edit rather than yours.

Args: steps: How many steps to undo.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/isiec9ai/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server