MyNixOS website logo
Description

Core types and protocol definitions for the Model Context Protocol (MCP)

This library provides the core type definitions and JSON-RPC protocol layer for the Model Context Protocol (MCP). MCP is a protocol that enables seamless communication between AI models and external tools, resources, and services.

This package contains only the pure protocol types with minimal dependencies, making it suitable for building both clients and servers on any framework. For a ready-made Servant-based server, see the mcp package.

mcp-types — MCP protocol types for Haskell

mcp-types on Hackage

Core type definitions and JSON-RPC protocol layer for the Model Context Protocol (MCP).

This package contains only the pure protocol types with minimal dependencies, Implements MCP protocol version 2025-06-18, making it suitable for building both clients and servers on any framework. For a ready-made Servant-based server, see the mcp package.

Modules

  • MCP.Types — Core MCP data types: Content, Resource, Tool, Prompt, Capability, Implementation, and more.
  • MCP.Protocol — JSON-RPC 2.0 message wrappers, all client/server request/response types, notification types, and protocol constants. Re-exports the jsonrpc transport types.
  • MCP.Aeson — Custom Aeson parsing options used internally.

Install

build-depends:
    base
  , aeson
  , mcp-types

MCP Protocol Support

OperationDescription
initializeStart session and negotiate capabilities
pingHealth check
resources/listList available resources
resources/templates/listList resource templates
resources/readRead resource contents
resources/subscribeSubscribe to resource updates
resources/unsubscribeUnsubscribe from resource updates
prompts/listList available prompts
prompts/getGet prompt with arguments
tools/listList available tools
tools/callExecute a tool
completion/completeAuto-completion with context
logging/setLevelSet logging level
sampling/createMessageRequest LLM sampling
roots/listList client root directories
elicitation/createRequest user input via forms

License

MPL-2.0

Metadata

Version

0.1.1

License

Platforms (80)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows