axure-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@axure-mcp-serversummarize the core user flows of this Axure prototype: https://vscn2w.axshare.com/home"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 -vQuick Start
npm install
npx playwright install chromium
npm run build
npm startMCP 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 mainPublish to npm
Before publish:
Update
package.jsonfields (name,author,repository,homepage)Ensure build output exists:
npm run build
Then:
npm login
npm publish --access publicRoadmap
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 toolsaxure_fetchC
Fetch visible text and image URLs from a public Axure share link.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public Axure URL, e.g. https://xxx.axshare.com/?id=... | |
| timeoutMs | No | ||
| maxImages | No | ||
| maxTexts | No | ||
| crawlPages | No | If true, discovers and crawls additional same-origin Axure links. | |
| maxPages | No | ||
| enableOcrFallback | No | If true, OCR fallback will run when extracted text is too little. | |
| ocrMinTextCount | No | ||
| ocrMaxImages | No | ||
| ocrLanguage | No | Tesseract language codes, e.g. chi_sim+eng | |
| includeImageBase64 | No | If true, tries to attach image base64 data for each URL. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public Axure URL | |
| focus | No | Optional instruction for what you want AI to focus on. | |
| timeoutMs | No | ||
| maxImages | No | ||
| maxTexts | No | ||
| crawlPages | No | ||
| maxPages | No | ||
| enableOcrFallback | No | ||
| ocrMinTextCount | No | ||
| ocrMaxImages | No | ||
| ocrLanguage | No |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
v0.3.1- First observed
axure_fetch - First observed
axure_health - First observed
axure_summary_prompt
TDQS
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.
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.
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.
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
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
Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.
Converts any URL to clean, LLM-ready Markdown using real Chrome browsers
Cloud scraping & crawling API for AI agents. Turn any URL into clean, LLM-ready markdown.
Screenshot any URL/HTML as PNG/JPEG/WebP, or read it as clean Markdown/text for LLMs.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables crawling and extracting clean content from documentation websites with optional LLM-powered analysis for intelligent summaries, code example extraction, and content classification.-
- AlicenseNot gradedqualityDmaintenanceEnables AI coding assistants to extract screenshots, DOM content, and structured frontend analysis from public links, including Axure prototypes.1MIT
- AlicenseNot gradedqualityBmaintenanceMCP-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.22Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables scraping single pages or crawling entire websites, converting content to markdown and optionally extracting structured data with Claude.-
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/six-ben/axure-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server