使用Elysia和Bun运行时构建MCP(模型上下文协议)服务器的起始模板。
此起始模板基于elysia-mcp插件,该插件提供了全面的ElysiaJS集成,支持HTTP传输的模型上下文协议。
此仓库提供了一个创建可与Claude Desktop、Cody或其他兼容MCP的应用程序一起使用的MCP服务器的基础。它展示了如何实现:
elysia-mcp-starter/
├── src/
│ ├── index.ts # 主应用程序入口点
│ ├── tools/ # MCP工具(可由LLMs调用的函数)
│ │ └── calculate.ts # 示例计算器工具
│ ├── prompts/ # MCP提示模板
│ │ └── hello.ts # 示例问候提示
│ └── resources/ # MCP资源(动态数据源)
│ └── news.ts # 示例新闻资源
├── package.json # 项目依赖项和脚本
├── tsconfig.json # TypeScript配置
└── README.md # 此文件
# 从起始模板创建新项目
bun create https://github.com/kerlos/elysia-mcp-starter my-mcp-project
# 导航到项目
cd my-mcp-project
# 安装依赖项
bun install
# 启动开发服务器
bun run dev
克隆或使用此模板:
git clone https://github.com/kerlos/elysia-mcp-starter.git
cd elysia-mcp-starter
安装依赖项:
bun install
启动开发服务器:
bun run dev
MCP服务器将在以下地址可用:
http://localhost:3000http://localhost:3300/mcpbun run dev(带自动重新加载)bun run startbun run inspect(打开MCP检查器)在src/tools/中添加新的工具,并在src/index.ts中注册它们:
import { registerYourTool } from './tools/your-tool';
// ... 在setupServer中:
registerYourTool(server);
在src/prompts/中添加新的提示,并在src/index.ts中注册它们:
import { registerYourPrompt } from './prompts/your-prompt';
// ... 在setupServer中:
registerYourPrompt(server);
在src/resources/中添加新的资源,并在src/index.ts中注册它们:
import { registerYourResource } from './resources/your-resource';
// ... 在setupServer中:
registerYourResource(server);
配置您的兼容MCP客户端连接到http://localhost:3000/mcp以访问此服务器提供的工具、提示和资源。
在您的MCP客户端配置文件中添加以下配置:
对于Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"elysia-mcp-starter": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}
对于Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"elysia-mcp-starter": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}
对于Cody(VS Code设置):
{
"cody.experimental.mcp.servers": {
"elysia-mcp-starter": {
"type": "http",
"url": "http://localhost:3000/mcp"
}
}
}
将"elysia-mcp-starter"替换为您首选的服务器名称,并根据需要更新URL。
本项目采用MIT许可证——详情见LICENSE文件。