mcpField
A
Axcess

Axcess

Local
github.com/sicxzDeveloper Tools0Updated 31w ago

About Axcess

Axcess is a paid MCP server for designers and developers evaluating typography accessibility. It assesses design-related text criteria, including font-weight-aware contrast, spacing, line length, and hierarchy, and returns a structured report.

Key features

  1. 01Evaluate 1–50 typography elements
  2. 02Assess contrast with font-weight context
  3. 03Check text size and line height
  4. 04Review line length, casing, and spacing
  5. 05Assess text on varied backgrounds
  6. 06Return structured accessibility reports

Use cases

  1. 01Review typography in a screen design
  2. 02Identify accessibility issues missed by automated scanners

MCP support

Axcess exposes `list_capabilities` and `evaluate_typography` tools to MCP clients. Typography evaluations cost $0.05 USDC via x402 on Base mainnet.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"axcess": {
"command": "npx",
"args": [
"-y",
"mcp-remote"
]
}
}
}
Run commandnpx -y mcp-remote

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmcp-remote

Tools

3

Saved tool list · updated 3w ago

This tool takes no parameters.

Details

From the project 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

ToolPriceStatus
list_capabilitiesFreeLive
evaluate_typography$0.05 USDCLive
evaluate_accessibility$0.10 USDCComing 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.