Other Tools and Integrations Python ★ 162

johannesbrandenburger/typst-mcp

Typst için MCP sunucusu. Markup tabanlı bir dizgi sistemi olan Typst ile LaTeX arasında dönüştürme, Typst söz dizimi doğrulama ve Typst kodundan görüntü oluşturma gibi araçlar sağlar.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "johannesbrandenburger-typst-mcp": {
      "command": "python",
      "args": [
        "-m",
        "typst_mcp"
      ]
    }
  }
}

Typst MCP Server

Typst MCP Server, AI modellerinin Typst ile etkileşim kurmasına yardımcı olan bir MCP (Model Context Protocol) uygulamasıdır. Typst, markup tabanlı bir dizgi sistemidir. Server, LaTeX ve Typst arasında dönüştürme, Typst söz dizimi doğrulama ve Typst kodundan görüntü oluşturma için araçlar sağlar.

Kullanılabilir Araçlar

⚠️ Şu anda tüm işlevsellik tools olarak uygulanmıştır, çünkü Cursor ve VS Code henüz diğer primitifleri işleyebilmektedir.

Server aşağıdaki araçları sağlar:

  1. list_docs_chapters(): Typst dokumentasyonundaki tüm bölümleri listeler.

    • LLM'nin dokumentasyona genel bakış almasını ve okuyacağı bir bölüm seçmesini sağlar.
    • LLM, eldeki göreve bağlı olarak ilgili bölümü seçmelidir.
  2. get_docs_chapter(route): Typst dokumentasyonundan belirli bir bölümü alır.

    • LLM tarafından seçilen bölüme bağlı olarak, bu araç bölümün içeriğini alır.
    • Ayrıca bir seferde birden fazla bölümü almak için get_docs_chapters(routes: list) olarak da kullanılabilir.
  3. latex_snippet_to_typst(latex_snippet): LaTeX kodunu Pandoc kullanarak Typst'e dönüştürür.

    • LLM'ler Typst'ten daha iyi LaTeX yazabilir, bu nedenle bu araç LaTeX kodunu Typst'e dönüştürmeye yardımcı olur.
    • Ayrıca bir seferde birden fazla LaTeX snippet'ini dönüştürmek için latex_snippets_to_typst(latex_snippets: list) olarak da kullanılabilir.
  4. check_if_snippet_is_valid_typst_syntax(typst_snippet): Typst kodunu doğrular.

    • Typst kodunu kullanıcıya göndermeden önce, LLM kodun geçerli olup olmadığını kontrol etmelidir.
    • Ayrıca birden fazla Typst snippet'ini doğrulamak için check_if_snippets_are_valid_typst_syntax(typst_snippets: list) olarak da kullanılabilir.
  5. typst_to_image(typst_snippet): Typst kodunu PNG görüntüsüne işler.

    • Karmaşık Typst çizimleri kullanıcıya göndermeden önce, LLM kodu bir görüntüye işlemeli ve doğru görünüp görünmediğini kontrol etmelidir.
    • Yalnızca çok modlu modeller için ilgilidir.

Başlangıç

  • Bu deposunu klonlayın

    • git clone https://github.com/johannesbrandenburger/typst-mcp.git
  • Typst deposunu klonlayın

    • git clone https://github.com/typst/typst.git
  • Typst deposunda docs oluşturmayı çalıştırın

    • cargo run --package typst-docs -- --assets-dir ../typst-mcp/typst-docs --out-file ../typst-mcp/typst-docs/main.json
      • Typst-mcp deposunun yerel klonavı ile yolu ayarladığınızdan emin olun
      • Bu, main.json ve varlıkları typst-docs klasöründe oluşturacaktır
  • Gerekli bağımlılıkları yükleyin: uv sync (uv'yu henüz yüklemediyseniz yükleyin)

  • Typst'i yükleyin

Server'ı Çalıştırma

Yerel Kurulum

Server scriptini çalıştırın:

python server.py

Veya Claude Desktop'a MCP ile yükleyin:

mcp install server.py

Veya VS Code'daki yeni agent modunu kullanın:

Agent mode: tüm kullanıcılara açık ve MCP'yi destekler

Docker

Docker kurulumu ve kullanımı için, ayrıntılı derleme bilgileri ve talimatlar için DOCKER.md dosyasına bakın.

Platform Konfigürasyonu

Bu MCP server'ı çeşitli AI kodlama platformlarıyla entegre edebilirsiniz. Aşağıda popüler platformlar için konfigürasyon talimatları yer almaktadır:

Claude Desktop

Claude Desktop konfigürasyon dosyanıza (claude_desktop_config.json) aşağıdakileri ekleyin:

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

{
  "mcpServers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}

Veya yerel kurulum için:

{
  "mcpServers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}

Cursor

Projeye özel konfigürasyon için proje kökünüzde .cursor/mcp.json dosyası oluşturun:

{
  "mcpServers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}

Veya global konfigürasyon için ~/.cursor/mcp.json dosyası oluşturun. Yerel kurulum için:

{
  "mcpServers": {
    "typst": {
      "command": "python",
      "args": ["/path/to/typst-mcp/server.py"]
    }
  }
}

Roo Code

Projeye özel konfigürasyon için proje kökünüzde .roo/mcp.json dosyası oluşturun:

{
  "mcpServers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}

Veya Roo Code MCP ayarları görünümü aracılığıyla global ayarları düzenleyin. Yerel kurulum için:

{
  "mcpServers": {
    "typst": {
      "command": "python",
      "args": ["/path/to/typst-mcp/server.py"]
    }
  }
}

OpenCode

Proje kökünüzde opencode.json dosyasını oluşturun veya düzenleyin:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "typst": {
      "type": "local",
      "command": ["docker", "run", "--rm", "-i", 
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ],
      "enabled": true
    }
  }
}

Yerel kurulum için:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "typst": {
      "type": "local",
      "command": ["python", "/path/to/typst-mcp/server.py"],
      "enabled": true
    }
  }
}

Claude Code

MCP server'larını Claude Code ayarları dosyanızda (~/.claude/settings.json) yapılandırın:

{
  "mcpServers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}

Veya yerel kurulum için:

{
  "mcpServers": {
    "typst": {
      "command": "python",
      "args": ["/path/to/typst-mcp/server.py"]
    }
  }
}

VS Code Agent Mode

VS Code'un Agent Mode'u yerel MCP desteğine sahiptir (eklenti gerekli değil):

  1. VS Code ayarlarında Agent Mode'u etkinleştirin (chat.agent.enabled)
  2. Çalışma alanınızda .vscode/mcp.json dosyası oluşturun:
{
  "servers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}

Global konfigürasyon için, MCP: Open User Configuration komutu aracılığıyla kullanıcı profilinize ekleyin.

Typst Dokumentasyonunun JSON Schema'sı

⚠️ Typst dokumentasyonunun şeması kararlı değildir ve herhangi bir zamanda değişebilir. Şema, Typst kaynak kodundan oluşturulur ve tam veya doğru olması garantili değildir. Şema değişirse, bu depo güncellenmesi gerekir, böylece docs işlevselliği yeniden çalışır.

Benzer MCP sunucuları

Daha fazla: Other Tools and Integrations →