7134-easy-mcp-server

easynet-world/7134-easy-mcp-server

3.2

If you are the rightful owner of 7134-easy-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Easy MCP Server is a dynamic API framework that simplifies the integration of MCP tools and OpenAPI specifications.

npm version License: MIT AI-Ready MCP Compatible

Write a handler once, get

  • MCP tools
  • REST endpoints
  • n8n nodes
  • Swagger/OpenAPI automatically.

1. What Is It?

easy-mcp-server watches the api/ folder and turns every file into:

You provideYou get automatically
api/foo/get.ts style handlersMCP tools (api__foo__get)
REST routes GET /foo
Request/Response classesMCP tools and OpenAPI schema + Swagger UI
npm run n8n:generaten8n nodes that mirror your APIs

Everything hot-reloads and ships with zero config.


2. Quick Start

npx easy-mcp-server init my-project
cd my-project
./start.sh

Stop the stack with ./stop.sh.


3. Define an Endpoint

File Name = Route (Examples)

FileMethodRoute
api/users/get.tsGET/users
api/users/post.tsPOST/users
api/users/[id]/get.tsGET/users/:id

Minimal Handler Template

Request block

// @description('Incoming payload')
class Request {
  // @description('User name')
  name: string;
  // @description('User email')
  email: string;
}

Response block

// @description('Response payload')
class Response {
  success: boolean;
  data: { id: string; name: string; email: string };
}

Handler block

// @summary('Create a user')
// @tags('users')
function handler(req: any, res: any) {
  const { name, email } = req.body;
  if (!name || !email) {
    res.status(400).json({ success: false, error: 'Name and email required' });
    return;
  }

  res.status(201).json({
    success: true,
    data: { id: '123', name, email }
  });
}

Export block

module.exports = handler;
export {};

Annotations (@description, @summary, @tags) feed OpenAPI docs and MCP tool metadata automatically.


4. System Architecture

See for detailed diagrams and flow explanations.


5. MCP Bridge (Optional)

Combine Other MCP Servers via mcp-bridge.json

{
  "mcpServers": {
    "chrome": {
      "command": "npx",
      "args": ["-y", "chrome-mcp-server"]
    }
  }
}

Hot reload keeps bridge tools and your API tools available on port 8888. Disable any bridge by adding "disabled": true.


6. Operations

CommandPurpose
./start.shLaunch REST + MCP servers
./stop.shStop them
npm run n8n:generateRefresh n8n nodes
npm testRun tests (where configured)
Env varDefaultNotes
EASY_MCP_SERVER_PORT8887REST port
EASY_MCP_SERVER_MCP_PORT8888MCP port
EASY_MCP_SERVER_LOG_LEVELinfodebug, info, warn, error
EASY_MCP_SERVER_API_PATH./apiFolder to watch
EASY_MCP_SERVER_HOST0.0.0.0Host binding

7. Resources

8. Support & Contributions

TopicDetails
Questions / Enterprise Supportinfo@easynet.world
LicensedMIT
MaintainerBoqiang Liang (boqiang.liang@easynet.world)