Cmmv Mcp
@cmmvio
Model Context Protocol (MCP) module for CMMV
Overview
What is Cmmv Mcp?
Cmmv Mcp (the @cmmv/mcp module) implements the Model Context Protocol (MCP) for CMMV applications, enabling standardized interactions between LLMs and your application. It provides a structured interface for defining tools callable by AI models in a standard format.
How to use Cmmv Mcp?
Install via pnpm add @cmmv/mcp, configure the module in .cmmv.config.cjs with settings like mcp.port, mcp.transport, and integrateWithHttp, then create tool handlers using the @MCPTool decorator with Zod validation schemas. Run the application in standalone or integrated mode. For example, start the server and call tools via POST /mcp with JSON-RPC payloads.
Key features of Cmmv Mcp
- LLM Integration for bidirectional communication with language models.
- Flexible Transport via HTTP (StreamableHTTP), SSE, or Stdio.
- API Decorator-Based tool registration with
@MCPTool. - Validation with Zod for input schemas.
- Connection Management for multiple concurrent sessions.
- Modern SDK using StreamableHTTPServerTransport.
- Health Monitoring and tools listing endpoints.
- CORS support and DNS rebinding protection.
Use cases of Cmmv Mcp
- Expose custom application functions as tools for AI assistants.
- Integrate MCP into an existing CMMV HTTP server on the same port.
- Build a standalone MCP server for LLM interactions.
- Create secure, validated endpoints for tool calls with JWT authentication.
FAQ from Cmmv Mcp
What dependencies does Cmmv Mcp require?
It requires @cmmv/core, @cmmv/http, and the @modelcontextprotocol/sdk package (installed automatically).
Which transport protocols are supported?
HTTP via StreamableHTTP, SSE (legacy), and Standard I/O (stdio). Configured via the mcp.transport setting.
How can I integrate MCP with my existing HTTP server?
Set integrateWithHttp: true in the MCP config. MCP routes will be added to the same HTTP server port.
How do I define a tool for LLMs?
Use the @MCPTool(name, schema) decorator on a method. The schema uses Zod to define parameters, and the method returns a response object.
Is there a health check endpoint?
Yes, GET /mcp/health returns server health status. Also GET /mcp/tools lists available tools.