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

Máy chủ liên quan

NotebookLM Web Importer

Nhập trang web và video YouTube vào NotebookLM chỉ với một cú nhấp. Được tin dùng bởi hơn 200.000 người dùng.

Cài đặt tiện ích Chrome