xmcp是一个基于TypeScript的开发框架,专为构建和发布MCP(Model Context Protocol)应用设计。它简化了开发流程,让开发者能快速创建高效的工具并部署到MCP生态系统中。xmcp注重开发者体验,提供文件系统路由、热重载和灵活的中间件支持。无论是新手还是专业开发者,都能通过其直观的配置和自动化工具快速上手。它支持Vercel等平台,部署简单且兼容性强。官方网站提供详细文档,适合想探索MCP开发的开发者使用。
功能列表
- 自动注册工具:从
tools
目录自动发现并注册工具文件。 - 文件系统路由:基于文件结构的路由管理,简化开发。
- 热重载:代码改动后即时反馈,提升开发效率。
- 中间件支持:提供认证和自定义中间件,增强功能扩展。
- 灵活配置:通过
xmcp.config.ts
自定义MCP服务器设置。 - 跨平台部署:支持Vercel等平台,部署简单且兼容性强。
- Next.js和Express适配器:无缝集成现有项目。
- 官方文档支持:提供详细的开发和部署指南。
使用帮助
安装流程
xmcp的安装过程简单,适合Windows、macOS和Linux系统。以下是详细步骤:
- 安装Node.js
确保系统已安装Node.js(建议版本18或更高)。访问Node.js官网下载并安装。安装后,运行以下命令检查版本:node -v npm -v
- 创建项目
在终端中选择一个目录,运行以下命令初始化xmcp项目:npx create-xmcp@latest my-project
命令会生成一个名为
my-project
的项目文件夹,包含以下结构:my-project/ ├── src/ │ ├── middleware.ts # 中间件处理HTTP请求/响应 │ └── tools/ # 工具文件自动注册 │ ├── greet.ts │ ├── search.ts ├── dist/ # 编译输出目录 ├── package.json ├── tsconfig.json └── xmcp.config.ts # xmcp配置文件
- 安装依赖
进入项目目录并安装依赖:cd my-project npm install
- 启动开发服务器
运行以下命令启动本地开发服务器:npm run dev
服务器默认运行在
http://localhost:3000
。打开浏览器访问即可查看应用。热重载功能会实时反映代码更改。
主要功能操作
1. 创建工具
xmcp通过tools
目录自动注册工具。开发者只需在src/tools/
下创建TypeScript文件。例如,创建一个问候工具greet.ts
:
export default {
name: "greet",
description: "Returns a greeting message",
async handler(input: string) {
return `Hello, ${input}!`;
},
};
保存后,工具会自动注册,无需手动配置。访问http://localhost:3000/mcp?name=greet
即可调用。
2. 配置中间件
中间件用于处理HTTP请求和响应,例如认证或日志记录。在src/middleware.ts
中定义中间件:
import { Middleware } from "xmcp";
export default function authMiddleware(): Middleware {
return async (req, res, next) => {
const authHeader = req.headers.authorization;
if (!authHeader) {
res.status(401).json({ error: "Unauthorized" });
return;
}
await next();
};
}
中间件会在请求处理前运行,适合添加自定义逻辑。
3. 自定义配置
通过xmcp.config.ts
调整服务器设置,例如端口或工具目录:
import { defineConfig } from "xmcp";
export default defineConfig({
port: 3001,
toolsDir: "src/tools",
middleware: ["authMiddleware"],
});
修改后重启服务器以应用配置。
4. 部署到Vercel
xmcp支持Vercel一键部署。确保项目已推送到GitHub仓库,然后:
- 登录Vercel官网,连接GitHub仓库。
- 选择xmcp项目,Vercel会自动检测配置。
- 点击“Deploy”按钮,等待部署完成。
部署成功后,Vercel会提供一个公开URL,例如https://my-project.vercel.app
。
特色功能操作
热重载
在开发模式下,修改tools
目录中的文件会触发自动重载。无需手动重启服务器,适合快速迭代。例如,编辑greet.ts
中的返回消息,保存后立即在浏览器中看到更新。
文件系统路由
xmcp根据tools
目录结构自动生成路由。例如,src/tools/search.ts
会生成/mcp?name=search
的路由。开发者无需手动配置路由表,简化了管理。
Next.js集成
若已有Next.js项目,可通过适配器集成xmcp。在Next.js项目中安装xmcp:
npm install xmcp
然后在pages/api/mcp.ts
中添加:
import { createMcpHandler } from "xmcp/next";
export default createMcpHandler({
toolsDir: "src/tools",
});
重启Next.js应用,xmcp功能即可在/api/mcp
路径下使用。
应用场景
- 快速原型开发
开发者可利用xmcp的热重载和文件系统路由,快速构建MCP工具原型。例如,开发一个搜索工具,只需在tools
目录添加search.ts
,几分钟内即可测试功能。 - API服务开发
xmcp适合开发基于MCP的API服务。通过中间件实现认证和日志,结合Vercel部署,适合为移动或Web应用提供后端支持。 - 现有项目集成
对于已有Next.js或Express项目,xmcp的适配器可无缝集成。开发者无需重构现有代码即可添加MCP功能。 - 教育和学习
新手开发者可通过xmcp学习TypeScript和MCP开发。其直观的配置和文档降低了学习门槛,适合初学者实践。
QA
- xmcp支持哪些编程语言?
xmcp主要使用TypeScript开发,但生成的MCP应用可通过HTTP调用,兼容任何支持HTTP的语言。 - 如何调试工具?
在开发模式下,运行npm run dev
,查看终端控制台日志。工具执行错误会详细输出,方便定位问题。 - 是否支持多用户认证?
是的,可通过中间件实现多用户认证。开发者需在middleware.ts
中实现认证逻辑,例如检查JWT。 - 部署到非Vercel平台可行吗?
可行。xmcp支持跨平台部署,只需将编译后的dist
目录上传到支持Node.js的平台,如AWS或Heroku。