LaTeX to MathML MCP Server logo

LaTeX to MathML MCP Server

by HappyAny

This is a Model Context Protocol (MCP) server that converts LaTeX mathematical expressions to MathML format. It provides both tool-based conversion and resource-based access.

View on GitHub

Last updated: N/A

LaTeX to MathML MCP Server

A Model Context Protocol (MCP) server that converts LaTeX mathematical expressions to MathML format. And this README.md is written by DeepSeek V3.

Features

  • Converts LaTeX mathematical expressions to MathML
  • Provides both tool-based conversion and resource-based access
  • Standard MCP protocol implementation for easy integration
  • Lightweight and fast conversion using MathJax-node

Installation

  1. Clone this repository:

    git clone https://github.com/HappyAny/latex-mathml-mcp-server.git
    cd latex-mathml-mcp-server
    
  2. Install dependencies:

    npm install mathjax-node
    npm install @modelcontextprotocol/sdk
    

Usage

Starting the Server

Run the server using Node.js:

node index.js

The server will start and listen for MCP client connections via stdio transport.

Available Services

  1. Tool-based Conversion:

    • Tool name: latex2mathml
    • Input: LaTeX string
    • Output: MathML string
  2. Resource-based Access:

    • Resource URI pattern: mathml://{latex_expression}
    • Returns: MathML representation of the LaTeX expression

Client Integration

To connect to this server from an MCP client, add the following configuration to your client's settings:

{
    "mcpServers": {
        "latex-mathml-server": {
            "isActive": true,
            "command": "node",
            "args": [
                "path_to_your_server/index.js"
            ]
        }
    }
}

Replace path_to_your_server/index.js with the actual path to the server script.

API Details

Tool: latex2mathml

Request Format:

{
    "latex": "your_LaTeX_expression"
}

Example Request:

{
    "latex": "E = mc^2"
}

Response Format:

{
    "content": [
        {
            "type": "text",
            "text": "<math xmlns=\"http://www.w3.org/1998/Math/MathML\">...</math>"
        }
    ]
}

Resource: mathml://{id}

Access mathematical expressions as resources using the URI pattern:

mathml://E%20%3D%20mc%5E2

(Note: LaTeX expressions should be URL-encoded in the resource URI)

Development

Dependencies

  • @modelcontextprotocol/sdk: MCP server SDK
  • mathjax-node: LaTeX to MathML conversion
  • zod: Input validation

Building

This is a Node.js project. Simply clone and install dependencies as shown in the Installation section.

License

MIT