- Explore MCP Servers
- elysia-mcp-starter
Elysia Mcp Starter
Overview
What is Elysia Mcp Starter
elysia-mcp-starter is a starter template designed for building MCP (Model Context Protocol) servers using the Elysia framework and Bun runtime. It provides a foundational structure for developers to create servers that can interact with LLM clients.
Use cases
Use cases for elysia-mcp-starter include building tools like calculators for LLMs, creating greeting prompts for user interactions, and accessing dynamic resources like news feeds.
How to use
To use elysia-mcp-starter, you can either create a new project using the Bun Create command or clone the repository directly. After setting up the project, install the necessary dependencies and start the development server using Bun commands.
Key features
Key features of elysia-mcp-starter include integration with the Model Context Protocol, support for HTTP transport, reusable prompt templates, callable functions for LLMs, and dynamic data sources.
Where to use
elysia-mcp-starter can be used in various fields where LLM clients are involved, such as AI applications, chatbots, and any system requiring interaction with dynamic data sources and reusable prompts.
Content
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
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 file
Getting 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 dev
Option 2: Clone Repository
-
Clone or use this template:
git clone https://github.com/kerlos/elysia-mcp-starter.git cd elysia-mcp-starter
-
Install dependencies:
bun install
-
Start the development server:
bun run dev
The MCP server will be available at:
- Server:
http://localhost:3000
- MCP endpoint:
http://localhost:3000/mcp
Development
- Development server:
bun run dev
(with auto-reload) - Production server:
bun run start
- Inspect 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 (~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"elysia-mcp-starter": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}
For Cursor (~/.cursor/mcp.json
):
{
"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.