Skip to main content
Glama

axure-mcp-server

MCP server for extracting visible text and image links from public Axure share pages, so AI tools (Cursor/Claude Desktop/others with MCP support) can summarize prototype content.

Features

  • Extract visible text blocks from Axure page DOM

  • Extract image URLs (optionally image base64 payload)

  • Auto-discover and crawl additional same-origin Axure pages

  • OCR fallback when text is image-only or too little

  • Return structured JSON for downstream AI summarization

  • Build an AI-ready summary prompt in one call

  • Works with MCP clients via stdio

Related MCP server: link-mcp-server

Requirements

  • Node.js >= 18

  • npm >= 9

If your local Node is old (for example Node 16), upgrade first:

# if you use nvm
nvm install 20
nvm use 20
node -v

Quick Start

npm install
npx playwright install chromium
npm run build
npm start

MCP Tools

1) axure_health

Health check of runtime.

2) axure_fetch

Input:

{
  "url": "https://vscn2w.axshare.com/?id=xpnh6e&p=%E5%8E%9F%E5%9E%8B%E6%96%B9%E6%A1%88&sc=3",
  "timeoutMs": 45000,
  "maxImages": 30,
  "maxTexts": 300,
  "crawlPages": true,
  "maxPages": 5,
  "enableOcrFallback": true,
  "ocrMinTextCount": 8,
  "ocrMaxImages": 3,
  "ocrLanguage": "chi_sim+eng",
  "includeImageBase64": false
}

Output: JSON with status, textBlocks, imageItems, pages, warnings, stats (including ocrTextCount).

3) axure_summary_prompt

Input:

{
  "url": "https://vscn2w.axshare.com/?id=xpnh6e&p=%E5%8E%9F%E5%9E%8B%E6%96%B9%E6%A1%88&sc=3",
  "focus": "请提炼核心流程和页面功能点",
  "crawlPages": true,
  "maxPages": 6,
  "enableOcrFallback": true
}

Output: an AI-ready plain text prompt including extracted texts and image links.

Use in Cursor

Add to MCP config (example):

{
  "mcpServers": {
    "axure-mcp": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/axure-mcp-server/dist/index.js"]
    }
  }
}

If published to npm:

{
  "mcpServers": {
    "axure-mcp": {
      "command": "npx",
      "args": ["-y", "axure-mcp-server"]
    }
  }
}

Compatibility: keep Node 16 globally, run MCP on Node 20

If your main frontend stack (for example Vue2) must stay on Node 16, you can still run this MCP safely by pinning only this server to Node 20 in Cursor:

{
  "mcpServers": {
    "axure-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "node@20",
        "/Users/55haitao/Desktop/axure-mcp-server/dist/index.js"
      ]
    }
  }
}

This keeps your global Node unchanged while ensuring axure-mcp-server runs with a compatible runtime.

Compatibility after npm publish

If you publish this package to npm, and still need to keep global Node 16, use Node 20 only for this MCP process:

{
  "mcpServers": {
    "axure-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "node@20",
        "/usr/local/bin/npx",
        "-y",
        "axure-mcp-server"
      ]
    }
  }
}

If your system npx path is different, replace "/usr/local/bin/npx" with your actual path from which npx.

Publish to GitHub

git init
git add .
git commit -m "feat: init axure mcp server"
git branch -M main
git remote add origin <your-repo-url>
git push -u origin main

Publish to npm

Before publish:

  1. Update package.json fields (name, author, repository, homepage)

  2. Ensure build output exists: npm run build

Then:

npm login
npm publish --access public

Roadmap

  • Add optional multi-page navigation and auto-click flow

  • Export markdown report and downloadable screenshot package

Notes

  • Designed for public/no-login Axure links.

  • Respect source site terms and data usage permissions.

Available Tools

3 tools
axure_fetchC

Fetch visible text and image URLs from a public Axure share link.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic Axure URL, e.g. https://xxx.axshare.com/?id=...
timeoutMsNo
maxImagesNo
maxTextsNo
crawlPagesNoIf true, discovers and crawls additional same-origin Axure links.
maxPagesNo
enableOcrFallbackNoIf true, OCR fallback will run when extracted text is too little.
ocrMinTextCountNo
ocrMaxImagesNo
ocrLanguageNoTesseract language codes, e.g. chi_sim+eng
includeImageBase64NoIf true, tries to attach image base64 data for each URL.

TDQS

C2.9/5.0
Behavior2/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 mentions fetching text and image URLs but fails to describe critical traits like rate limits, authentication needs, error handling, or what the output looks like (e.g., format, structure). For a tool with 11 parameters and no output schema, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resources, making it easy to grasp quickly. Every part of the sentence earns its place by specifying what is fetched and from where.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (11 parameters, no annotations, no output schema), the description is insufficiently complete. It doesn't address output format, error conditions, performance expectations, or how parameters interact (e.g., 'crawlPages' with 'maxPages'). For a data-fetching tool with many configuration options, more context is needed to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 45%, meaning many parameters lack descriptions in the schema. The tool description adds no parameter-specific information beyond implying the 'url' parameter is for Axure links. It doesn't explain the purpose or interplay of parameters like 'timeoutMs', 'maxImages', or 'crawlPages', offering minimal compensation for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Fetch') and the resources ('visible text and image URLs') from a specific source ('public Axure share link'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'axure_health' or 'axure_summary_prompt', which might have overlapping or related functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings ('axure_health' and 'axure_summary_prompt'), nor does it mention any prerequisites, exclusions, or alternative scenarios. Usage is implied only by the tool's name and description, lacking explicit context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

axure_healthB

Health check for Axure MCP server runtime.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/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 states the tool performs a 'health check,' implying a read-only diagnostic operation, but doesn't specify what the check entails (e.g., server status, connectivity, resource usage), expected response format, or any side effects. This is a significant gap for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (simple health check) but lack of annotations and output schema, the description is incomplete. It doesn't explain what the health check returns (e.g., status indicators, metrics) or behavioral details, leaving the agent with insufficient context to understand the tool's full functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100% (though trivial). The description doesn't need to add parameter semantics, so it meets the baseline of 4 for zero-parameter tools, as there's no additional burden beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as a 'health check for Axure MCP server runtime,' which is a specific verb ('health check') applied to a specific resource ('Axure MCP server runtime'). It doesn't explicitly distinguish from sibling tools like 'axure_fetch' or 'axure_summary_prompt,' but the purpose is unambiguous for a health monitoring function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, frequency, or context (e.g., use for diagnostics, monitoring, or troubleshooting), and there's no comparison to sibling tools. This leaves the agent without explicit usage instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

axure_summary_promptC

Build an AI-ready summary prompt from a public Axure link.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic Axure URL
focusNoOptional instruction for what you want AI to focus on.
timeoutMsNo
maxImagesNo
maxTextsNo
crawlPagesNo
maxPagesNo
enableOcrFallbackNo
ocrMinTextCountNo
ocrMaxImagesNo
ocrLanguageNo

TDQS

C2.8/5.0
Behavior2/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 mentions building a prompt but fails to describe key behaviors: what the tool does internally (e.g., crawling, OCR processing), potential side effects (e.g., network requests, data extraction), error handling, or output format. This is inadequate for a tool with 11 parameters and complex functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core purpose without unnecessary words. Every part of the sentence ('Build an AI-ready summary prompt from a public Axure link') contributes directly to understanding the tool's function, making it appropriately concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (11 parameters, no annotations, no output schema, low schema coverage), the description is incomplete. It lacks details on behavior, parameter usage, output expectations, and error conditions. For a tool with such rich input options and no structured guidance elsewhere, the description fails to provide sufficient context for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low at 18%, with only the 'url' parameter having a description. The tool description does not compensate by explaining the semantics of other parameters like 'focus', 'timeoutMs', or OCR-related options. It adds no meaningful context beyond what the minimal schema provides, leaving most parameters undocumented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Build') and the target resource ('AI-ready summary prompt from a public Axure link'), making the purpose understandable. It distinguishes from sibling tools like 'axure_fetch' and 'axure_health' by focusing on prompt creation rather than fetching or health checks. However, it lacks specificity about what constitutes an 'AI-ready summary prompt' (e.g., format, content structure).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives like 'axure_fetch' or 'axure_health'. The description implies usage for generating prompts from Axure links but doesn't specify scenarios, prerequisites, or exclusions (e.g., only for public links, not for private ones). This leaves the agent without clear decision-making criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv0.3.1
    • First observedaxure_fetch
    • First observedaxure_health
    • First observedaxure_summary_prompt

TDQS

B3.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: fetching content, checking server health, and building a summary prompt. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency5/5

All tools follow a consistent 'axure_' prefix with descriptive suffixes (fetch, health, summary_prompt), using snake_case uniformly. This pattern is predictable and enhances readability.

Tool Count3/5

With only 3 tools, the server feels thin for a domain like Axure, which might involve more operations (e.g., navigation, element details). However, it covers basic needs without being excessive.

Completeness2/5

The toolset is severely incomplete for interacting with Axure prototypes. It lacks essential operations like navigating pages, retrieving specific elements, or handling interactions, limiting agents to basic fetching and summarization tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables crawling and extracting clean content from documentation websites with optional LLM-powered analysis for intelligent summaries, code example extraction, and content classification.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP-first UI/UX review layer for AI-generated frontends. Enables reviewing web pages via URL, capturing screenshots, extracting layout metrics, and generating structured repair plans for agents.
    22
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables scraping single pages or crawling entire websites, converting content to markdown and optionally extracting structured data with Claude.
    -

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/six-ben/axure-mcp-server'

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