easyMcp
@wenb1n-dev
Enable developers to quickly build an MCP server service framework that supports all Model Context Protocol (MCP) transfer modes (STDIO, SSE, Streamable Http)。使开发者快速的搭建一个支持mcp协议所有传输方式(STDIO、SSE、StreamableHttp)的mcp server服务框架
Overview
What is easyMcp?
easyMcp is a framework for quickly building an extensible MCP (Model Context Protocol) server. It supports all MCP transmission modes: STDIO, SSE, and Streamable HTTP. The project is aimed at developers who need to create custom tools for MCP clients such as Cursor or Cline.
How to use easyMcp?
First, optionally define configuration in src/config/.env. Second, create your own tool class in src/handles by inheriting from BaseHandler and implementing the required methods. Then start the server with uv run src/server.py (with optional flags --sse or --stdio for the respective modes). Finally, add the appropriate MCP JSON configuration to your client.
Key features of easyMcp
- Supports STDIO, SSE, and Streamable HTTP transports.
- Two-step setup: optional config file + custom tool creation.
- Tool classes inherit a simple
BaseHandlerinterface. - Uses
uvfor dependency management and runtime. - Example included for MySQL database integration.
Use cases of easyMcp
- Create a custom MCP tool that queries a MySQL database.
- Build a lightweight MCP server for local or remote AI assistants.
- Extend an existing MCP client (e.g., Cursor, Cline) with new capabilities.
FAQ from easyMcp
What is easyMcp?
easyMcp is a framework to quickly build an extensible MCP server supporting all transmission modes (STDIO, SSE, Streamable HTTP).
What runtime or dependencies does easyMcp require?
The project requires uv (a Python package manager) to install dependencies and run the server. The source code is in Python.
How do I add my own tool to easyMcp?
Create a new Python file in src/handles, inherit from BaseHandler, define name, description, get_tool_description, and run_tool methods, then import the class in __init__.py.
Where do I store configuration data?
Configuration is stored in a .env file at src/config/.env. Environment variables can also be set in the client’s MCP JSON block (especially for STDIO mode).
What transport modes does easyMcp support?
It supports all three MCP transport modes: STDIO, SSE, and Streamable HTTP. The mode is selected via command-line flags when starting the server.