Axcess

Axcess

Paid MCP server that evaluates typography accessibility beyond what axe and Lighthouse catch. $0.05 USDC per evaluation via x402 on Base mainnet.

Category
Visit Server

README

Axcess — Typography Accessibility Evaluation via MCP

A paid MCP server that evaluates typography for accessibility issues beyond what automated scanners catch.

$0.05 USDC per evaluation · Base mainnet · x402 micropayments


What It Catches

Automated tools (axe, Lighthouse, WAVE) catch roughly 30% of WCAG failures and almost none of the design-judgment failures. Axcess evaluates:

  • Contrast ratio with font-weight context — thin fonts require higher ratios than bold fonts at the same size
  • Minimum font size for body text, captions, and labels
  • Line height adequacy (including for dyslexic users)
  • Line length (measure) comfort — too wide or too narrow
  • Extended all-caps and italic use
  • Letter spacing extremes
  • Text on gradient, image, or pattern backgrounds
  • Heading hierarchy and visual distinction between levels
  • Display type scaling and tracking
  • Bringhurst and Lupton design-craft rules beyond WCAG

Connect as an MCP Client

Claude.ai (web — Pro / Max / Team / Enterprise)

Settings → Integrations → Add MCP Server

https://axcess-mcp-server.fly.dev/mcp

Claude Desktop / Cursor (via mcp-remote)

Add to claude_desktop_config.json (or Cursor MCP settings):

{
  "mcpServers": {
    "axcess": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://axcess-mcp-server.fly.dev/mcp"
      ]
    }
  }
}

Programmatic (AI agents and scripts)

Use @x402/fetch to handle payment automatically:

import { wrapFetchWithPaymentFromConfig } from '@x402/fetch';
import { ExactEvmScheme } from '@x402/evm/exact/client';
import { privateKeyToAccount } from 'viem/accounts';

const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`);
const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: 'eip155:*', client: new ExactEvmScheme(account) }],
});

const response = await fetchWithPayment(
  'https://axcess-mcp-server.fly.dev/mcp',
  {
    method: 'POST',
    headers: {
      'content-type': 'application/json',
      'accept': 'application/json',
      'mcp-protocol-version': '2025-03-26',
    },
    body: JSON.stringify({
      jsonrpc: '2.0',
      id: 1,
      method: 'tools/call',
      params: {
        name: 'evaluate_typography',
        arguments: {
          screen_name: 'Hero Section',
          elements: [
            {
              element_type: 'heading',
              heading_level: 1,
              font_size: 48,
              font_weight: 300,
              line_height: 1.1,
              color_hex: '#888888',
              background_color_hex: '#ffffff',
            },
          ],
        },
      },
    }),
  }
);

See src/scripts/test_paid_tool.ts for a complete working example.


Pricing

Tool Price Status
list_capabilities Free Live
evaluate_typography $0.05 USDC Live
evaluate_accessibility $0.10 USDC Coming soon

Payment: USDC on Base mainnet (eip155:8453) via x402 protocol.


Tools

list_capabilities (free)

Returns available tools, pricing, and rubric categories. No payment required.

evaluate_typography ($0.05)

Evaluates 1–50 typography elements and returns a structured accessibility report.

Input:

{
  screen_name?: string;          // optional label for the report
  elements: Array<{
    element_id?: string;
    element_type: 'heading' | 'body' | 'caption' | 'label' | 'button' | 'display' | 'ui';
    heading_level?: 1 | 2 | 3 | 4 | 5 | 6;
    font_size: number;           // px
    font_weight: number;         // 100–900
    line_height: number;         // multiplier (e.g. 1.5, not px)
    letter_spacing?: number;     // em units
    text_transform?: 'none' | 'uppercase' | 'lowercase' | 'capitalize';
    font_style?: 'normal' | 'italic' | 'oblique';
    content_length?: number;     // character count
    color_hex: string;           // '#rrggbb'
    background_color_hex: string;
    background_type?: 'solid' | 'gradient' | 'image' | 'pattern' | 'video';
    context?: string;            // e.g. 'hero section', 'navigation'
  }>;
}

Output:

{
  screen_name?: string;
  evaluated_at: string;
  element_evaluations: Array<{
    element_id: string;
    element_type: string;
    issues: Array<{
      criterion_id: string;
      criterion: string;
      severity: 'critical' | 'major' | 'minor';
      wcag_reference: string;
      what_scanners_miss: string;
      finding: string;
      recommendation: string;
      passes_wcag_minimum: boolean;
      passes_design_judgment: boolean;
    }>;
    score: number;              // 0–100
    passes: string[];
  }>;
  summary: {
    overall_score: number;
    verdict: 'pass' | 'needs_work' | 'fail';
    total_issues: number;
    by_severity: { critical: number; major: number; minor: number };
  };
  top_issues: Issue[];
}

Deploy to Fly.io (free tier)

Requirements: flyctl, USDC wallet on Base, free CDP API key

fly auth login
fly launch --name axcess-mcp-server --no-deploy

# Set secrets (never committed to git)
fly secrets set PAYMENT_ADDRESS=0x...
fly secrets set X402_NETWORK=eip155:8453
fly secrets set CDP_API_KEY_ID=...
fly secrets set CDP_API_KEY_SECRET=...

fly deploy

Your app will be live at https://axcess-mcp-server.fly.dev.

Update the URL in smithery.yaml and the Connect section above before submitting to registries.

Self-Hosting Locally

Requirements: Node.js 18+

git clone <repo>
cd axcess-mcp-server
cp .env.example .env
# Edit .env with your PAYMENT_ADDRESS, CDP keys, and X402_NETWORK
npm install
npm run build
npm start

Local dev on testnet (no real payments):

PAYMENT_ADDRESS=0x... X402_NETWORK=eip155:84532 npm run dev
EVM_PRIVATE_KEY=0x... npm run test:paid

See .env.example for all configuration options.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured