README.md•2.45 kB
# 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:
```bash
git clone https://github.com/HappyAny/latex-mathml-mcp-server.git
cd latex-mathml-mcp-server
```
2. Install dependencies:
```bash
npm install mathjax-node
npm install @modelcontextprotocol/sdk
```
## Usage
### Starting the Server
Run the server using Node.js:
```bash
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:
```json
{
"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**:
```json
{
"latex": "your_LaTeX_expression"
}
```
**Example Request**:
```json
{
"latex": "E = mc^2"
}
```
**Response Format**:
```json
{
"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