easy-mcp - MCP服务,MCP服务器,MCP教程

基本能力

产品定位

EasyMCP 旨在简化 MCP 服务器的创建过程,特别适合需要快速开发和部署 MCP 服务的 TypeScript 开发者。

核心功能

  • 简单 Express 风格 API:提供类似 ExpressJS 的高层 API,用于定义工具、提示、资源和根目录。
  • 实验性装饰器 API:自动推断工具、提示和资源的参数,减少样板代码。
  • 上下文对象:通过上下文对象访问 MCP 功能,如日志记录和进度报告。
  • 优秀的类型安全:提升开发体验,减少运行时错误。

适用场景

  • 快速构建 MCP 服务器原型。
  • 需要高度类型安全的 MCP 服务开发。
  • 希望通过装饰器简化代码的项目。

工具列表

  • Tool:定义工具,可以接受参数并返回结果。
  • Resource:定义资源或资源模板。
  • Prompt:定义提示,用于生成动态内容。
  • Root:定义根目录,用于组织资源。

常见问题解答

  • Beta 限制:目前不支持 MCP 采样、SSE 和资源更新通知。
  • 装饰器 API 稳定性:实验性功能,可能存在未发现的错误或未来变更。

使用教程

使用依赖

安装 EasyMCP 前,请确保已安装 Bun 运行时环境。

安装教程

在项目目录中运行以下命令安装 EasyMCP:
bash
bun install

调试方式

安装完成后,可以通过以下命令启动示例服务器进行调试:
bash
bun start:decorators


bash
bun start:express

Express-Like API 示例

```typescript
import EasyMCP from "easy-mcp";

const mcp = EasyMCP.create("my-mcp-server", {
version: "0.1.0",
});

mcp.tool({
name: "greet",
description: "Greets a person",
inputs: [
{
name: "name",
type: "string",
description: "The name to greet",
required: true,
},
],
fn: async ({ name }) => {
return Hello, ${name}!;
},
});

mcp.serve().catch(console.error);
```

装饰器 API 示例

```typescript
import EasyMCP from "./lib/EasyMCP";
import { Tool, Resource, Prompt } from "./lib/experimental/decorators";

class MyMCP extends EasyMCP {
@Resource("greeting/{name}")
getGreeting(name: string) {
return Hello, ${name}!;
}

@Prompt()
greetingPrompt(name: string) {
return Generate a greeting for ${name}.;
}

@Tool()
greet(name: string, optionalContextFromServer: Context) {
optionalContextFromServer.info(Greeting ${name});
return Hello, ${name}!;
}
}

const mcp = new MyMCP({ version: "1.0.0" });
```

点击访问

搜索工具

Model Context Protocol (MCP) Server for the RAG Web Browser Actor 🌐 - MCP服务,MCP服务器,MCP教程

2025-4-29 12:11:03

搜索工具

Figma MCP Server - MCP服务,MCP服务器,MCP教程

2025-4-29 12:11:11

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索