Skip to main content
Glama
README.md
# link-mcp-server

MCP server for extracting UI, text, screenshots, and requirements from public links (including Axure prototypes). Designed specifically to empower AI coding assistants (like Cursor) with frontend context.

## Features

- **Screenshot Capture**: Automatically takes full-page screenshots of the provided link.
- **Frontend Analysis**: Generates structured Markdown reports tailored for frontend development:
  - Inferred States (React/Vue state variables)
  - Components & Interactions
  - API Integration needs
  - Change Points (mapping annotations to DOM elements)
- **DOM Extraction**: Extracts visible text blocks and image URLs.
- **Axure Support**: Specially optimized for Axure share links to extract marker annotations and requirement changes.
- **Works with MCP**: Fully compatible with Model Context Protocol clients (Cursor, Claude Desktop, etc.) via stdio.

## Requirements

- Node.js >= 18
- npm >= 9

## Quick Start

```bash
npm install
npx playwright install chromium
npm run build
npm start
```

## MCP Tools

### 1) `analyze_link_for_frontend`

Analyze a public link (like Axure) for frontend development. Returns a screenshot and a frontend-focused markdown analysis.

**Input:**
```json
{
  "url": "https://vscn2w.axshare.com/?id=ul0dre&p=3_5%E9%9C%80%E6%B1%82%E6%9B%B4%E6%96%B0&sc=3"
}
```

**Output:**
Returns two blocks to the AI client:
1. An `image` block containing the full-page screenshot.
2. A `text` block containing the Markdown analysis report.

### 2) `link_health`

Health check of runtime.

## Use in Cursor

Add to MCP config:

```json
{
  "mcpServers": {
    "link-mcp-server": {
      "command": "npx",
      "args": ["-y", "link-mcp-server"]
    }
  }
}
```

## Publish to npm

```bash
npm login
npm publish --access public
```

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools serve entirely different purposes: one is a runtime health check and the other performs link analysis. There is no overlap or ambiguity in what each tool does.

Naming Consistency3/5

Both names use snake_case, but they follow different grammatical patterns: 'link_health' is a noun phrase with a prefix, while 'analyze_link_for_frontend' is a verb phrase with a preposition. The inconsistency is noticeable but still readable.

Tool Count3/5

Two tools is thin for a server, especially since only one provides the core functionality. The health check is useful but meta, leaving a very narrow actionable surface.

Completeness3/5

For a link analysis server, the single analyze tool covers the primary use case, but there are no operations for listing past analyses, batch processing, or validating links. The surface feels incomplete for broader link-related workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues