Unison MCP Server
About
An MCP server for the Unison language, allowing AI assistants to interact with the Unison Codebase Manager (UCM).
Details
- Author
- mizchi
- Categories
- Developer Tools
Jump to
Setup
Install Unison MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/mizchi/unison-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
An MCP server for the Unison language, allowing AI assistants to interact with the Unison Codebase Manager (UCM).
Unison言語のModel Context Protocol (MCP)サーバー実装です。AIアシスタントがUCM(Unison Codebase Manager)を操作できるようにします。
このプロジェクトは、UnisonコードベースとやりとりするためのMCPインターフェースを提供し、AIアシスタントが以下の操作を実行できるようにします:
- 定義の検索
- コードの追加と更新
- Unison式の実行
- プロジェクトとブランチの管理
- 依存関係の分析
# macOS (Homebrew) brew install unisonweb/unison/unison-language # その他のOS # https://www.unison-lang.org/install/ から最新版をダウンロード
# Stack(Haskellビルドツール)のインストール curl -sSL https://get.haskellstack.org/ | sh # または wget -qO- https://get.haskellstack.org/ | sh
git clone https://github.com/yourusername/unison-mcp-server.git cd unison-mcp-server
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) または対応するパスに以下を追加:
{ "mcpServers": { "unison": { "command": "/path/to/unison-mcp-server/.stack-work/install/.../bin/unison-mcp-server-exe", "args": ["/path/to/your/unison/project"] } } }
# ビルドしたバイナリのパスを確認 stack path --local-install-root # Claude MCP に追加 claude mcp add unison /path/to/binary/unison-mcp-server-exe /path/to/your/unison/project
# ターミナルで cd /path/to/your/unison/project ucm # UCM内で .myproject> project.create myproject
# MCPサーバーのディレクトリから起動 cd /path/to/unison-mcp-server ucm # または、どこからでも --codebase オプションを使用 ucm --codebase /path/to/unison-mcp-server/.unison
-- 基本的な関数定義 id : a -> a id x = x -- リスト操作 head : [a] -> Optional a head = cases [] -> None x +: _ -> Some x -- 高階関数 map : (a -> b) -> [a] -> [b] map f = cases [] -> [] x +: xs -> f x +: map f xs -- フィルター関数 filter : (a -> Boolean) -> [a] -> [a] filter p = cases [] -> [] x +: xs -> if p x then x +: filter p xs else filter p xs
┌─────────────┐ JSON-RPC ┌──────────────┐ │ AI Assistant│ ←───────────────→ │ MCP Server │ └─────────────┘ └──────┬───────┘ │ v ┌─────────────┐ │ UCM │ └─────────────┘
- mcp__unison__ucm_find- 定義の検索
- mcp__unison__ucm_add- 新しい定義の追加
- mcp__unison__ucm_run- Unison式の実行
- mcp__unison__ucm_view- 定義のソースコード表示
- mcp__unison__ucm_update- 既存定義の更新
- mcp__unison__ucm_ls- 名前空間の内容一覧
- mcp__unison__ucm_delete- 定義の削除
- mcp__unison__ucm_test- テストの実行(scratch.uがない場合は自動生成)
- mcp__unison__ucm_dependencies- 定義の依存関係表示
- mcp__unison__ucm_list_projects- プロジェクト一覧
- mcp__unison__ucm_switch_project- プロジェクトの切り替え
- mcp__unison__ucm_project_create- 新規プロジェクト作成
- mcp__unison__ucm_list_branches- ブランチ一覧
- mcp__unison__ucm_switch_branch- ブランチの切り替え
- mcp__unison__ucm_branch_create- 新規ブランチ作成
- mcp__unison__ucm_merge- ブランチのマージ
- mcp__unison__ucm_lib_install- ライブラリのインストール(例: @unison/base)
- mcp__unison__ucm_share_search- Unison Shareのライブラリ情報を表示(実際の検索は未対応)
- mcp__unison__ucm_share_install- Unison Shareから特定バージョンをインストール
- インストール後:mcp__unison__ucm_lsで "lib" を指定して確認
- 命名規則: @owner/library → lib.owner_library_version
- mcp__unison__ucm_command- 任意のUCMコマンドを直接実行
- 低レベルツール:使用前にコマンド構文と型要件を確認してください
- UCMからのエラーはそのまま返されます
- 例:{"command": "pull", "args": ["@unison/base/main"]}
- 例:{"command": "fork", "args": ["testUuid", "myTests.uuid"]}
- 将来追加されるUCMコマンドにも対応可能
-- baseライブラリをインストール後 use lib.unison_base_3_21_0 -- UUIDの生成 testUuid : '{IO, Exception} () testUuid = do uuid = Uuid.parse "550e8400-e29b-41d4-a716-446655440000" printLine (Uuid.toText uuid) -- nanoidライブラリをインストール後 use lib.hojberg_nanoid_1_0_0 use lib.hojberg_nanoid_1_0_0.NanoId -- NanoIDの生成 testNanoId : '{IO, Exception} () testNanoId = do id = nanoid() printLine (NanoId.toText id)
# PATHにUCMがあるか確認 which ucm # なければPATHに追加 export PATH=$PATH:/path/to/unison/bin
# 依存関係を更新 stack update # クリーンビルド stack clean stack build
- バイナリパスが正しいか確認
- プロジェクトディレクトリが存在するか確認
- UCMが正常に動作するか確認
- src/Unison/MCP/Server.hs- MCPサーバーの実装
- src/Unison/MCP/Protocol.hs- MCPプロトコルの型定義
- src/Unison/MCP/Tools.hs- ツールの実装
- src/Unison/MCP/UCM.hs- UCM統合レイヤー
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
Create crafted UI components inspired by the best 21st.dev design engineers.
Bring agent evaluations, observability, and synthetic test set generation directly into your IDE for free with Galileo's new MCP server
An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively .
MCP server for AI Diagram Maker — generate beautiful software engineering diagrams directly inside Cursor, Claude Desktop, Claude Code, or any MCP-compatible AI agent
ALAPI MCP Tools,Call hundreds of API interfaces via MCP
AI-powered SVG animation generator that transforms static files into animated SVG components using the Allyson platform
MCP server that gives AI assistants on-demand access to 1,500+ amCharts docs, ~300 code examples, and 1000+ class API references.
APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.
One shared context layer for AI agents and humans — live API specs, DB schemas, and versioned contracts across repos so every agent and teammate works from the same source of truth.
Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





