FastMCP: فریمورک TypeScript برای ساخت سرور MCP
خلاصهٔ کاملتر
FastMCP یه فریمورک TypeScript هست که روی SDK رسمی MCP ساخته شده و هدفش اینه که فرآیند ساخت سرورهای MCP (Model Context Protocol) رو تا حد ممکن ساده کنه. اگه تا حالا با SDK رسمی کار کرده باشی، میدونی که باید خودت همه چیز رو از صفر راهاندازی کنی؛ از تنظیم کامپوننتهای سرور گرفته تا مدیریت اتصالها، ابزارها، منابع و پاسخها. FastMCP این همه دردسر رو حذف میکنه.
با FastMCP میتونی خیلی سریع یه سرور MCP کارکردار بسازی. به عنوان مثال، ساخت یه ابزار ساده برای جمع دو عدد اینقدر کوتاهه:
import { FastMCP } from "fastmcp";
import { z } from "zod";
const server = new FastMCP({
name: "My Server",
version: "1.0.0",
});
server.addTool({
name: "add",
description: "Add two numbers",
parameters: z.object({
a: z.number(),
b: z.number(),
}),
execute: async (args) => {
return String(args.a + args.b);
},
});
server.start({ transportType: "stdio" });یکی از قابلیتهای مهم FastMCP پشتیبانی از HTTP Streaming هست که یه آلترناتیو کارآمدتر نسبت به SSE سنتی محسوب میشه. میتونی سرور رو روی یه پورت مشخص راه بندازی و هم از HTTP Streaming و هم از SSE استفاده کنی:
server.start({
transportType: "httpStream",
httpStream: {
port: 8080,
},
});FastMCP از HTTPS هم پشتیبانی میکنه و میتونی گواهی SSL رو مستقیم بهش بدی. این برای محیطهای production که نیاز به ارتباط امن دارن خیلی مهمه.
یه قابلیت جذاب دیگه اینه که میتونی مسیرهای HTTP سفارشی هم تعریف کنی. یعنی کنار سرور MCP خودت، یه REST API یا webhook handler هم داشته باشی؛ همه توی یه پروسه:
server.addRoute("GET", "/api/users/:id", async (req, res) => {
res.json({ userId: req.params.id });
});
server.addRoute("POST", "/webhook/github", async (req, res) => {
const payload = await req.json();
res.json({ received: true });
});این مسیرها به صورت پیشفرض نیاز به احراز هویت دارن، ولی میتونی با آپشن { public: true } بعضیهاشون رو عمومی کنی؛ مثلاً برای endpoint های OAuth یا health check.
FastMCP همچنین از Edge Runtime هایی مثل Cloudflare Workers و Deno Deploy پشتیبانی میکنه. این یعنی میتونی سرور MCP خودت رو در لبه شبکه deploy کنی و با تأخیر خیلی کمتری به کاربرها سرویس بدی.
از دیگر قابلیتهای این فریمورک میشه به مدیریت Session و Request ID، پشتیبانی از محتوای تصویر و صوت، Streaming خروجی، تکمیل خودکار آرگومانهای Prompt، اعلانهای پیشرفت، CORS داخلی و حالت Stateless برای محیطهای serverless اشاره کرد.
در مقایسه با SDK رسمی، FastMCP وقتی انتخاب درسته که بخوای سریع به نتیجه برسی و نیازی به کنترل جزئیات سطح پایین نداری. اما اگه معماری خاصی داری یا کنترل کامل میخوای، SDK رسمی گزینه بهتریه — هرچند تیم FastMCP پیشنهاد میده که حتی در اون صورت هم کدهای FastMCP رو به عنوان مرجع ببینی تا از اشتباهات رایج دوری کنی.
نکات کلیدی:
- FastMCP یه فریمورک TypeScript برای ساخت سریع سرورهای MCP هست و روی SDK رسمی بنا شده
- همه کارهای boilerplate رو خودش مدیریت میکنه و API سادهای برای تعریف ابزار، منبع و Prompt ارائه میده
- از HTTP Streaming، SSE، HTTPS و احراز هویت به صورت داخلی پشتیبانی میکنه
- میتونی مسیرهای HTTP سفارشی (REST API، webhook و...) کنار سرور MCP تعریف کنی
- از Edge Runtime هایی مثل Cloudflare Workers پشتیبانی میکنه
- حالت Stateless برای استقرار در محیطهای serverless وجود داره
- برای تست و دیباگ، یه CLI داخلی داره که استفاده ازش سادهست




