Provides the runtime environment for the MCP server, enabling high-performance JavaScript/TypeScript execution
Enables project creation directly from the GitHub template repository via 'bun create' command
Provides type-safe development environment for creating MCP components including tools, prompts, and resources
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Elysia MCP Startercalculate 15 * 3 + 7"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Elysia MCP Starter
A starter template for building MCP (Model Context Protocol) servers using Elysia and Bun runtime.
This starter template is based on the elysia-mcp plugin, which provides comprehensive ElysiaJS integration for the Model Context Protocol with HTTP transport support.
Purpose
This repository provides a foundation for creating MCP servers that can be used with LLM clients like Claude Desktop, Cody, or other MCP-compatible applications. It demonstrates how to implement:
Tools: Functions that can be called by LLMs (e.g., calculator)
Prompts: Reusable prompt templates
Resources: Dynamic data sources that can be accessed by LLMs
Related MCP server: MCP Server Template
Directory Structure
elysia-mcp-starter/
├── src/
│ ├── index.ts # Main application entry point
│ ├── tools/ # MCP tools (functions callable by LLMs)
│ │ └── calculate.ts # Example calculator tool
│ ├── prompts/ # MCP prompt templates
│ │ └── hello.ts # Example greeting prompt
│ └── resources/ # MCP resources (dynamic data sources)
│ └── news.ts # Example news resource
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This fileGetting Started
Option 1: Using Bun Create (Recommended)
# Create a new project from the starter template
bun create https://github.com/kerlos/elysia-mcp-starter my-mcp-project
# Navigate to the project
cd my-mcp-project
# Install dependencies
bun install
# Start development server
bun run devOption 2: Clone Repository
Clone or use this template:
git clone https://github.com/kerlos/elysia-mcp-starter.git cd elysia-mcp-starterInstall dependencies:
bun installStart the development server:
bun run dev
The MCP server will be available at:
Server:
http://localhost:3000MCP endpoint:
http://localhost:3000/mcp
Development
Development server:
bun run dev(with auto-reload)Production server:
bun run startInspect MCP server:
bun run inspect(opens MCP inspector)
Adding New Components
Tools
Add new tools in src/tools/ and register them in src/index.ts:
import { registerYourTool } from './tools/your-tool';
// ... in setupServer:
registerYourTool(server);Prompts
Add new prompts in src/prompts/ and register them in src/index.ts:
import { registerYourPrompt } from './prompts/your-prompt';
// ... in setupServer:
registerYourPrompt(server);Resources
Add new resources in src/resources/ and register them in src/index.ts:
import { registerYourResource } from './resources/your-resource';
// ... in setupServer:
registerYourResource(server);Using with LLM Clients
Configure your MCP-compatible client to connect to http://localhost:3000/mcp to access the tools, prompts, and resources provided by this server.
MCP Client Configuration
Add the following configuration to your MCP client's configuration file:
For Claude Desktop (
{
"mcpServers": {
"elysia-mcp-starter": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}For Cursor (
{
"mcpServers": {
"elysia-mcp-starter": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}For Cody (VS Code settings):
{
"cody.experimental.mcp.servers": {
"elysia-mcp-starter": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}Replace "elysia-mcp-starter" with your preferred server name and update the URL if you're running on a different port.
License
This project is licensed under the MIT License - see the LICENSE file for details.