Typst MCP Server

Provides Typst documentation to MCP clients like Claude Code.

Typst MCP Server

A Model Context Protocol (MCP) server that provides Typst documentation to Claude Code and other MCP clients.

Prerequisites

  • Python 3.12 or higher
  • uv package manager

Quickstart

Run the following command to add the Typst MCP server to your project-scope Claude Code configuration:

claude mcp add typst-mcp -s project -- uv run --with "git+https://github.com/FujishigeTemma/typst-mcp" typst-mcp serve

Or manually add it to your .mcp.json configuration file:

{
  "mcpServers": {
    "typst-mcp": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "run",
        "--with",
        "git+https://github.com/FujishigeTemma/typst-mcp"
        "typst-mcp",
        "serve"
      ],
      "env": {}
    },
  }
}

2. Start using Typst capabilities

Once configured, you can ask Claude Code to help you with Typst documentation. For example:

Add a Tabel of Contents to index.typ
Explain this Typst syntax: #set page(paper: "a4", margin: 2cm)

Documentation

Tools

typst_search

Search through Typst documentation for specific topics, functions, or syntax.

Parameters:

  • query (string): Search term or phrase to find in Typst documentation

Returns: List of relevant documentation sections with titles, descriptions, and file paths.

Example:

{
  "name": "typst_search",
  "arguments": {
    "query": "table formatting"
  }
}

typst_browse

Browse the Typst documentation structure as a hierarchical tree.

Parameters:

  • depth (integer, optional): Maximum depth to traverse (default: 0 for full depth)
  • sub_directory (string, optional): Subdirectory to explore (default: "." for root)

Returns: Tree structure of documentation files and directories.

Example:

{
  "name": "typst_browse",
  "arguments": {
    "depth": 2,
    "sub_directory": "reference"
  }
}

typst_read

Read the content of a specific Typst documentation file.

Parameters:

  • path (string): Relative path to the documentation file

Returns: Full content of the specified documentation file in markdown format.

Example:

{
  "name": "typst_read",
  "arguments": {
    "path": "reference/layout/table.md"
  }
}

Development

Setting up development environment

git clone https://github.com/FujishigeTemma/typst-mcp.git
cd typst-mcp
uv sync --dev

Running tests

uv run --frozen pytest

Code formatting

uv run --frozen ruff format .
uv run --frozen ruff check . --fix

Type checking

uv run --frozen ty

License

MIT License - see LICENSE file for details.

Related Projects

Related Servers