MCP ExplorerExplorer

Elysia Mcp Starter

@kerloson 11 days ago
3 MIT
FreeCommunity
AI Systems
#elysia#mcp#modelcontextprotocol
A starter template for building MCP (Model Context Protocol) servers using Elysia and Bun runtime.

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

  1. Clone or use this template:

    git clone https://github.com/kerlos/elysia-mcp-starter.git
    cd elysia-mcp-starter
    
  2. Install dependencies:

    bun install
    
  3. 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.

Tools

No tools

Comments