deaf-first-platform

MCP Server Documentation

Overview

The DEAF-FIRST Platform includes five Model Context Protocol (MCP) servers that provide programmatic access to various services through a standardized interface.

mbtq://tools/deafauth — identity verification protocol 
∙	mbtq://tools/pinksync — accessibility protocol 
∙	mbtq://tools/fibronrose — trust query protocol 
∙	mbtq://tools/magicians — agent dispatch (recommend-only, enforced at protocol level)

Transport: stdio locally, Cloudflare Worker SSE at edge — with PinkSync as the reliability layer in between.

Available MCP Servers

1. DeafAUTH MCP Server

Service: Authentication and User Management
Location: services/deafauth/dist/mcp-server.js

Tools

Usage Example

# Build and run
npm run build --workspace=services/deafauth
node services/deafauth/dist/mcp-server.js

2. PinkSync MCP Server

Service: Real-time Data Synchronization
Location: services/pinksync/dist/mcp-server.js

Tools

Usage Example

npm run build --workspace=services/pinksync
node services/pinksync/dist/mcp-server.js

3. FibonRose MCP Server

Service: Mathematical Optimization Engine
Location: services/fibonrose/dist/mcp-server.js

Tools

Usage Example

npm run build --workspace=services/fibonrose
node services/fibonrose/dist/mcp-server.js

4. Accessibility Nodes MCP Server

Service: Modular Accessibility Features
Location: services/accessibility-nodes/dist/mcp-server.js

Tools

Usage Example

npm run build --workspace=services/accessibility-nodes
node services/accessibility-nodes/dist/mcp-server.js

5. AI MCP Server

Service: AI-Powered Workflows
Location: ai/dist/mcp-server.js

Tools

Usage Example

npm run build --workspace=ai
node ai/dist/mcp-server.js

Configuration

MCP Configuration File

The mcp-config.json file provides configuration for all MCP servers:

{
  "mcpServers": {
    "deafauth": {
      "command": "node",
      "args": ["services/deafauth/dist/mcp-server.js"],
      "description": "DeafAUTH - Accessible authentication service"
    },
    // ... other servers
  }
}

Environment Variables

Each MCP server may require specific environment variables:

DeafAUTH:

PinkSync:

AI Services:

Running MCP Servers

Build All Services

npm run build

Run Individual MCP Server

# DeafAUTH
npm run mcp --workspace=services/deafauth

# PinkSync
npm run mcp --workspace=services/pinksync

# FibonRose
npm run mcp --workspace=services/fibonrose

# Accessibility Nodes
npm run mcp --workspace=services/accessibility-nodes

# AI Services
npm run mcp --workspace=ai

Run with MCP Client

MCP servers communicate via stdio. To use them with an MCP client:

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';

const transport = new StdioClientTransport({
  command: 'node',
  args: ['services/deafauth/dist/mcp-server.js']
});

const client = new Client({
  name: 'my-client',
  version: '1.0.0',
}, {
  capabilities: {}
});

await client.connect(transport);

// List available tools
const tools = await client.listTools();

// Call a tool
const result = await client.callTool({
  name: 'authenticate_user',
  arguments: {
    username: 'user@example.com',
    password: 'password123'
  }
});

Integration with Claude Desktop

To use these MCP servers with Claude Desktop, add the following to your Claude configuration:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "deafauth": {
      "command": "node",
      "args": ["/path/to/DEAF-FIRST-PLATFORM/services/deafauth/dist/mcp-server.js"]
    },
    "pinksync": {
      "command": "node",
      "args": ["/path/to/DEAF-FIRST-PLATFORM/services/pinksync/dist/mcp-server.js"]
    },
    "fibonrose": {
      "command": "node",
      "args": ["/path/to/DEAF-FIRST-PLATFORM/services/fibonrose/dist/mcp-server.js"]
    },
    "accessibility-nodes": {
      "command": "node",
      "args": ["/path/to/DEAF-FIRST-PLATFORM/services/accessibility-nodes/dist/mcp-server.js"]
    },
    "ai": {
      "command": "node",
      "args": ["/path/to/DEAF-FIRST-PLATFORM/ai/dist/mcp-server.js"]
    }
  }
}

Development

Adding a New Tool

To add a new tool to an MCP server:

  1. Define the tool schema in the tools array
  2. Implement the tool handler in the CallToolRequestSchema handler
  3. Add input validation using Zod
  4. Return properly formatted responses

Example:

const tools: Tool[] = [
  {
    name: 'my_new_tool',
    description: 'Description of what this tool does',
    inputSchema: {
      type: 'object',
      properties: {
        param1: { type: 'string', description: 'Parameter description' }
      },
      required: ['param1']
    }
  }
];

// In the handler
case 'my_new_tool': {
  const { param1 } = MyToolSchema.parse(args);
  // Tool implementation
  return {
    content: [
      {
        type: 'text',
        text: JSON.stringify({ result: 'success' })
      }
    ]
  };
}

Testing MCP Servers

Test MCP servers by running them and sending test inputs:

# Build the server
npm run build --workspace=services/deafauth

# Run in test mode (manual testing via stdio)
echo '{"method":"tools/list","id":1}' | node services/deafauth/dist/mcp-server.js

Troubleshooting

Server won’t start

Tool not found

Connection issues

Architecture

Each MCP server:

  1. Uses the @modelcontextprotocol/sdk for standardized communication
  2. Implements stdio transport for IPC
  3. Validates inputs using Zod schemas
  4. Returns structured JSON responses
  5. Handles errors gracefully

Security Considerations

Support

For issues or questions:

License

MIT License - See LICENSE file for details