FastMCP 是一个用于快速开发 MCP(模型上下文协议)服务器的 TypeScript 框架。它简化了与各种 LLM 的集成,通过直观的 API 和中间件系统,让开发者能快速构建自定义 MCP 服务,还支持多种高级功能。
npm install fastmcp --save
your-project/
├── package.json
├── tsconfig.json
└── src/
└── server.ts
在 tsconfig.json
中添加以下内容以启用 TypeScript 支持:
{
"compilerOptions": {
"target": "ES6",
"module": "CommonJS"
}
}
ts-node src/server.ts
要开始使用 FastMCP,请按照以下步骤进行安装:
npm install fastmcp --save
server.ts
文件并添加代码import { createServer } from 'fastmcp';
const server = createServer();
// 添加自定义路由
server.get('/ping', (req, res) => {
res.send('pong');
});
server.start(3000);
ts-node server.ts
以下是一个简单的示例,展示了如何创建一个基本的 MCP 服务器:
import { createServer } from 'fastmcp';
const server = createServer();
// 处理根路径请求
server.get('/', (req, res) => {
res.send('Welcome to FastMCP Server!');
});
// 启动服务器
server.start(3000);
import { createServer, Middleware } from 'fastmcp';
const server = createServer();
// 创建一个简单的中间件
const loggerMiddleware: Middleware = (req, res, next) => {
console.log('请求开始:', req.url);
next();
};
// 将中间件应用到所有请求
server.use(loggerMiddleware);
server.get('/', (req, res) => {
res.send('Hello World!');
});
server.start(3000);
import { createServer } from 'fastmcp';
const server = createServer();
// 定义路由处理不同请求类型
server.get('/api/data', (req, res) => {
// 返回 JSON 数据
res.json({ message: '数据获取成功!' });
});
server.post('/api/upload', async (req, res) => {
// 处理文件上传
const uploadedFile = await req.file();
res.send(`文件 ${uploadedFile.name} 成功上传!`);
});
server.start(3001);
FastMCP 提供了详细的文档和示例,帮助你快速上手并掌握高级功能。访问 FastMCP 官方网站 查看完整文档。
Server
类start(port: number)
:启动服务器,指定要监听的端口。get(path: string, handler: (req, res) => void)
:添加一个新的 GET 路由。post(path: string, handler: (req, res) => void)
:添加一个新的 POST 路由。Middleware
type Middleware = (
req: Request,
res: Response,
next: () => void
) => void;
FastMCP 允许你创建自定义中间件来扩展服务器功能:
import { createServer, Middleware } from 'fastmcp';
const server = createServer();
// 自定义日志记录中间件
const logger: Middleware = (req, res, next) => {
console.log(`收到请求:${req.method} ${req.url}`);
next();
};
server.use(logger);
server.get('/', (req, res) => {
res.send('Hello World!');
});
server.start(3002);
FastMCP 的插件系统允许你快速扩展服务器功能。例如,添加身份验证、日志记录等:
import { createServer } from 'fastmcp';
import { cors } from 'fastmcp/plugins/cors';
const server = createServer();
// 启用 CORS 插件
server.use(cors());
server.get('/api/test', (req, res) => {
res.send('CORS 已启用!');
});
server.start(3003);
你可以使用中间件来捕获和处理错误:
import { createServer, Middleware } from 'fastmcp';
const server = createServer();
// 错误处理中间件
const errorHandler: Middleware = (req, res, next) => {
try {
next();
} catch (err) {
console.error('发生错误:', err);
res.status(500).send('服务器内部错误');
}
};
server.use(errorHandler);
server.get('/test/error', () => {
throw new Error('测试错误处理');
});
server.start(3004);
通过 FastMCP,你可以快速构建高效、可靠且易于扩展的 MCP 服务器。开始你的项目吧!