Haskell
An Awesome MCP Server Framework for Haskell
What is Haskell?
Haskell is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to awesome mcp server framework for haskell
An Awesome MCP Server Framework for Haskell
This server falls under the Developer Tools category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- An Awesome MCP Server Framework for Haskell
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx haskellConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Haskell
The Haskell MCP Server is a framework library for building Model Context Protocol servers in Haskell, supporting both STDIO and HTTP transports. It provides type-safe abstractions for defining prompts, resources, and tools that AI agents can call, with Template Haskell macros to reduce boilerplate. Functional programming teams can use this library to expose Haskell business logic directly to LLMs through a well-typed, composable MCP interface.
Prerequisites
- GHC (Glasgow Haskell Compiler) 9.x or later
- Cabal or Stack build tool
- Docker (optional, for containerized deployment)
- An MCP-compatible client such as Claude Desktop
Add mcp-server to your Cabal dependencies
In your .cabal project file, add mcp-server to the build-depends field of your library or executable stanza.
build-depends:
base ^>=4.18
, mcp-serverDefine your server info and handlers
Create your server info record and use Template Haskell macros to derive type-safe handlers for tools, prompts, and resources from your algebraic data types.
handlers = McpServerHandlers
{ prompts = Just $(derivePromptHandler ''MyPrompt 'handlePrompt)
, resources = Just $(deriveResourceHandler ''MyResource 'handleResource)
, tools = Just $(deriveToolHandler ''MyTool 'handleTool)
}Run the server in STDIO mode
Launch the server using runMcpServerStdio for standard MCP client compatibility. This is the default transport for Claude Desktop integration.
main :: IO ()
main = runMcpServerStdio serverInfo handlersBuild a Docker image for deployment
Build a Docker image so the MCP client can launch the server via docker run without requiring a local Haskell toolchain.
docker build -t haskell-mcp-server .Configure Claude Desktop to use the server
Add the Docker-based server to your Claude Desktop configuration so the client can launch and communicate with it.
{
"mcpServers": {
"simple-example": {
"command": "docker",
"args": ["run", "-i", "--entrypoint=/usr/local/bin/simple-example", "haskell-mcp-server"]
}
}
}Haskell Examples
Client configuration
Claude Desktop configuration for launching the Haskell MCP server via a Docker container.
{
"mcpServers": {
"haskell-mcp": {
"command": "docker",
"args": ["run", "-i", "--entrypoint=/usr/local/bin/simple-example", "haskell-mcp-server"]
}
}
}Prompts to try
Once a Haskell MCP server exposing custom tools is connected, you can invoke those tools through natural language.
- "Call the calculate tool with input 42"
- "List all available resources from the Haskell server"
- "Use the greet prompt with name 'Alice'"
- "What tools does the Haskell MCP server expose?"Troubleshooting Haskell
Template Haskell macros fail to compile
Ensure you have enabled the TemplateHaskell language extension in your .cabal file or source file with {-# LANGUAGE TemplateHaskell #-}. Also confirm your data types derive the necessary instances expected by the macro.
Docker container exits immediately with no output
The STDIO transport requires the container stdin to remain open. Make sure you pass the -i flag to docker run (not -it, as TTY allocation is not needed for MCP). The entrypoint path must match the compiled binary location inside the image.
HTTP transport is not accepting connections
When using runMcpServerHttpWithConfig, verify the httpPort and httpHost values match what your client expects. Default port is 8080 at /mcp — set httpEndpoint if your client requires a different path.
Frequently Asked Questions about Haskell
What is Haskell?
Haskell is a Model Context Protocol (MCP) server that awesome mcp server framework for haskell It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Haskell?
Follow the installation instructions on the Haskell GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with Haskell?
Haskell works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Haskell free to use?
Yes, Haskell is open source and available under the BSD-3-Clause license. You can use it freely in both personal and commercial projects.
Haskell Alternatives — Similar Developer Tools Servers
Looking for alternatives to Haskell? Here are other popular developer tools servers you can use with Claude, Cursor, and VS Code.
Ecc
★ 188.2kThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Javaguide
★ 155.8kJava 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Gemini CLI
★ 104.5kA secure MCP server that wraps the Google Gemini CLI, allowing clients to query Gemini models using local OAuth sessions without requiring an API key. It provides tools for model interaction and diagnostics with built-in protection against command in
Awesome MCP Servers
★ 87.3k⭐ Curated list of Model Context Protocol (MCP) servers - tools that extend Claude Desktop, Cursor, Windsurf, and other MCP clients with custom capabilities.
MCP Servers
★ 86.0kModel Context Protocol Servers
CC Switch
★ 77.5kA cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
Browse More Developer Tools MCP Servers
Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Haskell in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Haskell?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.