A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Haskell server/client for MCP (Model Context Protocol)
A Haskell implementation of the Model Context Protocol (MCP).
MCP-Haskell (hs-mcp) provides a Haskell implementation of the Model Context Protocol, allowing Haskell applications to expose tools, resources, and prompts to MCP-compatible clients like Claude.
Key features:
# Clone the repository
git clone github.com:buecking/hs-mcp.git
cd hs-mcp
# direnv
# echo 'use flake' > .envrc
direnv allow
# nix
nix develop
# Build the project
cabal build
import Network.MCP.Server
import Network.MCP.Types
import Network.MCP.Server.StdIO
main :: IO ()
main = do
-- Create server
let serverInfo = Implementation "my-server" "1.0.0"
serverCapabilities = ServerCapabilities
{ resourcesCapability = Just $ ResourcesCapability True
, toolsCapability = Just $ ToolsCapability True
, promptsCapability = Nothing
}
server <- createServer serverInfo serverCapabilities
-- Register resources (optional)
let resource = Resource
{ resourceUri = "my://resource"
, resourceName = "My Resource"
, resourceDescription = Just "Description"
, resourceMimeType = Just "text/plain"
, resourceTemplate = Nothing
}
registerResources server [resource]
-- Register resource read handler
registerResourceReadHandler server $ \request -> do
-- Implement resource reading logic
...
-- Register tools (optional)
let tool = Tool
{ toolName = "my-tool"
, toolDescription = Just "My tool"
, toolInputSchema = "{...}" -- JSON schema
}
registerTools server [tool]
-- Register tool call handler
registerToolCallHandler server $ \request -> do
-- Implement tool execution logic
...
-- Start the server with StdIO transport
runServerWithSTDIO server
The project includes an example echo server that demonstrates the MCP functionality:
# Build and run the example server
cabal run mcp-echo-server
You can test it with the MCP Inspector or Claude Desktop.
Run the test suite:
cabal test
This implementation follows the Model Context Protocol specification and is compatible with:
src/Network/MCP/Types.hs - Core MCP typessrc/Network/MCP/Transport/ - Transport implementationssrc/Network/MCP/Server/ - Server implementationExamples/ - Example implementationsTest/ - Test suiteContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the BSD-3-Clause License - see the LICENSE file for details.
MCP server integration for DaVinci Resolve Studio
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots