Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AIFire in da houseCheck it out free

effect-mcp

MCP.Pizza Chef: ghardin1314

Effect MCP is a TypeScript-based Model Context Protocol server implementation leveraging the Effect library for type safety and functional programming. It supports JSON-RPC communication, stdio transport, and seamless tool registration and execution, enabling AI models to interact with external tools and resources reliably and efficiently. This server is ideal for developers seeking a robust, type-safe MCP server with integration into Effect's AI toolkit.

Use This MCP server To

Implement type-safe MCP server for AI tool integration Enable JSON-RPC communication between AI models and tools Register and execute external tools via MCP Use stdio transport for MCP server communication Leverage Effect library for functional programming in MCP Integrate MCP server with Effect's AI toolkit Develop AI-enhanced workflows with robust context handling

README

Effect MCP

An implementation of the Model Context Protocol (MCP) using the Effect library.

Overview

Effect MCP provides a TypeScript implementation of the Model Context Protocol, which enables AI models to interact with external tools and resources. This implementation leverages the Effect library for robust, type-safe, and functional programming patterns.

Features

  • JSON-RPC based communication
  • Type-safe API using Effect and Schema
  • Stdio transport implementation
  • Tool registration and execution
  • Integration with Effect's AI toolkit

Installation

pnpm install

Usage

See the examples/basic directory for a simple example of how to use the MCP server.

Project Structure

  • packages/client: Core MCP client implementation
  • packages/server: Core MCP server implementation
  • examples/client: Basic examples of using the MCP server compared with vanilla TS MCP client
  • examples/server: Basic examples of using the MCP server compared with vanilla TS MCP server

⚠️ Active Development

This project is in active development and is not yet ready for production use. Many features are still being implemented.

Also MCP itself is still early and under development. There is currently a somewhat implicit 1:1 relationship between client and server. In my opinion this is likely to change and will require much refactoring. Hopefully this wont impact the surface API too much.

Implementation Checklist

MCP Server

  • Basic JSON-RPC message handling
  • Stdio transport implementation
  • SSE transport implementation
  • Server initialization
  • Ping implementation
  • Add comprehensive error handling
  • Add tests
  • Ensure error codes match Spec

MCP Client -> Server Requests

  • Ping
  • Initialize
  • Complete
  • Set Log Level
  • Get Prompt
  • List Prompts
  • List Resources
  • List Resource Templates
  • Read Resource
  • Notification Subscribe
  • Notification Unsubscribe
  • List Tools
  • Call Tool

MCP Server -> Client Requests

  • Ping
  • Create Message
  • List Roots

MCP Client

  • Client Stdio Transport
  • Client SSE Transport

License

MIT

effect-mcp FAQ

How do I install Effect MCP server?
Install via pnpm with the command `pnpm install` in the project directory.
What communication protocol does Effect MCP use?
It uses JSON-RPC for communication between the MCP client and server.
Is Effect MCP type-safe?
Yes, it uses the Effect library and Schema for strong type safety in APIs.
Can I register custom tools with Effect MCP?
Yes, the server supports tool registration and execution.
What transport methods does Effect MCP support?
It supports stdio transport for communication.
Does Effect MCP integrate with other AI toolkits?
Yes, it integrates with Effect's AI toolkit for enhanced functionality.
What programming language is Effect MCP implemented in?
It is implemented in TypeScript using the Effect library.
Where can I find usage examples?
Usage examples are available in the `examples/basic` directory of the repository.